Re: Issue 304 in xmonad: CycleWS should actually track workspace history rather than depending on order of hidden workspaces

Updates: Summary: CycleWS should actually track workspace history rather than depending on order of hidden workspaces Status: Accepted Labels: Type-Enhancement Component-Contrib Comment #2 on issue 304 by byorgey: CycleWS should actually track workspace history rather than depending on order of hidden workspaces http://code.google.com/p/xmonad/issues/detail?id=304 The problem is that toggleWS simply assumes that the "previous workspace" is the one at the head of xmonad's internal list of hidden workspaces. But there are various operations other than switching away from a workspace which will also place it at the head of this list. There is nothing special about scratchpads here; if you shift any window on the current workspace to another workspace, that other workspace will now be the "previous workspace" as far as toggleWS is concerned. The real problem is that the order of workspaces in xmonad's list of hidden workspaces is not really supposed to mean anything, so toggleWS is depending on undefined behavior. The only way to really fix this would be to have CycleWS track the workspace history itself. Here's a sketch of a possible solution: CycleWS could use the new extensible state to track the workspace history, and provide something to put in the logHook that would notify CycleWS every time the current workspace changes. (It would be nicer if putting something in the logHook was not necessary, but otherwise it is not clear how CycleWS would find out about workspace changes.) -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings

Comment #3 on issue 304 by aesotp: CycleWS should actually track workspace history rather than depending on order of hidden workspaces http://code.google.com/p/xmonad/issues/detail?id=304 Just wanted to report, that Daniel Schoepe workaround works great. Thanks

Comment #4 on issue 304 by johnnysp...@gmail.com: CycleWS should actually track workspace history rather than depending on order of hidden workspaces http://code.google.com/p/xmonad/issues/detail?id=304 Attached is an implementation of Brent's idea. It's backwards-compatible: the toggling behaviour should remain exactly the same for all users that don't install the supplied logHook. I've also written it as a separate module so that other modules can make use of it, since it's not a CycleWS-specific idea. Attachments: WorkspaceHistory.dpatch 6.9 KB

Updates: Status: Fixed Comment #5 on issue 304 by vogt.a...@gmail.com: CycleWS should actually track workspace history rather than depending on order of hidden workspaces http://code.google.com/p/xmonad/issues/detail?id=304 Thanks johnnyspoon.
participants (1)
-
codesite-noreply@google.com