Commit Graph

215 Commits

Author SHA1 Message Date
yangyingchao
b8e68b0e63 (hyprland) fix crash when failed to parse IPC message
IPC messages are parsed in a dedicated thread, and the thread terminates when
an exception is not caught, which causes the waybar process to crash with
SIGABORT.

While this issue might be related to Hyprland, it is really annoying to see
waybar crash. It would be better to catch those exceptions and report errors
instead of crashing.
2024-05-22 12:52:01 +08:00
Tuur Vanhoutte
29917fb073 Fix hyprland/language events not working with keyboard names with commas in them (#3224) 2024-05-07 08:26:05 +02:00
Tuur Vanhoutte
f41458ea24 Fix Hyprland socketpath changed to XDG_RUNTIME_DIR (#3183) 2024-04-29 19:46:28 +02:00
Tom Benham
084b561d5b [hyprland/workspaces] Update window count and sort workspaces AFTER their creation 2024-04-12 11:40:05 +02:00
Tom Benham
cd3d588abd [hyprland/workspaces] Fix active workspace not getting updated on multi monitor setups 2024-04-12 11:33:29 +02: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
Tom Benham
736309ef1f Fixed segfault 2024-03-17 23:00:48 +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
Jannik
f014a7d2e5 man docs & different css class name 2024-03-16 21:22:01 +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
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
Jannik
9bc8de8876 fix clang complaints 2024-02-25 13:46:49 +01:00
zjeffer
42f4386e2e fix clang-tidy errors in hyprland module 2024-02-25 12:11:22 +01:00
Jannik
4cc2800a78 add 'onThisMonitor' css class 2024-02-25 00:52:33 +01:00
Jannik
16079eae09 update m_output 2024-02-25 00:51:52 +01:00
Alex
a45932973a fix: lint 2024-02-20 11:33:41 +01:00
Alexis Rouillard
4ef5b48474 Merge pull request #2934 from tomben13/master
Fixed window#waybar.swallowing for module hyprland/window
2024-02-20 10:39:33 +01:00
Tom Benham
e6aa06cdf3 window#waybar.swallowing -- backward compatibility 2024-02-20 09:39:03 +01:00
Jeremy Huang
4a5444d196 fix click special 2024-02-19 16:16:46 -08: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
Alexis Rouillard
9abd0da1c7 Merge pull request #2603 from zjeffer/hyprland/persistent-workspaces
Hyprland/workspaces: use Hyprland's workspace rules for persistency
2024-02-19 22:55:28 +01:00
Tom Benham
745d5687b8 Fixed window#waybar.swallowing for module hyprland/window 2024-02-19 22:23:03 +01:00
zjeffer
11310b89f0 hyprland/workspaces: Use hyprland's persistent workspaces configuration 2024-02-18 16:04:47 +01:00
Viktar Lukashonak
d7d4dca6ba libcava bump 0.10.1
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2024-02-17 18:20:03 +03:00
Aleksei Bavshin
d590d508ca feat: add module class to the root elements of the modules
Previously, the only way to select all the module labels was with the
following kind of selector:
```css
.modules-left > widget > label,
.modules-center > widget > label,
.modules-right > widget > label {
    /* ... */
}
```
(and a matching block for the `box` containers).

Now, this can be expressed as
```css
label.module, box.module {
    /* ... */
}
```
2024-02-14 22:41:13 -08:00
Aleksei Bavshin
2f555a6936 refactor(bar): use Gtk enums for position and orientation
Ensure that the position and the corresponding CSS class on window are
always set.
2024-02-14 22:11:21 -08:00
alttabber
9ea470410f Add always on option for hyprland/submap 2024-02-13 17:02:14 +01:00
alttabber
77c7b91b40 Add style classes for hyprland/submap 2024-02-13 11:46:27 +01:00
Jannik
acf6611098 clang-format 2024-02-10 17:35:46 +01:00
Jannik
a2925fa5da fix 'visible' class for special workspaces 2024-02-10 17:26:44 +01:00
Jannik
240b49f9d2 Add 'empty' css class to special workspaces 2024-02-10 16:59:53 +01:00
Jannik
d4331ce7fe improve handling of special workspace name 2024-02-09 13:49:39 +01:00
Jannik
692f8f4ea4 add/remove 'active' on 'focusedmon' IPC event 2024-02-07 22:42:05 +01:00
Jannik
61be2267ab add 'visible' css class to special workspaces 2024-02-07 21:10:17 +01:00
Jannik
c30541b954 remove whitespaces 2024-02-07 16:56:37 +01:00
Jannik
3bfcd5e086 Add 'active' css class to special workspaces 2024-02-07 16:33:19 +01:00
Brenno Lemos
9e08512927 feat: strip workspace qualifiers when creating windows 2024-01-10 02:24:51 -03:00
Brenno Lemos
4339030c9d feat: fetch clients data when moving workspaces accross monitors 2024-01-08 20:11:39 -03:00
Brenno Lemos
bc7acbde5c fix: rename windows while queued for creation
this avoids the window arriving with the wrong icon when its eventually
able to be created
2024-01-08 18:30:53 -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
Alexis Rouillard
4b20f522f0 Merge pull request #2789 from DreamMaoMao/master
fix:#2769
2024-01-04 15:33:26 +01:00
Emily Ellis
ff09ef6d71 hyprland/workspaces: allow using the original window class/title
This turns the values of window rewrite rules in hyprland/workspaces from static strings to format strings with the values {class} and {title} available.
2023-12-30 21:07:40 -05:00