Commit Graph

118 Commits

Author SHA1 Message Date
Pol Rivero 4ae2b6f1ba Implement ignore-list 2025-05-02 15:48:34 +02:00
Pol Rivero 61c5dad895 Fix some windows not being marked as active when opened
In some cases, the active event is arriving before the create event. We need to store the currently active address and initialize the windows accordingly
2025-05-01 21:03:46 +02:00
Pol Rivero 72404a77f0 Initial implementation of active window
TODO:
- Sometimes the active event arrives before the create, in which case the window is not activated.
- The window title event also looks unreliable in some cases, will need to investigate
2025-05-01 20:22:34 +02:00
Pol Rivero 4222032fa1 Merge remote-tracking branch 'upstream/master' 2025-04-29 19:59:42 +02:00
Pol Rivero e541936df9 Merge remote-tracking branch 'upstream/master' 2025-03-08 17:18:31 +01:00
Matthew White f7b4451564
fix(hyprland): support additional v2 events 2025-03-04 10:23:19 -07:00
Matt White 17cee0d876
feat(hyprland): support workspacev2 2025-02-26 18:56:11 -07:00
zjeffer 37c6cd42f5 fix freebsd compilation 2025-02-19 21:15:18 +01:00
zjeffer 5b8839ab5c Hyprland IPC improvements
Fixes IPC being blocked at shutdown
2025-02-19 20:45:47 +01:00
Pol Rivero 7b854112ed workspace taskbars: Allow custom command on window click 2025-01-27 11:46:35 +01:00
Pol Rivero b4519c0819 workspace taskbars: Use sigc::mem_fun instead of lambda 2025-01-27 11:46:35 +01:00
Pol Rivero 5ee0d1c7fe workspace taskbars: Fix windows not showing
Windows were not being shown or updated unless the window-rewrite config were present.
2025-01-27 11:46:35 +01:00
Pol Rivero 3948c0d154 workspace taskbars: Focus window on click 2025-01-27 11:46:35 +01:00
Pol Rivero 53ca5a4883 workspace taskbars: Display windows in a consistent order
Use a vector instead of a map for for storing the workspace windows.
This orders the windows by the time they were added to the workspace, instead of sorting by address (which is effectively a random order). The new ordering seems to match the wlr/taskbar module
2025-01-27 11:46:35 +01:00
Pol Rivero fdb9004048 workspace taskbars: More config options
- orientation
- icon-size
- icon-theme
2025-01-27 11:46:35 +01:00
Pol Rivero 1c07ca0099 workspace taskbars: Add config parsing
Use format from config instead of hardcoding
2025-01-27 11:46:35 +01:00
Pol Rivero 69e2e249a6 Initial implementation of workspace taskbars
Add a list of window titles and icons to each workspace (like wlr/taskbar but grouped by workspace).

