Provide visual feedback when switching workspaces. Borrow from the paradigm that the alt-tab cycle uses. When switching workspaces and the hot-key has a modifier, show a grid represenging the workspace configuration and highlight the currently selected desktop in it. When all modifierrs are released remove the grid. I also think it would be good to have this enabled/disabled in the window-manager tweks settings. I'm working on implmenting this and hosting my work on github. I will attach a patch here when I'm happy with the results. github.com/lifeisafractal/xfwm4
Created attachment 5174 visual feed back on worskspace change patch Here is a patch that adds the functionality. It's a little rough around the edges, but the core functionality works. It still needs to be integrated with the themes, properties need to be added for styling, and it would be nice to allow this to be enabled/disabed in the XFWM4 perferences.
I've been asking for this feature for a while now, I'll give it a test run for sure!
I've tested the patch and it works nicely and as expected. I also second the feature-request.
- Needs rebase - Please stash some commits, there is no point in carrying over things like "fix code whitespace formatting" - "add support for move with focued window" typo - "beautifiy workspace drawing in wswinwidget" typo + modifiers = (screen_info->params->keys[KEY_MOVE_UP_WORKSPACE].modifier | + screen_info->params->keys[KEY_MOVE_DOWN_WORKSPACE].modifier | + screen_info->params->keys[KEY_MOVE_LEFT_WORKSPACE].modifier | + screen_info->params->keys[KEY_MOVE_RIGHT_WORKSPACE].modifier | + screen_info->params->keys[KEY_LEFT_WORKSPACE].modifier | + screen_info->params->keys[KEY_RIGHT_WORKSPACE].modifier | + screen_info->params->keys[KEY_UP_WORKSPACE].modifier | + screen_info->params->keys[KEY_DOWN_WORKSPACE].modifier); You mean "||", not "|" (logical OR) + if (key == KEY_MOVE_UP_WORKSPACE | + key == KEY_MOVE_DOWN_WORKSPACE | + key == KEY_MOVE_LEFT_WORKSPACE | + key == KEY_MOVE_RIGHT_WORKSPACE) Again, same here + if (key == KEY_UP_WORKSPACE | + key == KEY_DOWN_WORKSPACE | + key == KEY_LEFT_WORKSPACE | + key == KEY_RIGHT_WORKSPACE) And here + //TRACE ("event loop now finished"); Please void using C++ comment (I know C99 allows this, but still) + //if((wsw->undrawn == FALSE) && (current != wswin->selected) && (current != wswin->previous)) + // continue; C++ comment + if (gdk_screen_is_composited(screen)) { Move open brace to next line
I rebased and applied the patch on top of git master, but it doesn't work properly anymore. Obviously too much has changed in Xfwm4 for this to still work. Half of the time, the workspace-window doesn't show up (actually, it really seems pretty much exactly 50% of the time). I guess this needs more work.
Created attachment 5904 Rebased patch against git master This is just a rebased version of the previously submitted patch with the changes suggested by Olivier. However, there seems to be some problem, the workspace window only shows up every second time you switch workspaces.
There probably is a missing break; in line 391 of events.c. The patch appears to need major reworking, currently the wsWin will be displayed only if no other wsWin is still being displayed (Simon, this is why it displays only one time out of two). A possibly more proper way of doing this would be to keep a single wsWin object around, update its information accordingly for each workspace event and show/hide it when need be. Olivier, do you have some more advice for whomever wants to fix this patch?
Someone in the video below mentioned this issue and I was just about to file a duplicate. https://youtu.be/Tcb2lLVBKBw?t=330 This bug is incorrectly set to NEEDINFO, when no info is needed from the bug report.
-- GitLab Migration Automatic Message -- This bug has been migrated to xfce.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.xfce.org/xfce/xfwm4/-/issues/126. Please create an account or use an existing account on one of our supported OAuth providers. If you want to fork to submit patches and merge requests please continue reading here: https://docs.xfce.org/contribute/dev/git/start#gitlab_forks_and_merge_requests Also feel free to reach out to us on the mailing list https://mail.xfce.org/mailman/listinfo/xfce4-dev