swayidle
Idle management daemon for Wayland (by swaywm)
kanshi
Dynamic display configuration (mirror) (by emersion)
swayidle | kanshi | |
---|---|---|
11 | 22 | |
497 | 553 | |
1.8% | - | |
2.6 | 5.9 | |
18 days ago | over 2 years ago | |
C | C | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
swayidle
Posts with mentions or reviews of swayidle.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-14.
-
runwhenidle - Linux utility that can automatically pause a computationally-intensive command when user is in front of a computer and resume it when they are away.
X11 is not necessary. For example: swayidle.
-
Sway 1.8-rc2 has been released!
14 minutes ago: swayidle 1.8.0
-
Why do wayfire took so long to load configs?
# Default config for Wayfire # # Copy this to ~/.config/wayfire.ini and edit it to your liking. # # Take the tutorial to get started. # https://github.com/WayfireWM/wayfire/wiki/Tutorial # # Read the Configuration document for a complete reference. # https://github.com/WayfireWM/wayfire/wiki/Configuration # Input configuration ────────────────────────────────────────────────────────── # Example configuration: # # [input] # xkb_layout = us # xkb_variant = dvorak,bepo # # See Input options for a complete reference. # https://github.com/WayfireWM/wayfire/wiki/Configuration#input # Output configuration ───────────────────────────────────────────────────────── # Example configuration: # # [eDP-1] # mode = 1920x1080@60000 # position = 0,0 # transform = normal # scale = 1.000000 # # You can get the names of your outputs with wlr-randr. # https://github.com/emersion/wlr-randr # # See also kanshi for configuring your outputs automatically. # https://wayland.emersion.fr/kanshi/ # # See Output options for a complete reference. # https://github.com/WayfireWM/wayfire/wiki/Configuration#output # Core options ───────────────────────────────────────────────────────────────── [core] # List of plugins to be enabled. # See the Configuration document for a complete list. plugins = \ alpha \ simple-tile \ blur \ animate \ autostart \ command \ cube \ decoration \ expo \ fast-switcher \ fisheye \ grid \ idle \ invert \ move \ oswitch \ place \ resize \ switcher \ vswitch \ window-rules \ wm-actions \ wobbly \ wrot \ zoom # Note: [blur] is not enabled by default, because it can be resource-intensive. # Feel free to add it to the list if you want it. # You can find its documentation here: # https://github.com/WayfireWM/wayfire/wiki/Configuration#blur # Close focused window. close_top_view = KEY_Q # Workspaces arranged into a grid: 3 × 3. vwidth = 3 vheight = 3 # Prefer client-side decoration or server-side decoration preferred_decoration_mode = client # Mouse bindings ─────────────────────────────────────────────────────────────── # Drag windows by holding down Super and left mouse button. [move] activate = BTN_LEFT # Resize them with right mouse button + Super. [resize] activate = BTN_RIGHT # Zoom in the desktop by scrolling + Super. [zoom] modifier = | pinch in 2 # Change opacity by scrolling with Super + Alt. [alpha] modifier = # Rotate windows with the mouse. [wrot] activate = BTN_RIGHT # Fisheye effect. [fisheye] toggle = KEY_F # Startup commands ───────────────────────────────────────────────────────────── [autostart] # Automatically start background and panel. # Set to false if you want to override the default clients. autostart_wf_shell = true # Set the wallpaper, start a panel and dock if you want one. # https://github.com/WayfireWM/wf-shell # # These are started by the autostart_wf_shell option above. # # background = wf-background # panel = wf-panel # dock = sfwbar = sfwbar & bluetooth = blueman-applet & # Output configuration # https://wayland.emersion.fr/kanshi/ # outputs = kanshi # Screen color temperature # https://sr.ht/~kennylevinsen/wlsunset/ gamma = wlsunset -l 5.3811 -L 100.3854 & # Idle configuration # https://github.com/swaywm/swayidle # https://github.com/swaywm/swaylock idle = swayidle -w timeout 600 "swaylock --screenshots --clock --indicator --indicator-radius 100 --indicator-thickness 7 --effect-blur 30x5 --effect-vignette 0.8:0.8 --ring-color 500797 --key-hl-color 880033 --line-color 00000000 --inside-color 00000088 --separator-color 00000000 --grace 2 --fade-in 0.2" # import-enviroment = systemctl --user import-enviroment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # XDG desktop portal # Needed by some GTK applications portal = /usr/lib/xdg-desktop-portal-wlr nm-applet = sleep 1 && nm-applet --indicator & notifications = sleep 2 && swaync & # notifications = dunst # Example configuration: # # [idle] # toggle = KEY_Z # screensaver_timeout = 300 # dpms_timeout = 600 # # Disables the compositor going idle with Super + z. # This will lock your screen after 300 seconds of inactivity, then turn off # your displays after another 300 seconds. # Applications ───────────────────────────────────────────────────────────────── [command] # Start a terminal # https://github.com/alacritty/alacritty binding_terminal = KEY_ENTER command_terminal = kitty -c /home/cancel/.config/kitty/kitty.wayfire # Start your launcher # https://hg.sr.ht/~scoopta/wofi # Note: Add mode=run or mode=drun to ~/.config/wofi/config. # You can also specify the mode with --show option. binding_launcher = KEY_D command_launcher = wofi --show drun # Screen locker # https://github.com/swaywm/swaylock binding_lock = KEY_ESC command_lock = swaylock --screenshots --clock --indicator --indicator-radius 100 --indicator-thickness 7 --effect-blur 30x5 --effect-vignette 0.8:0.8 --ring-color 500797 --key-hl-color 880033 --line-color 00000000 --inside-color 00000088 --separator-color 00000000 --grace 2 --fade-in 0.2 # Logout # https://github.com/ArtsyMacaw/wlogout binding_logout = KEY_ESC command_logout = wlogout # Screenshots # https://wayland.emersion.fr/grim/ # https://wayland.emersion.fr/slurp/ binding_screenshot = KEY_PRINT command_screenshot = grim $(date '+%F_%T').webp binding_screenshot_interactive = KEY_PRINT command_screenshot_interactive = slurp | grim -g - $(date '+%F_%T').webp # Volume controls # https://alsa-project.org repeatable_binding_volume_up = KEY_VOLUMEUP command_volume_up = pactl set-sink-volume @DEFAULT_SINK@ +10% repeatable_binding_volume_down = KEY_VOLUMEDOWN command_volume_down = pactl set-sink-volume @DEFAULT_SINK@ -10% binding_mute = KEY_MUTE command_mute = pactl set-source-mute @DEFAULT_SOURCE@ toggle # Screen brightness # https://haikarainen.github.io/light/ repeatable_binding_light_up = KEY_BRIGHTNESSUP command_light_up = light -A 5 repeatable_binding_light_down = KEY_BRIGHTNESSDOWN command_light_down = light -U 5 # Windows ────────────────────────────────────────────────────────────────────── # Actions related to window management functionalities. # # Example configuration: # [wm-actions] toggle_fullscreen = KEY_F toggle_always_on_top = KEY_X toggle_sticky = KEY_X # Position the windows in certain regions of the output. [grid] # # ⇱ ↑ ⇲ │ 7 8 9 # ← f → │ 4 5 6 # ⇱ ↓ ⇲ d │ 1 2 3 0 # ‾ ‾ slot_bl = KEY_KP1 slot_b = KEY_KP2 slot_br = KEY_KP3 slot_l = KEY_LEFT | KEY_KP4 slot_c = KEY_UP | KEY_KP5 slot_r = KEY_RIGHT | KEY_KP6 slot_tl = KEY_KP7 slot_t = KEY_KP8 slot_tr = KEY_KP9 # Restore default. restore = KEY_DOWN | KEY_KP0 # Change active window with an animation. [switcher] next_view = KEY_TAB prev_view = KEY_TAB # Simple active window switcher. [fast-switcher] activate = KEY_ESC # Workspaces ─────────────────────────────────────────────────────────────────── # Switch to workspace. [vswitch] binding_left = KEY_LEFT binding_down = KEY_DOWN binding_up = KEY_UP binding_right = KEY_RIGHT # Move the focused window with the same key-bindings, but add Shift. with_win_left = KEY_LEFT with_win_down = KEY_DOWN with_win_up = KEY_UP with_win_right = KEY_RIGHT # Show the current workspace row as a cube. [cube] activate = BTN_LEFT deform = 0 # Switch to the next or previous workspace. #rotate_left = KEY_H #rotate_right = KEY_L # Show an overview of all workspaces. [expo] toggle = # Select a workspace. # Workspaces are arranged into a grid of 3 × 3. # The numbering is left to right, line by line. # # ⇱ k ⇲ # h ⏎ l # ⇱ j ⇲ # ‾ ‾ # See core.vwidth and core.vheight for configuring the grid. select_workspace_1 = KEY_1 select_workspace_2 = KEY_2 select_workspace_3 = KEY_3 select_workspace_4 = KEY_4 select_workspace_5 = KEY_5 select_workspace_6 = KEY_6 select_workspace_7 = KEY_7 select_workspace_8 = KEY_8 select_workspace_9 = KEY_9 # Outputs ────────────────────────────────────────────────────────────────────── # Change focused output. [oswitch] # Switch to the next output. next_output = KEY_O # Same with the window. next_output_with_win = KEY_O # Invert the colors of the whole output. [invert] toggle = KEY_I [Blur] kawase_degrade = 5 kawase_iterations = 3 kawase_offset = 7 method = kawase [simple-tile] key_focus_above = KEY_K key_focus_below = KEY_J key_focus_left = KEY_H key_focus_right = KEY_L key_toggle = KEY_T inner_gap_size = 10 outer_horiz_gap_size = 9 outer_vert_gap_size = 9 button_move = button_resize = KEY_S BTN_LEFT tile_by_default = !(app_id is "Steam") [decoration] border_size = 4 button_order = minimize maximize close title_height = 30 # Rules ──────────────────────────────────────────────────────────────────────── # Example configuration: # # [window-rules] # maximize_alacritty = on created if app_id is "Alacritty" then maximize # # You can get the properties of your applications with the following command: # $ WAYLAND_DEBUG=1 alacritty 2>&1 | kak # # See Window rules for a complete reference. # https://github.com/WayfireWM/wayfire/wiki/Configuration#window-rules
-
Understanding how idle works
Because of the way logind awkwardly duplicates the idle management of the compositor, but in a way that splinters client tooling, and without any of the access or convenience of the compositor, logind integration is a candidate for removal from swayidle: https://github.com/swaywm/swayidle/issues/117.
-
Sway external display
What does your swayidel configuration look like, or what are you using that triggers the computer to be suspended?
-
Update: swaylock issues after latest kernel update
I suggest to anyone who was having my same problem to update the kernel and comment on the issue I opened on GitHub to get this solved on Sway side.
-
idling and locking in sway
Yes it also listens to dbus signals from logind. Those features kinda duplicate the wayland ones so there's some discussion about dropping them: https://github.com/swaywm/swayidle/issues/117
- some questions
-
Help with simple script to launch and kill app based on user activity
Swayidle info: https://github.com/swaywm/swayidle/blob/master/swayidle.1.scd
-
Inhibit swayidle upon gamepad use
To select a specific input; run the latest upstream code of swayidle. Namely, the feature for seat selection was add in this PR
kanshi
Posts with mentions or reviews of kanshi.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-07-12.
-
Sway external display
Without digging into you problem, i just let you know one options/tool as an addition: https://github.com/emersion/kanshi
-
Starting kanshi from sway
This works, but after a reload of the config the configuration is gone. Then I found this discussion and changed the line to:
-
Arch users belike
Kanshi is not exactly what you're looking for but i stumbled across this when I was writing the dynamic display configuration page.
-
Terminal font size on hidpi + normal display
You should use different scale factors on each monitor. You can do it in your sway configuration, or use something like kanshi that automatically applies different settings based on what is connected.
-
Inaccessible workspaces
If this fixes your problem you'll want to apply this fix: Disable Laptop screen upon closing screen. or you can use something like Automatic display profile switcher when you connect your external display to switch it to while also disabling your laptop screen.
-
How to toggle transparency and gaps? Preserve display configuration?
I also heard of kanshi for monitor configuration, but I believe there's an open bug where sway reload breaks kanshi config... which kind of defeats the purpose.
- Single Background / Multiple Monitors
-
Script for docked mode
kanshi should be able to do it.
-
Organising workspaces on multiple monitors
Assuming your connected monitors may change - you plug another one in and then you want to move workspaces the new output: kanshi can help you with that. You can tell kanshi to execute commands when it matches a profile.
-
Sway not picking the highest refresh rate available
For this you can use kanshi.
What are some alternatives?
When comparing swayidle and kanshi you can also consider the following projects:
swaylock - Screen locker for Wayland
wlr-randr - An xrandr clone for wlroots compositors
wayvnc - A VNC server for wlroots based Wayland compositors
sway-borders - Fork of sway with some extra features, mainly related to borders.
dwl - dwm for Wayland - ARCHIVE: development has moved to Codeberg
wob - A lightweight overlay volume/backlight/progress/anything bar for Wayland.
wdisplays - GUI display configurator for wlroots compositors
swayidle - Idle management daemon for Wayland
wayland - Core Wayland protocol and libraries (mirror)
sway - i3-compatible Wayland compositor
wdisplays