|
Post by nuihc88 on Mar 24, 2021 16:03:33 GMT
I have two Asus eeePCs: 1005HA-H & 1005P with very small 1024x600px display resolutions, yet years ago found using them comfortable on Linux with a now ancient window manager called Maximus, the main selling point of which was launching all windows maximized with window decorations disabled (or optionally enabled in later forks). Currently Moksha appears to be missing this kind of functionality, thus having a much less fluent user experience on such devices, which is made even worse during initial configuration phase by Moksha's various GUI bugs.
I spent several days looking for ways to get similar behavior with Moksha, but wasn't able to figure out how to do it or even make Moksha remember window locations and maximized state of programs consistently, despite seeing options that seemed related to those functionalities in 'Desktop-menu > Settings Panel > Windows >' & 'Right-click menu on Window borders >' then 'Locks' & 'Remember'.
Furthermore: 1. Every time i launch the 'Settings Panel' from desktop, the window that pops up is a tiny, maybe 240x240px sized block, that's often (randomly) missing it's window decorations (borders) thus requiring me to restart Moksha to to continue with configuration; similar thing also happens with 'Modules' & 'Shelves', etc. 2. While trying to extract contents from an archive in 'PCManFM > Right-click menu > Extract To...' the window that initially pops up is way bigger than the screen, although i was eventually able to get that one to remember it's size and position i had to set it about a dozen times before the setting stuck. 3. After selecting 'Desktop-menu > Quick Launcher', what pops up is halfway off sceen with no borders and can't be moved or resized even with Alt+Drag, let alone used.
All of the above is made even worse by changes in 'Settings Panel' & 'Modules' not always sticking the first time around, thereby leading to lots and lots of unnecessary clicking just to resize every window several times in in a row in what during initial setup seems like an endless loop...
The simplest way to get around all of these sorts of issues would be to recreate Maximus' borderless maximization functionality in Moksha.
Additionally offering a choice of maximization state (not maximized, maximized, borderless, decorationless) for each window type (window, dialog, etc.) separately and allowing setting maximum and minimum allowed sizes and alignment (top-right, center, etc.) would be even better.
|
|
enigma9o7
Crew Member
 
Posts: 1,057
Likes: 1,112
|
Post by enigma9o7 on Mar 24, 2021 16:28:50 GMT
Welcome to Moksha.
Note "Quick Launcher" and "Everything Starter" and both terms moksha uses for that menu, you can also get with Alt+Esc or Win+Space.
From user side, there's a few things I can suggest that might resolve #1 & #3, and sounds like you already solved #2 (which usually sticks the first time, this is common issue on first time opening file select dialog).
If things aren't already too small, you could reduce scale factor to fit more on the screen. (Settings Panel/Look/Scaling)
You can resize settings panel as normal (by dragging window corner, or resize from border icon). It will remember new size without any additional remember settings being required. (Bodhi 6 will bump default size to 600x500, thank the_waiter)
You can get borders on the everything starter with F1.
You can set its starting position and size in Settings Panel/Launchers/Everything Starter config.
|
|
|
Post by Hippytaff on Mar 24, 2021 16:29:24 GMT
Hi nuihc88 I have found that initially windows sometimes open in annoying ways and positions, but once I correct them they usually stick (with a few exceptions). But I am wondering whether a tiling setting would be more suited to your needs. Just a thought. As to your suggestions, the devs will need to reply to that, but we have a few members who are much better with moksha and resolutions and graphics related issues than me that could probably assist with some of the issues you are experiencing, that will probably chime in when time zones allow.  EDIT - I was actually referring to enigma...but yeah lmao
|
|
|
Post by nuihc88 on Mar 24, 2021 23:54:24 GMT
I was able to solve this one thanks to the screenshot. Based on the values, odds are i accidentally caused this one myself while trying to solve some other problem... For some reason window positions and sizes seem to not stick very often for me, for example 'Terminology' & 'Sakura' both start in their default sizes every time, even though i've resized both over a dozen times per session, while waiting for the commands to run. Occasionally i end up getting them in inconsistent states (such as spontaneously showing up as 'Borderless' or only showing up on Tasks with no visible window, etc.) while experimenting with Window > 'Maximize', 'Locks' & 'Remember' and then i only get things working again after unticking everything under 'Window > Remember' and relaunching. I can only guess that this inconsistent behavior is caused by some kind of race condition within Moksha's code, in which case the only solution would be to just keep trying the same thing over and over again while hoping for a different result... It's barely legible with standard font sizes and 1.20 Scaling. I suppose i could reduce the border sizes with this and then increase the default font size to compensate, but i suspect that would make most icons too small to see and cause/highlight more problems than it would solve. Also, resizing the settings panel is just totally broken for me on Bodhi 5.1 legacy even after running 'sudo apt-get update && sudo apt-get dist-upgrade' & rebooting multiple times. The window decorations only seem to show up on the first launch, after which i have to Restart Moksha from Desktop-menu to get them back to try again.
I tried it a while back but couldn't seem to get tiling working on Moksha for some reason... I have also experimented with tiling window managers like i3 on an eeePC before and while the user experience wasn't bad, 1024x600px resolution can't really benefit much from tiling in general.
Anyway, the list of examples above is far from exhaustive and going around solving each and every one of these types of problems individually will take days for the end user with each new installation and probably several times longer for a developer to fix; Whereas universal window maximization functionality could easily work around all of these issues with minimal intervention from either.
|
|
enigma9o7
Crew Member
 
