2905 Commits

Author SHA1 Message Date
Daniel Kondor
54820748c2 Merge pull request #246 from dkondor/icon_par_null
applet-facility, icon-facility: clarify when some parameters can be NULL
2026-02-10 19:11:28 +01:00
Daniel Kondor
10939feb7e applet-facility, icon-facility: clarify when some parameters can be NULL 2026-02-10 19:05:12 +01:00
Daniel Kondor
659bc298a5 Merge pull request #244 from dkondor/master
wayfire-integration: fix a typo
2026-01-25 20:41:09 +01:00
Kondor Dániel
09705679fb wayfire-integration: fix a typo 2026-01-25 20:39:54 +01:00
Daniel Kondor
ea5760bc46 Merge pull request #243 from dkondor/global_menu_gtk
Support getting GTK menu properties
2026-01-25 20:31:36 +01:00
Kondor Dániel
d43b80f196 wayfire-integration: get global menu properties 2026-01-25 20:30:56 +01:00
Kondor Dániel
2e5f3a5fb3 build: bump version 2026-01-17 21:14:31 +01:00
Kondor Dániel
9e21ff8820 module-manager: bump ABI version 2026-01-17 21:14:22 +01:00
Kondor Dániel
ead49d9647 X-manager: also retrieve GTK global menu properties
This provides direct access to the menus of GTK apps.
2026-01-17 21:13:45 +01:00
Kondor Dániel
2026b2f304 plasma-window-manager: adapt to the new window manager interface 2026-01-17 21:13:29 +01:00
Kondor Dániel
500f0330b4 windows-manager: allow retrieving the GTK global menu properties as well 2026-01-17 21:09:22 +01:00
Daniel Kondor
2527f4bad7 Merge pull request #238 from dkondor/global_menu_prop
X-manager: support reading global menu properties
2026-01-17 12:38:28 +01:00
Daniel Kondor
d6d591e4c8 Merge pull request #240 from dkondor/wayfire_session
main: recognize Wayfire-based session and switch to panel mode in it as well
2026-01-17 12:06:12 +01:00
Kondor Dániel
535f409031 main: recognize Wayfire-based session and switch to panel mode in it as well 2026-01-17 12:05:59 +01:00
Daniel Kondor
d9f4925383 Merge pull request #239 from dkondor/systemd_unit_exec
systemd: change unit type to "exec"
2026-01-15 22:08:39 +01:00
Daniel Kondor
3dc144150f systemd: change unit type to "exec"
We had implicitly "Type=dbus" which would mean that systemd would terminate the Cairo-Dock process once the DBus name goes away, preventing the crash handler from restarting it. We could also rely on systemd to restart us, but then it would be more complicated to save the crashed module name.

