Commit graph

85 commits

Author SHA1 Message Date
slowsage
f3d1f3b232
core: fix dbus inhibit lock counting (#175)
Fixes #74 (root cause)

Fixes #111
2025-11-01 20:00:41 +00:00
f158b2fe92 config: fix custom config paths
fixes #172
2025-09-09 13:16:32 +01:00
5430b73ddf
version: bump to 0.1.7 2025-08-27 12:40:01 +02:00
dda793b66a
README: expand build commands 2025-07-10 18:17:31 +02:00
[Assassin]
25578b7137
core: Add --help option (#160) 2025-06-21 12:58:23 +02:00
cff17e8b52
CI/Nix: add cache-nix-action
Use nixbuild/nix-quick-install-action which pairs well with
nix-community/cache-nix-action.

Should help with build times by reducing the number of packages needing
to be re-downloaded on each run.

Parameters are taken from https://github.com/nix-community/cache-nix-action
and may be tweaked later.
2025-06-20 01:24:48 +03:00
Friday
b2bc15baff nix: use gcc15
also updated dependencies
2025-06-06 01:27:05 +03:00
Chris Hixon
a282131ac7
core: add an option to ignore idle inhibition per-listener (#158)
* Add ability to ignore Wayland idle inhibitors

config: general:ignore_wayland_inhibit (bool)

If the config value general:ignore_wayland_inhibit is true, the
CCExtIdleNotifierV1 function used will be: sendGetInputIdleNotification.
This instructs the compositor (hyprland) to return all idle/resume
events, ignoring any Wayland inhibitors.

If the config value general:ignore_wayland_inhibit is false/unset,
it will use the default function sendGetIdleNotification, which obeys
Wayland inhibitors.

* Ignore idle inhibition per-listener

Add `ignore_inhibit` option (bool) to listener section of config file,
to allow ignoring idle inhibition per-listener. When set to true, all
types of inhibitors are ignored (systemd, dbus/ScreenSaver, Wayland).
Default value: false (the rule will obey inhibition)

Example:

    listener {
        timeout = 5
        on-timeout = logger 'should obey idle inhibition'
    }

    listener {
        timeout = 6
        on-timeout = logger 'should ignore idle inhibition'
        ignore_inhibit = true
    }

* Add ability to ignore Wayland idle inhibitors

config: general:ignore_wayland_inhibit (bool, default: false)

If the config value general:ignore_wayland_inhibit is true, use
sendGetInputIdleNotification to create the idle notification object.
(Wayland protocol: ext_idle_notifier_v1::get_input_idle_notification)
This instructs the compositor to return all idle/resume events,
ignoring any Wayland inhibitors.

If the config value general:ignore_wayland_inhibit is false (default),
it will use sendGetIdleNotification, which obeys Wayland inhibitors.
(Wayland protocol: ext_idle_notifier_v1::get_idle_notification)

* clang-format

* Update flake.lock

* Add newline at end of file: src/core/Hypridle.cpp
2025-06-03 19:45:20 +01:00
Chris Hixon
63d08e8e72
core: Add ability to ignore Wayland idle inhibitors (#155)
* Add ability to ignore Wayland idle inhibitors

config: general:ignore_wayland_inhibit (bool)

If the config value general:ignore_wayland_inhibit is true, the
CCExtIdleNotifierV1 function used will be: sendGetInputIdleNotification.
This instructs the compositor (hyprland) to return all idle/resume
events, ignoring any Wayland inhibitors.

If the config value general:ignore_wayland_inhibit is false/unset,
it will use the default function sendGetIdleNotification, which obeys
Wayland inhibitors.

* Add ability to ignore Wayland idle inhibitors

config: general:ignore_wayland_inhibit (bool, default: false)

If the config value general:ignore_wayland_inhibit is true, use
sendGetInputIdleNotification to create the idle notification object.
(Wayland protocol: ext_idle_notifier_v1::get_input_idle_notification)
This instructs the compositor to return all idle/resume events,
ignoring any Wayland inhibitors.

If the config value general:ignore_wayland_inhibit is false (default),
it will use sendGetIdleNotification, which obeys Wayland inhibitors.
(Wayland protocol: ext_idle_notifier_v1::get_idle_notification)

* clang-format

* Update flake.lock
2025-06-02 19:02:45 +01:00
Maximilian Seidler
4f1c165d3e
core: guard against dbus logind interface not existing and check if on_(un)lock_cmd is empty (#151)
* core: guard against dbus logind interface not existing

* core: check if on_(un)lock_cmd is empty
2025-05-19 23:03:43 +02:00
Vaxry
ecf2a3649d
README: update deps 2025-05-12 14:17:21 +02:00
martin
a0037ac40c
config: add support for source option for additional config files (#144)
* feat: support `source` option for additional config files

* fix: prevent circular dependency
2025-05-02 17:27:53 +02:00
Honkazel
b18d830276
clang-tidy: fix some errors (#143) 2025-04-22 23:23:57 +02:00
Maximilian Seidler
66d1815b5e
core: log when ScreenSaver interface is already registered (#133)
and hint that hyprilde may already be running.
2025-03-30 01:29:55 +01:00
84f9f2e127 version: bump to 0.1.6 2025-03-28 14:17:06 +00:00
davc0n
71e875e49e
assets: update example.conf (#137)
Replace current with example from wiki.
Better base for a real use case scenario.
2025-03-19 16:14:53 +01:00
Maximilian Seidler
9d97c22883
core: fix sleep delay and simplify process spawning (#127)
* core: fix sleep delay and simplify process spawning

* core: duplicate the inhibit fd with F_DUPFD_CLOEXEC

* nullptr and static

* core: use hyprutils CProcess
2025-02-28 00:16:45 +01:00
Honkazel
3e30a63b5d
core: clang-tidy and comp fixes (#126)
* clang-tidy and comp fixes

* make cookieID uint32_t

Why we should cast, when we can avoid it?
2025-02-13 17:55:17 +01:00
cf5b4dab9d
CI: remove deprecated magic-nix-cache-action 2025-02-08 23:07:58 +02:00
Maximilian Seidler
15ca902b2c
core: implement hyprlock-lock-notify-v1 functionality (#122)
---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-01-27 14:24:13 +01:00
33ac8cae64
flake.lock: update 2025-01-23 14:32:36 +02:00
Austin Horstman
413564cb98
nix/overlays: gcc13 -> gcc14; flake.lock: update (#116)
* nix/overlays: gcc13 -> gcc14

* flake.lock: update
2024-12-16 22:22:40 +01:00
9f23e70bb4 core: add --version 2024-11-18 19:42:36 +00:00
26780ac51f version: bump to 0.1.5 2024-11-02 15:29:47 +00:00
André Silva
4d2fb9e73e
core: handleDbusScreensaver must return uint32 (#98) 2024-10-23 11:39:20 +01:00
af2d65dcdc version: update to 0.1.4 2024-10-23 00:47:25 +01:00
Vaxry
127317f822
core: move to sdbus-cpp2 (#96)
---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
2024-10-23 00:45:24 +01:00
918fd78dec version: bump to 0.1.3 2024-10-21 19:08:05 +01:00
André Silva
0ed59e861c
core: release inhibit cookies on app disconnect from dbus (#93)
* core: release inhibit cookies on app disconnect from dbus

* core: clang-format
2024-10-20 23:04:37 +01:00
Eduard Tykhoniuk
cc23f97836
core: Do not crash if the last CLI parameter was -c (#92)
* fix: Do not crash if the last CLI parameter was -c

* feat: return an error if the next argument after -c is a flag

* feat: return an error if multiple config files are provided
2024-09-25 10:41:09 +01:00
André Silva
22b058b47a nix: add wayland-scanner native build input 2024-09-01 18:20:25 +03:00
BBaoVanC
a46cd0bb05
logs: Flush buffer automatically (#88) 2024-08-27 21:01:19 +02:00
BBaoVanC
01a63fcf5a
misc: Include Log.hpp in main (#87)
It is already included because of ConfigManager.hpp, but that should not
be relied on as logging is also directly used in the main function.
2024-08-27 20:41:54 +02:00
Erik Tollerud
96d51ec2a7
CMake: typo fix hyprlock->hypridle (#82) 2024-08-02 23:49:02 +03:00
f84c2d7981
assets: add example.conf 2024-08-02 22:19:47 +03:00
gnusenpai
e5366d34b5
core: Fix running without logind (#76)
* dbus: Move logind matches inside try-catch

* core: Don't exit when logind is absent

logind being missing is non-fatal
2024-07-18 22:03:02 +02:00
9163a9f318
flake.lock: update 2024-07-18 20:43:36 +03:00
ee6ca4d6c5
CMake: fmt 2024-07-18 20:43:28 +03:00
2d774e6f32
CMake, Nix: add VERSION file 2024-07-18 20:42:35 +03:00
fc4e3bd2dc
Config: use hyprutils helper (#77)
* flake.lock: update

* config: use hyprutils helper

* Nix: add hyprutils dep

flake.lock: update
2024-07-16 22:36:07 +02:00
Elvyria
7c5747b785
core: re-register all notifications when idled and inhibit was released (#72) 2024-06-22 17:00:57 +02:00
cb169c4e06
nix/hm-module: remove 2024-05-21 19:46:17 +03:00
Daniel Horton
afa6e21b88
README: Fixed getconf command in build instructions (#60)
getconf NPROCESSORS_CONF isn't a valid command. The correct command is getconf _NPROCESSORS_CONF.
2024-05-14 16:12:55 +01:00
Marcin Jaworski
a7a6b8f4f5
dbus: Separate ignore_systemd_inhibit config param, register ScreenSaver objects separately (#59)
* Don't register ScreenSaver object at all if ignore_dbus_inhibit is set. Introduce new ignore_systemd_inhibit config parameter.

* Ability to register org.freedesktop.ScreenSaver object under multiple paths. Add object under legacy /ScreenSaver path.

* Update documentation to reflect new configuration parameter.
2024-05-14 16:10:16 +01:00
Marcin Jaworski
50da2e7bf4
core: Add support for systemd-logind idle block inhibits (#57) 2024-05-13 22:22:06 +01:00
7cff4581a3 props: bump version to 0.1.2 2024-04-18 21:34:42 +01:00
alba4k
eb916db19c fix systemd service exec path 2024-04-17 09:35:26 +03:00
01772b32af
flake.lock: update 2024-04-15 23:55:20 +03:00
alba4k
72a6b38b15 fix systemd service install path 2024-04-12 21:53:15 +03:00
Aaron Blasko
dad6ac14df
Add systemd service (#45) 2024-04-12 21:16:49 +03:00