Posts: 1,057
Likes: 1,112
|
Post by enigma9o7 on Mar 25, 2021 2:35:38 GMT
Ya, but fixing existing stuff to work the way it's supposed to would benefit everyone. Adding a whole new window manager mode, far less likely to happen and one more thing to go wrong. I have some of the same issues as you and have just learned to deal with them. That's just the way Moksha is. And it'll take more than a few days to get familiar. I only learned the F1 for everything starter borders this week, coincidentally a few days before you brought it up, and I've been using bodhi for years... But, if there is a specific problem you can describe clearly that you really want fixed, and a way to repeat it and test it, etc, maybe one of the two bodhi developers will solve it for you. For example, terminology. I've never had problem with it. I have set it to remember size and position before, and it does so. Note to do this, make sure no other terminology windows are open when you close the one you set to remember. Also note you'll find this very annoying cuz every terminal opens on top of the last one  But if you can describe what the actual problem is, maybe we can figure out if there's a way for you as a user to do somethign differently, or if there's a bug we can request to get fixed... Bodhi is supposed to be usable at 800x600 and you've got a little more real estate than that...
Also note, you can reset most things back to default from Settings Panel / Settings / Profile if you want to start over.
|
|
|
Post by thewaiter on Mar 25, 2021 11:11:58 GMT
OK
Some today's research: The off screen issue is not related to Moksha desktop but GTK3 filechooser dialog. It is a common issue I found on many threads on Internet. I also contacted devs on gtk IRC chat and I got an answer:
"The initial dialog size is computed from its content, unless a different size is imposed by the application or by the settings"
This is the command to get filechooser size: gsettings get org.gtk.Settings.FileChooser window-size
This is the command to set filechooser size: gsettings set org.gtk.Settings.FileChooser window-size '(800,600)'
Now a homework for Ylee: How to add this command to ISO to be applied after Bodhi install...
Stefan
|
|
|
Post by ylee on Mar 25, 2021 16:44:45 GMT
I can create a custom dconf file and put it in /etc/skel. That is add it to the bodhi-skel package. This will only affect new users and fresh installs on the upcoming ISO.
BTW the easiest way to edit all these dconf settings is to dump all the info to a text file and then edit and reload.
You need to make sure dconf-cli is installed and most likely it is not by default.
|
|
|
Post by thewaiter on Mar 25, 2021 17:42:58 GMT
Sounds good 
|
|
|
Post by nuihc88 on Mar 25, 2021 20:36:46 GMT
i'm certainly not opposed to having every Moksha bug fixed, but that could potentially take long enough for my 32bit hardware to be totally obsolete at that point; depends on what the pace of development is going to be going forward...
Potentially the most basic version of what i'm suggesting could be implemented just by fixing the broken 'Remember'-dialog behavior so that users can simply go to 'Window Remember'-dialog and tick 'Transience' in 'Identifiers'-tab & 'Position' & 'Size' in 'Properties'-tab to get the behavior i'm describing and for convenience adding a separate universal 'Auto Maximize' override with a shortcut next to 'Desktop menu > Settings > Mode > 'Presentation'.
For the more advanced configuration that i'm suggesting the list of required changes would basically be something like this: 1. Extra input fields for minimum and maximum 'Position' & 'Size' under 'Properties'-tab and a third state for the corresponding checkboxes on the 'Window Remember'-dialog. 2. An extra tab for 'Auto Maximize' Mode on the 'Window Remember'-dialog (basically a simplified version of the 'Properties'-tab with optional 'window decoration' type selection on per 'Window type' basis.). 3. Additional 'window decoration' options along the lines of: Ignore (off), Maximized (default), Edgeless(no border, but with titlebars), Borderless (without borders and titlebars), Fullscreen to dropdown-menu on 'Auto Maximize'-tab. 4. Under the hood mechanism for setting minimum and maximum window sizes and positions when the Properties-tabs checkboxes are on their third state and corresponding input fields are set to non-zero values. 5. While 'Auto Maximize' Mode is off, cap the maximum input for 'Size' & 'Position' to the sum of resolutions of all detected displays. 6. While 'Auto Maximize' Mode is on, use current display's resolution as the universal minimum and maximum.
Sure, since i'm new to Moksha i don't always know the best ways to do things, but the window management behavior is just so badly broken and inconsistent right know that despite already liking everything Bodhi has to offer, i'm still considering switching to MicroWatt or Mint every time i actually need to get something done and instead end up facing an endless barrage of bugs, such as this: For a while today i thought i got 'Remember' to stick for Sakura & Terminology, but after rebooting i was once again back to where i started; After retracing my exact steps from before by ticking: 'Window type', 'Transience', 'Position', 'Size' & 'Keep current properties' and then restarting Sakura to untick 'Keep current properties' & 'Window type' as that is what worked until reboot the last time, i instead ended up with no visible window & ticked 'Borderless' box in the Right-click menu and it doesn't go away even after being clicked 3 times. After that i used 'Window > Maximize > Fullscreen' to get it temporarily visible again, at which point 'Fullscreen' box still wasn't showing up as ticked and when i then tried to tick/untick the Fullscreen box again the window became effectively stuck in 'Always on Top' mode despite the box for that remaining unticked, at which point i had to close Sakura from it's right-click menu before being able to do anything else; after which i even had trouble with unticking of the boxes in 'Window Remember'-dialog not sticking after Apply... ...So about an hour later i was once again right back to where i started.
I guess the above behavior should be fairly easily reproducible given that i've seen most of it on two eeePCs (32bit N280 with 5.1 legacy & 64bit N450 with 6.0 pre-alpha), although it all seems more frequent on 32bit. If my hunch about settings not sticking being a race condition bug is correct, then i guess having a single core CPU with hyper-threading might be a factor in reproducibility.
...and speaking of reproducibility, i just noticed that having 'Settings Panel > Windows > Window Geometry > Maximization >' 'Policy' set to 'Fullscreen' seems to be a major factor in reproducing the issue with 'Settings Panel', etc. loading up without window decorations.
I generally don't have multiple instances of any program running while attempting to alter it's behavior, as it would be difficult to keep track of the instances and the only way for me to know if a setting really sticks is to reboot, so it's not like i'd have the chance to compile stuff anyway.
Personally i prefer to just use multiple tabs in most programs that support them and Alt+Tab for switching between windows.
I'll try to describe the steps to reproduce the problems as i discover them, but most of it seems totally random or just happens constantly even with fresh profiles.
While i do occasionally try setting up new profiles, i'm reluctant to try resetting all the profiles very often unless i know for sure how to reproduce the desired behaviors i've stumbled across along the way or am already reinstalling Bodhi from scratch anyway, which i might do on the 64bit one tomorrow.
Additionally, here's a tweak i found for a more desirable behavior for low resolution devices, which i also believe would be a better default setting: Tick the box at 'Desktop menu > Settings > Settings Panel > Menus > Menu settings > Miscellaneous > Smart Menu Orientation'.
|
|
enigma9o7
Crew Member
 