Only implemented on hyprland for now.
2025-01-27 11:46:35 +01:00
Alex 481b01d9af fix: lint 2025-01-25 09:31:32 +01:00
Alex 6417782af6 chore: lint 2024-09-13 08:55:14 +02:00
Austin Horstman f6482c36dc
hyprland: clangd cleanup 2024-06-28 13:06:14 -05:00
Austin Horstman bac4d03813
modules/hyprland/workspaces: remove deprecated property 2024-06-15 18:34:45 -05:00
Austin Horstman fa2e21dfd5
modules/hyprland/backend: move getSocketFolder to class 2024-06-09 10:18:20 -05:00
Austin Horstman 0055ee6910
modules/hyprland/workspaces: remove unneccesary visibleWorkspaces variable 2024-06-07 13:56:49 -05:00
Austin Horstman 1b3b45779a
modules/hyprland/backend: add getSocketFolder to header 2024-06-07 13:56:49 -05:00
alttabber 29e3d8c371
Hide non-visible special workspaces 2024-05-28 17:45:01 +02:00
Austin Horstman f5bb086460
hyprland/workspaces: sort methods 2024-05-24 14:41:59 -05:00
Austin Horstman 07c91c200a
hyprland/workspaces: break up headers 2024-05-24 14:21:31 -05:00
Austin Horstman d73051e980
hyprland/workspaces: break up doUpdate 2024-05-24 14:21:31 -05:00
Austin Horstman 9fe51af6b0
hyprland/workspaces: break up parseConfig 2024-05-24 14:21:31 -05:00
Alexis Rouillard 32e241dc47
Merge pull request #2917 from alttabber/master
Add always on option for hyprland/submap
2024-03-22 23:21:17 +01:00
Alexis Rouillard e30ddda23a
Merge pull request #2987 from tomben13/master
[hyprland/workspaces] New options to change on click behaviour and active workspace status
2024-03-22 23:16:57 +01:00
Alexis Rouillard ca17bdb214
Merge pull request #2968 from jramrath/hyprland_workspaces_monitor_class
Hyprland workspaces `hosting-monitor` css class
2024-03-17 13:06:50 +01:00
Tom Benham 68889494d0 Removed option `active-per-monitor` 2024-03-05 11:12:46 +01:00
Tom Benham df7f1fffcf feat(hyprland/workspaces): added options `move-to-monitor` and `active-per-monitor` 2024-03-04 13:17:52 +01:00
alttabber d9abc080e1 Fix merge conflict with #2930 2024-02-28 22:52:08 +01:00
Alexis Rouillard 04f73e7303
Merge pull request #2973 from Azazel-Woodwind/feature/hyprland-window-improvements
Improved hyprland/window by fixing icon search and implementing configurable spacing
2024-02-28 09:29:54 +01:00
Alexis Rouillard e79ea93d7d
Merge pull request #2967 from aruhier/pr_hyprland_workspaces
hyprland/workspaces: Improve the workspaces persistency logic
2024-02-27 16:41:32 +01:00
Azazel c59bb509bd fix: hide icon if window is unfocused 2024-02-26 21:00:16 +00:00
Anthony Ruhier d6d4d87cf7
Attributes doc format fix from the review
Co-authored-by: Tuur Vanhoutte <4633209+zjeffer@users.noreply.github.com>
2024-02-26 00:21:36 +01:00
Anthony Ruhier b3ee94d87a
Improve hyprland/workspaces persistency logic
Fixes #2945

Split the config and rule persistency in 2 attributes, one storing the
persistency as set in Waybar's config, the other one storing the
persistency as set in Hyprland.

It fixes some conflicts between the persistency state of a workspace as
set in Waybar's config and its dynamic state in Hyprland.

It allows to remove a persistent workspace in Waybar if this workspace
is removed from Hyprland and if the workspace is not set as persistent
in Waybar's config.
2024-02-26 00:14:25 +01:00
zjeffer 42f4386e2e fix clang-tidy errors in hyprland module 2024-02-25 12:11:22 +01:00
Jannik 16079eae09
update m_output 2024-02-25 00:51:52 +01:00
Alexis Rouillard 91b79a2e9e
Merge pull request #2894 from jramrath/active-for-hyprland-special-workspaces
Add css classes to hyprland special workspaces
2024-02-19 23:02:17 +01:00
zjeffer 11310b89f0 hyprland/workspaces: Use hyprland's persistent workspaces configuration 2024-02-18 16:04:47 +01:00
alttabber 9ea470410f Add always on option for hyprland/submap 2024-02-13 17:02:14 +01:00
Jannik 3bfcd5e086
Add 'active' css class to special workspaces 2024-02-07 16:33:19 +01:00
Brenno Lemos 4339030c9d feat: fetch clients data when moving workspaces accross monitors 2024-01-08 20:11:39 -03:00
Brenno Lemos 512c6fb127 feat: add orphan windows attribute to workspaces
this attribute will keep every window that doesn't have an associated
workspace in the current bar
2024-01-08 18:30:53 -03:00
yangyingchao bdd7271da9 Improvements for Hyprland backend
1. Fix warnings reported by clang tidy
2. Use unique lock instead of manully lock/unlock on mutex.
   The RAII style locking makes sure mutex is unlocked when exceptions are thrown
2024-01-08 09:26:16 +08:00
yangyingchao a34e3ccc86 Improvements for Hyprland workspace
1. Utilize `m_mutex` to safeguard member fields of `hyprland::Workspaces` as they are modified by multiple threads, including the event listener thread and UI thread. This applies to all member fields, not just `m_workspacesToCreate`.

2. Tidy up the create/remove workspace code.
2024-01-08 09:14:36 +08:00