Commit graph

4 commits

Author SHA1 Message Date
scorpion-26
95f9b0aadb Handle monitor changes
Since there is no way to map a connector to a Gdk Window ID and window
ID's are not static per monitor, the entire Window and Wayland system
has been rewritten to store a "target monitor" connector name, which is
the name of the monitor we want to be on. Every time a monitor is
removed or added, it is checked against the monitors of our Wayland
backend to match connector to Gdk ID and then the Window is
created/destroyed on the window(The target monitor is preferred, but if
it doesn't exist, other monitors are used too).

This is not perfect, since the matching of connector name to Gdk ID is
only an approximation of the Gdk behaviour (Especially rough
on hyprland with the headless monitor. A hack is needed to handle that).

Additionally the monitor can now be specified by connector name when
starting up (e.g. "gBar bar DP-1").
2024-03-16 17:00:06 +01:00
scorpion-26
b9f34f0632 Fix example plugin compilation 2023-09-01 03:19:07 +02:00
scorpion-26
16e7d8aa50 Remove the unused GTK dependency from example 2023-01-29 21:53:35 +01:00
scorpion-26
c27912c8a5 Add Plugin system
Plugins are used to extend the functionality, without needing to poke around in
the original source code.
2023-01-28 15:08:12 +01:00