Posts: 1,057
Likes: 1,112
|
Post by enigma9o7 on Mar 25, 2021 20:49:18 GMT
Too many words and all over the place. This is worst than your first message. I see at the end you mention something happens constantly even with fresh profile. I suggest start a new thread describing the one problem you think is important that is easily repeatable with fresh profile. Give someone a chance to explain to you how to deal with it or developers to confirm if its a bug and decide if they want to fix it. Yes, this may take years to get perfect. They've already been working on in many years in fact... It's not like you're the first person ever to notice this stuff. So my suggestion is prioritize, don't whine about things you can avoid or easily workaroud. I bet half your issues are usage, cuz you've only been using it a short time, dunno how to use it all how to deal with all its quirks. But a long message mentioning lotsa of tiny things all mixed up isnt gunna help anything, its just annoying, unless you're volunteering to fix all that.
|
|
|
Post by ylee on Mar 26, 2021 18:29:43 GMT
Ok first of all I am unlocking this thread. For one thing I never commented on it and for another, I don't think it needs to be locked. This is a place for suggestions and nothing really wrong with a user making suggestions such as: I have two Asus eeePCs: 1005HA-H & 1005P with very small 1024x600px display resolutions, yet years ago found using them comfortable on Linux with a now ancient window manager called Maximus, the main selling point of which was launching all windows maximized with window decorations disabled (or optionally enabled in later forks). Currently Moksha appears to be missing this kind of functionality, thus having a much less fluent user experience on such devices, which is made even worse during initial configuration phase by Moksha's various GUI bugs. But at the same time I sort of agree with what enigma said: Too many words and all over the place. ... But a long message mentioning lotsa of tiny things all mixed up isnt gunna help anything, its just annoying, unless you're volunteering to fix all that. So lets make things simple here and address the main feature request quoted above. And state that any of " Moksha's various GUI bugs" noted or suspected by nuihc88 need mentioned separately in a different thread elsewhere. Not everything users suspect of being a bug actually is a bug, sometimes it is user error and sometimes something else. In the case of some apps opening up partially off screen or in some other way not playing well with Moksha window management, esp on small screens, that probably is on the app itself. Moksha is an Xorg window manager and an Xorg program does not have to respect anything "we try to impose" on windows size or placement. In fact an xorg app can completely take over the screen. If a particular app seems problematic feel free to bring it to our attention. Maybe we can do something about it and maybe we can't. If there are settings for that app that can be tweaked for your user case perhaps we can figure it out. If it is a bug with the app itself, most likely all we can do is report it the developers. It may or may not get fixed. Reported a firefox bug over a month ago and it is still sitting there unfixed. If it is actually is a Moksha bug we will take note of it and may or may not fix it promptly. Moksha is a rather complex code base and it depends upon an ever more complex set of libraries that are ever changing and we only have two developers able and willing to try to fix issues or add feature and neither one of use wrote the original code. It is a learn what you need as you go experience for us both. As to Moksha bugs mentioned such as the settings panel " that's often (randomly) missing it's window decorations (borders) thus requiring me to restart Moksha to to continue with configuration; similar thing also happens with 'Modules' & 'Shelves', etc." I have never observed this and can not duplicate it. Problems a developer can not duplicate are the hardest to debug, and may or may not actually be a problem. If you look at github and launchpad issues alot (Like I do) you will see many such issues dismissed by the developer(s). That can be frustrating if for example I am having THAT ISSUE and it was reported by someone else 2 or 3 years ago and dismissed by the developer because it was non-reproducible. So any such issue report in a separate thread. We may or may not get to the bottom of it but we are more likely to notice it if it is not buried in a wall of text and mentioned with a pile of other issues and suggestions.
|
|
|
Post by ylee on Mar 26, 2021 18:54:06 GMT
So as to the actual suggestion here it amounts to a request to implement some ideas from " a now ancient window manager called Maximus" Sounds like an interesting WM, I actually found the source code for it. The specific suggestions for the implementation are laid out in quite a bit of detail: ...Potentially the most basic version of what i'm suggesting could be implemented just by fixing the broken 'Remember'-dialog behavior so that users can simply go to 'Window Remember'-dialog and tick 'Transience' in 'Identifiers'-tab & 'Position' & 'Size' in 'Properties'-tab to get the behavior i'm describing and for convenience adding a separate universal 'Auto Maximize' override with a shortcut next to 'Desktop menu > Settings > Mode > 'Presentation'. For the more advanced configuration that i'm suggesting the list of required changes would basically be something like this: 1. Extra input fields for minimum and maximum 'Position' & 'Size' under 'Properties'-tab and a third state for the corresponding checkboxes on the 'Window Remember'-dialog. 2. An extra tab for 'Auto Maximize' Mode on the 'Window Remember'-dialog (basically a simplified version of the 'Properties'-tab with optional 'window decoration' type selection on per 'Window type' basis.). 3. Additional 'window decoration' options along the lines of: Ignore (off), Maximized (default), Edgeless(no border, but with titlebars), Borderless (without borders and titlebars), Fullscreen to dropdown-menu on 'Auto Maximize'-tab. 4. Under the hood mechanism for setting minimum and maximum window sizes and positions when the Properties-tabs checkboxes are on their third state and corresponding input fields are set to non-zero values. 5. While 'Auto Maximize' Mode is off, cap the maximum input for 'Size' & 'Position' to the sum of resolutions of all detected displays. 6. While 'Auto Maximize' Mode is on, use current display's resolution as the universal minimum and maximum. ... It is step 4 that is issue here: That would take some work and probably research for me. It would in all likelihood be a major change to parts of our code base. So the question is after the release of BL6 do i want to dedicate the next several months to possibly several years to attempting to do this? How high of a priority should I give it given the fact I maintain my own list of KNOWN bugs and feature plans that I attempt to fix as time allows and according to whatever priority Štefan and me give it. What motivation do I have for this? I want to improve moksha for sure but I have alot to consider and most of it is time restraints and a lack of developers to help me. The best I can say is thanks for the suggestion and it has been noted. I will look into it and we will consider it. Don't expect it to happen overnight tho. My major problem is fact the every release of EFL (the libraires Moksha uses) introduces new bugs, issues and problems for us. Far more of my development time goes into that than anything else.
|
|
|
Post by ryenigma on Mar 26, 2021 21:37:18 GMT
I would say that you might want to look at any of the numerous tiling window managers out there that will facilitate what you are looking for. There is xmonad, awesome, qtile, dwm, etc that allow you to setup workspaces that correspond to your what application you are opening and open them there. I3 isn't as flexible as many of those and really isn't what you are wanting. The issue with that is, however, you will need to be able to program the config file to tell it how to do that. Two youtube/lbry people I watch that use tiling managers exclusively are odysee.com/@distrotube:2 or odysee.com/@brodierobertson:5 . I know distro tube has a gitlab repo that he has templates for all the tiling managers and has tons of videos for that. Unfortunately Moksha isn't really designed around workplaces as much as those system are and they already have, what I believe will solve some of your issues.
|
|
|
Post by nuihc88 on Mar 27, 2021 0:42:32 GMT
Just to further clarify, it was never my intention to make this thread about the bugs themselves, but to use them to highlight the importance that the functionality i'm describing would have for new users; whether that is me or someone else, it is at times difficult to stick with a new system that seems broken. I was listing out bugs in response to enigma9o7's doubts about there being a need for the feature by showing a newbies perspective on Moksha.
Everything i wrote about was just what i was seeing at the time while sipping tea, trying out new things and writing my previous response. In my mind i was just having a friendly debate about the need for the new feature, while enigma9o7 saw it all as aimless complaining. These things happen, lets move on...
|
|
|
Post by nuihc88 on Mar 27, 2021 1:11:54 GMT
Anything beyond the basics described in the first paragraph are low priority, as long as everything runs smoothly and reliably i'm not all that particular about how much the implementation differs from my suggestions; steps from 1 to 6 are just extra suggestions for making the implementation more flexible if/when there is a good chance to implement them.
|
|