From: Dima K. <di...@se...> - 2012-12-30 12:00:48
|
Hi all. I'm observing that unlike ion3, notion allows the last workspace to be removed, rendering the window manager useless and requiring me to kill it to regain control. Normally I have keyboard commands set up to make new frames and workspaces, but notion is letting me kill enough of itself to prevent the keys from working. The reason notion is different from ion3 here is this: http://notion.git.sourceforge.net/git/gitweb.cgi?p=notion/notion;a=commit;h=ca77656 Was this really necessary? The comment says "it interferes somewhat with multi-monitor workspace rearrangements", but doesn't go into detail. I do use only a single screen, and at least with that use case that commit is entirely counterproductive. Thanks. dima |
From: Dima K. <no...@di...> - 2012-12-31 05:24:08
|
> On Sun, 30 Dec 2012 04:00:38 -0800 > Dima Kogan <di...@se...> wrote: > > Hi all. > > I'm observing that unlike ion3, notion allows the last workspace to be removed, > rendering the window manager useless and requiring me to kill it to regain > control. Normally I have keyboard commands set up to make new frames and > workspaces, but notion is letting me kill enough of itself to prevent the keys > from working. To be clear, I'm killing frames with the following binding: defbindings("WMPlex", { bdoc("Close current object."), kpress(META.."Delete", "WRegion.rqclose_propagate(_, _sub)"), }) After killing the last visible frame, I get a black screen, but notion is still useable and I can bring the frame back with the keyboard (although it's still needlessly surprising to the user to be able to kill the last frame). At this point the following have been called: tiling_managed_disposeroot() groupws_managed_disposeroot() screen_managed_disposeroot() Now if I press M-delete again, the screen remains black (no visible changes happen), but no useable windows can be brought back. region_managed_disposeroot_default() is called during the second M-delete press. In fact, I can keep pressing M-delete and region_managed_disposeroot_default() keeps being called (it's a no-op). So notion isn't dead, but it's not listening to useful input. Hope this makes it more clear. |
From: Philipp H. <ph...@ph...> - 2013-01-01 22:20:14
Attachments:
dont_close_last_screen.diff
|
Hi, yes, this behavior is not optimal. I don't see a problem with closing all workspaces on a screen, but closing the last screen itself renders Notion unusable. How about the attached patch? Does it fix things for you? Cheers, Philipp |
From: Dima K. <no...@di...> - 2013-01-02 05:51:08
|
> On Tue, 1 Jan 2013 23:20:03 +0100 > Philipp Hartwig <ph...@ph...> wrote: > > Hi, > > yes, this behavior is not optimal. I don't see a problem with closing all > workspaces on a screen, but closing the last screen itself renders Notion > unusable. > > How about the attached patch? Does it fix things for you? Hi Philipp. Thanks for the patch. It appears to do what you intended: the last workspace can be closed, but the last screen can't. This is an improvement, but as a user, I don't feel this is ideal. At least with a single-screen setup, deleting the last workspace is NEVER what I want. Is it ever what a multi-screen user wants? Arnout mentioned that the logic in ion3 had issues in multi-screen setups. Can we fix those issues and keep that logic? Does anybody remember what those issues were? Thanks. dima |
From: Philipp H. <ph...@ph...> - 2013-01-02 10:34:27
Attachments:
last_ws_on_last_scr.diff
|
Hi, the reason we want to be able to remove the last workspace from a screen is the following: if in a multi-screen setup a user turns off a screen, we want to move all workspaces from the disabled screen to the remaining screens. I've attached another patch which preserves the old behavior of Ion3 if there is only a single screen, but is flexible enough for the multi-screen applications I'm aware of. If nobody objects I'll push it. Cheers, Philipp |
From: Dima K. <no...@di...> - 2013-01-03 07:46:56
|
> On Wed, 2 Jan 2013 11:21:19 +0100 > Philipp Hartwig <ph...@ph...> wrote: > > Hi, > > the reason we want to be able to remove the last workspace from a screen is > the following: if in a multi-screen setup a user turns off a screen, we want > to move all workspaces from the disabled screen to the remaining screens. > > I've attached another patch which preserves the old behavior of Ion3 if there > is only a single screen, but is flexible enough for the multi-screen > applications I'm aware of. If nobody objects I'll push it. Thanks Philipp. That looks great. |
From: Philipp H. <ph...@ph...> - 2013-01-03 13:06:31
|
I've pushed both changes as both seem reasonable to me. Without the first one, one could with multiple screens still close all workspaces and then kill all screens, rendering Notion unusable. Cheers, Philipp |