This change means that the unit will be "ready" before the DBus name is available, but this should not be a problem (we don't have dependent units and even if we had, they should be able to handle the DBus name appearing later).
2026-01-15 00:09:31 +01:00
Kondor Dániel
0c6a7f7382 X-manager: support reading global menu properties
This allows to directly get the menu address and path as X window properties if set by the app (no need to separately get them from a registrar).
2026-01-11 23:31:40 +01:00
Daniel Kondor
9222e23530 Merge pull request #237 from dkondor/systemd_fix
systemd-integration: fix a small memory leak
2026-01-11 13:19:18 +01:00
Daniel Kondor
bbd48bff9d Merge pull request #236 from dkondor/network_toggle
file-manager: add functions to toggle network state
2026-01-11 13:11:56 +01:00
Daniel Kondor
12f5dfcbb8 Merge pull request #235 from dkondor/parse_shell_command
Better support apps with complicated command lines
2026-01-11 13:07:33 +01:00
Kondor Dániel
587554a743 build: bump version 2026-01-10 23:45:25 +01:00
Kondor Dániel
b67e7032e2 logout-backend: add network toggle implementations using NetworkManager 2026-01-10 23:44:53 +01:00
Kondor Dániel
42b9efd7ba file-manager: add APIs to toggle network status
This is used by multiple applets, so it's good to collect the functions in one place.
2026-01-10 23:42:31 +01:00
Kondor Dániel
ab8225b76c systemd-integration: disable environment variable substitution
By default, systemd substitutes environment variables in the commands it runs. However, this is not expected for commands from .desktop files, so better to explicitly disable it.
2026-01-10 18:33:15 +01:00
Kondor Dániel
08bfe990f0 class-manager: special cassing for shell commands
Some apps might invoke a shell in their Exec= key, i.e. something like 'sh -c "somecommand"'. However, in this case, all command arguments should be one string and any substitutions should happen inside this. It is unclear whether this is supported by the .desktop file specification though.
2026-01-10 18:33:15 +01:00
Kondor Dániel
4f158b4d21 class-manager: refactor the handling of custom command lines
This makes things more flexible, allowing us to extend things to more complex Exec= keys later.
2026-01-10 18:33:15 +01:00
Kondor Dániel
c032c37891 systemd: fix a small memory leak
We need to unref the result of g_bus_get_sync ()
2026-01-01 18:32:56 +01:00
Daniel Kondor
0762843709 Merge pull request #233 from dkondor/systemd_simplify2
systemd-integration: simplify DBus usage
2026-01-01 13:24:47 +01:00
Kondor Dániel
074d1dbd76 systemd-integration: simplify DBus usage
There is no need to create a separate proxy just to get one property, we can send a DBus message directly instead.
2026-01-01 13:22:50 +01:00
Daniel Kondor
ce958a0894 Merge pull request #232 from dkondor/systemd_simplify
systemd-integration: simplify GVariant handling
2025-12-30 20:21:26 +01:00
Kondor Dániel
8090eb94a1 systemd-integration: simplify GVariant handling
We can use the vararg-based functions to have a bit more compact code (note: these might still use a GVariantBuilder internally)
2025-12-30 20:15:21 +01:00
Daniel Kondor
a05ee58e3b Merge pull request #230 from dkondor/dbus_own_name
DBus: make Cairo-Dock single instance by default
2025-12-30 19:36:46 +01:00
Kondor Dániel
a469db68c1 module-instance-manager: process config file upgrades earlier
Before, updates to a plug-in's config file (i.e. when a plugin has a new version) were only updated after attempting to read when loading an instance. This could result in some values set inconsistently, as the CD_CONFIG_GET_* functions apply their own default values which can be different than the values set for newly added keys in the updated template. Avoid this situation by upgarding the config file before attempting to read it.
2025-12-30 14:40:50 +01:00
Kondor Dániel
e46049b612 main: try to own our DBus name, make Cairo-Dock single instance
This moves the functionality for owning a DBus name from the DBus applet to core, allowing to detect an already running instance and refuse to start.
2025-12-30 12:37:02 +01:00
Kondor Dániel
3d5482b3e6 dbus: add new API for owning the main DBus name
This is using GDBus and is supposed to be called from core during startup.
2025-12-30 12:37:02 +01:00
Daniel Kondor
14ed77be0b Merge pull request #231 from dkondor/module_api_refactor
Refactor module API
2025-12-30 12:35:41 +01:00
Kondor Dániel
45a553d575 build: bump version 2025-12-30 12:29:00 +01:00
Kondor Dániel
6dc832e79d module-manager: bump ABI
This is not strictly required, but better to be safe
2025-12-30 12:29:00 +01:00
Kondor Dániel
ab41ea87fe gui-factory: fix a crash when showing the GUI in maintenance mode 2025-12-30 12:29:00 +01:00
Kondor Dániel
07b0fbfc87 GUI: handle disabled modules
In the simple GUI, just skip them. In the advanced GUI, show them, but do not allow activating.
2025-12-30 12:29:00 +01:00
Kondor Dániel
7c7f64a896 module-manager: load, but disable unsupported modules 2025-12-30 12:29:00 +01:00
Kondor Dániel
6c20a29665 module-manager: track modules' state more explicitly
Add a member that tracks whether any instance of the module is active. Also allow setting it to "disabled", which are modules that have been loaded but cannot be activated.
2025-12-30 00:16:00 +01:00
Kondor Dániel
b1865316ba module-manager: keep track of active modules based on the config
Instead of updating the config file from the modules that are active, be more careful and just add / remove elements to the list as modules are activated or deactivated. This means that missing modules will not be removed. This fixes the case when if e.g. running Cairo-Dock without OpenGL, plug-ins that require it would be disabled if any other plugin was added or removed.
2025-12-30 00:16:00 +01:00
Kondor Dániel
299b4eb5c7 module-manager: make config private
There is actually no need to expose this at all, we can manage the configuration internally.
2025-12-30 00:16:00 +01:00
Kondor Dániel
bec766e2df module-manager: separate private API and static functions
Do not expose function definitions that are not used by plugins + also change some functions to static which are not used outside of -module-manager.c
2025-12-30 00:16:00 +01:00
Daniel Kondor
4fd7ce811c Merge pull request #229 from dkondor/niri_integration
implementations: add Niri integration
2025-12-26 20:20:44 +01:00
Daniel Kondor
7daafb7c0b ext-workspaces: remove a spurious warning and update warning messages 2025-12-26 20:09:46 +01:00
Daniel Kondor
4681dc8b49 build: update CMake output 2025-12-26 20:01:45 +01:00
Daniel Kondor
a0bb925c05 build: bump version 2025-12-26 19:56:40 +01:00
Daniel Kondor
e2ee39a533 module-manager: bump ABI version 2025-12-26 19:56:31 +01:00