Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New windowing tracker and large refactor of IconTasklist (#553)
* windowing: Start work on new window tracker Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * windowing: Handle fullscreen state tracking for windows Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * [WIP] icon-tasklist: Begin port to libxfce4windowing Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * windowing: Add functions to get all groups and the active workspace Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * lib: Add desktop actions field to Budgie.Application Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Add new replacement GTK widgets using Windowing Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Move button geometry to it's own function and fix parameter Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Implement drawing the button indicators Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Make it compile Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Fix showing of popovers Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Implement handling left click on buttons Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Implement launching pinned apps Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * windowing, icon-tasklist: Implement adding and removing buttons when windows open and close This sadly requires using Wnck/X11 specific APIs, and there really is no way around that unless we separate pinned launchers from running applications. But hey, it works! Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Fix button sizing Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * windowing: Fix tracking of active windows Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Implement scroll wheel handling for buttons Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Fix most of the styling with icon button popovers Also fixes new window detection for the popover. Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Window indicator enhancements - Move indicators away from the edge slightly - Increase spacing for inactive window indicators - Clean up and document (mostly) the code The aim is to increase the indicator visibility. Before, the indicators were half off the screen, making them hard to see with certain themes. Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Hook up new window and close all buttons in popover Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Fix launch animation stopping immedietly Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Hook up pinning button functionality Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Implement icon reordering Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Reset button popover view on hide Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Make popover window control buttons start-aligned Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Dynamically create move to workspace buttons Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * windowing: Rebroadcast signals for workspace creation and deletion Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Popover cleanup Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Implement handling when a window becomes urgent Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Attempt to fix drag and drop for all scenarios Spoiler: Doesn't work. Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Make indicator colors more like the old version Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Both dragging tasklist icons and desktop infos work now Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Fix launcher not being removed when unpinned Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * windowing/icon-tasklist: Correctly only show buttons on workspaces when pref is set Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Cleanup Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Implement setting button tooltips Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Move button event handling to the main applet class This will make it easier to implement the rest of the settings. Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Implement settings for launching apps Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Cleanup Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Hook up lock-icons setting Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Implement show all windows on click setting Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Remove unused files Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * windowing: Improve reliability of getting DesktopAppInfos for certain applications Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * fix: do not have Budgie.Application be mandatory, rebase on new x4w This should fix applications like Cinny and glxgears from not showing up in IconTasklist * Apply suggestions from code review Co-authored-by: Joshua Strobl <JoshStrobl@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Joshua Strobl <JoshStrobl@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Joshua Strobl <JoshStrobl@users.noreply.github.com> * fix: compilation * feat: implement budgie-app-(un)favorited vectors for use with ButtonPopover * feat: clean up animations, change weird casing of widgets * fix: remove extraneous TODO * fix: left-align action button labels * feat: implemented DESKTOP_IDS_TO_FORCE_WG_ICON to handle edge cases where we should not prefer app icon * Revert "feat: implemented DESKTOP_IDS_TO_FORCE_WG_ICON to handle edge cases where we should not prefer app icon" This reverts commit 32527ed. * windowing: Resolve remaining TODO items Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> * icon-tasklist: Update tooltip for pin button based on pin status Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> --------- Signed-off-by: Evan Maddock <maddock.evan@vivaldi.net> Co-authored-by: Joshua Strobl <me@joshuastrobl.com> Co-authored-by: Joshua Strobl <JoshStrobl@users.noreply.github.com>
- Loading branch information