aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop/idle_inhibit_v1.c
Commit message (Collapse)AuthorAge
* Drop support for KDE's idle protocolLibravatar Simon Ser2023-10-05
| | | | We support the standard idle-notify protocol since Sway 1.8.
* idle-inhibit-v1: simplify with server globalLibravatar Simon Ser2023-06-23
| | | | | | We only have a single running server, no need to keep track of multiple server instances. Also no need to support multiple idle inhibit managers.
* Add support for ext-idle-notify-v1Libravatar Simon Ser2022-10-14
| | | | References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3753
* idle_inhibit: Fix tree view after changes in commit 152a559eLibravatar Bartel Sielski2021-10-04
| | | | | | | | Commit 152a559e replaced the view pointer in the inhibitor struct with a pointer to the wlr_inhibitor for application inhibitors. But this was not changed in the sway_idle_inhibit_v1_application_inhibitor_for_view function. This caused a bug in the sway tree view where the application inhibitor is always "none".
* idle_inhibit: Store wlr inhibitor instead of viewLibravatar Kenny Levinsen2021-03-21
| | | | | | | | | | | When an application inhibited idle, a view pointer was stored and a destroy listener was registered to the wlr inhibitor. As the wlr inhibitor lives longer than the view, this lead to a dangling view pointer between view unmap and inhibitor destroy. Store a pointer to the wlr inhibitor instead of to the view, and look up the view when needed, which may at any point be NULL. This also allows for an inhibitor to remain functional if a surface is re-mapped.
* Add views idle inhibition status in get_tree outputLibravatar Damien Tardy-Panis2020-05-29
| | | | Fixes #5286
* idle_inhibit: fix crash during view destructionLibravatar Brian Ashworth2019-04-03
| | | | | | | | | | | This fixes a crash for application set idle inhibitors when their associated view is being destroyed. There is a call to `view_is_visible` to determine is the view is visible and it assumes that the view has an container, but it is possible for the container to already have been destroyed at this point. There is a NULL check for the view in `check_active` and this re-adds the NULL check for the container that I accidentally dropped when refactoring during the inhibit_idle command PR
* Implement inhibit_idle commandLibravatar Brian Ashworth2019-03-24
| | | | | | | | | | | | | | | | | | | | | | This implements the following command to set/unset a user idle inhibitor for a view: `inhibit_idle focus|fullscreen|open|none|visible` The modes are as follows: - focus: inhibited when the view is focused by any seat - fullscreen: inhibited when the view is fullscreen (or a descendant of a fullscreen container) and is visible on any output - open: inhibited until the view is closed or the inhibitor is unset or changed - none: unsets any user set idle inhibitors for the view - visible: inhibited when the view is visible on any output This should have no effect on idle inhibitors set by the applications themselves and those should still work as intended. Since this operates on the view in the handler context, it is possible to set it on the currently focused view, on any existing view with criteria, or for any future view with for_window.
* Replace wlr_log with sway_logLibravatar M Stoeckl2019-01-21
| | | | | | | | | | | | | This commit mostly duplicates the wlr_log functions, although with a sway_* prefix. (This is very similar to PR #2009.) However, the logging function no longer needs to be replaceable, so sway_log_init's second argument is used to set the exit callback for sway_abort. wlr_log_init is still invoked in sway/main.c This commit makes it easier to remove the wlroots dependency for the helper programs swaymsg, swaybg, swaybar, and swaynag.
* Fix crash when destroying an idle-inhibiting clientLibravatar Marien Zwart2018-09-16
| | | | | | When destroying an idle-inhibiting client, idle_inhibit_v1_check_active can get called from transaction_progress_queue on a view with a null container. view_is_visible does not handle a view in this state.
* Fix memory leak in sway/desktop/idle_inhibit_v1.cLibravatar frsfnrrg2018-07-17
|
* Update for swaywm/wlroots#1126Libravatar emersion2018-07-09
|
* idle_inhibit: move server data to its own structLibravatar Dominique Martinet2018-07-02
|
* idle_inhibit: stop inhibitor when views become invisibleLibravatar Dominique Martinet2018-07-02
|
* Add idle inhibit unstable v1 supportLibravatar Dominique Martinet2018-07-02