SwayNotificationCenter VS slurp

Compare SwayNotificationCenter vs slurp and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
SwayNotificationCenter slurp
23 12
1,035 854
- -
8.4 5.7
8 days ago about 1 month ago
Vala C
GNU General Public License v3.0 only 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.

SwayNotificationCenter

Posts with mentions or reviews of SwayNotificationCenter. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-12.

slurp

Posts with mentions or reviews of slurp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-13.
  • Fast screenshots on Wayland
    3 projects | /r/learnrust | 13 Mar 2023
    If you're calling an external process anyway, maybe https://sr.ht/~emersion/grim/ suits your use case better? It can be chained with https://github.com/emersion/slurp to select a screen region with the mouse, if that's necessary.
  • Moving from a DE, loss of functionality?
    2 projects | /r/swaywm | 24 Nov 2022
    grim + slurp are a great solution
  • How to screen capture using ffmpeg on wayland?
    3 projects | /r/wayland | 24 Nov 2022
    Best used with slurp.
  • Slurp: Select a Region in a Wayland Compositor
    1 project | news.ycombinator.com | 4 Oct 2022
  • Why do wayfire took so long to load configs?
    9 projects | /r/Wayfire | 23 Sep 2022
    # 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
  • this gir is dangerous 😳
    2 projects | /r/masterhacker | 18 May 2022
    It's this program: https://github.com/emersion/slurp
  • Tell HN: Gnome on Wayland Is Amazing
    14 projects | news.ycombinator.com | 21 Mar 2022
    sway laptop user here (for almost 2 years I think?).

    I spent a little while on this, but I migrated from i3, so I just ported every little section of my config bit by bit.

    In terms of battery bar and other "bar" type things, I use waybar[0] which basically does all the things you'd expect by default (just install and it "works").

    For multi-monitor, config, I initially setup with wdisplays[1] (think arandr for wayland) and then manually copied the positions into my sway config. Monitor positioning was the only thing I needed to setup (and telling it that one monitor was HDPI) and then all of the scaling and everything worked perfectly. This was my biggest selling point for wayland, I now get nice crisp fonts and application scaling works nicely (which was not the case with X).

    volume control from the keyboard took no time, just a couple of extra lines.

    There was some stuff to do with the clipboard (wl-clipboard[2]) and screenshots (grim[3] + slurp[4]) that required some setup, but again, just a few lines, and didn't take much mental load.

    Oh and I needed to change my notifications daemon(dunst[5]), and chose to change my program launcher to one with a nicer interface and cleaner fonts (wofi[6]).

    I think that's all the tweaking that I did. Oh, and I needed to do something with pipewire to sort out screensharing at the start, don't remember that too well though...

    [0] https://github.com/Alexays/Waybar

    [1] https://github.com/artizirk/wdisplays

    [2] https://github.com/bugaevc/wl-clipboard

    [3] https://github.com/emersion/grim

    [4] https://github.com/emersion/slurp

    [5] https://github.com/dunst-project/dunst

    [6] https://hg.sr.ht/~scoopta/wofi

  • Screenshot app: remembers "selection" mode, copies to clipboard, wayland support?
    3 projects | /r/linuxquestions | 18 Mar 2022
    grim might work well but you'll probably have to write a shell script or something to keep track of the user preferences. You'll also need slurp if you want to select a region to screenshot.
  • What apps are you running on Sway? (Wayland Native Apps of course)
    20 projects | /r/swaywm | 7 Mar 2022
    Screenshots: grim + slurp + swappy
  • What are some automation scripts that have made your life easier?
    11 projects | /r/commandline | 15 Jul 2021
    # Details I'm an English speaker living abroad, and while I'm trying to learn the local language it's real hard. I found myself popping open a browser to use deepl quite frequently, or trying to find translator plugins for several different applications. To make this process easier, I wrote a script (bound to a hotkey) which will screenshot a selected area, OCR it, translate it to english, and show a notification with the translated text. It also copies the translated text to the clipboard. Why screenshot + OCR rather than just selecting and copying text? Images and screen-sharing, mostly. I think this is just a really cool way to show how the hard parts have usually been done for you, and all you need to do is put the blocks together. ## Implementation I'm running sway, so the several of the tools are Wayland specific. You could easily swap them out for xorg compatible variants if you like. The script is [here](https://github.com/rbuchberger/dotfiles/blob/master/scripts/screenshot\_translate). The toolchain is: * [Slurp](https://github.com/emersion/slurp) - select an area * [Grim](https://github.com/emersion/grim) - screenshot that area * [Tesseract](https://github.com/tesseract-ocr/tesseract) - OCR * [Translate Shell](https://www.soimort.org/translate-shell/) - Translation CLI * [Mako](https://github.com/emersion/mako) - Notification window Mako needed a little configuration to show long form text: [category=translation] width=900 height=1200 Edit: added details and links for the tools used.

What are some alternatives?

When comparing SwayNotificationCenter and slurp you can also consider the following projects:

mako - A lightweight Wayland notification daemon

grim - Grab images from a Wayland compositor

i3wm-Cheatsheet - i3wm Cheatsheet

eww - ElKowars wacky widgets

dunst - Lightweight and customizable notification daemon

swappy - A Wayland native snapshot editing tool, inspired by Snappy on macOS

salut

gammastep

nwg-wrapper - Wrapper to display a script output or a text file content on the desktop in sway or other wlroots-based compositors

translate-shell - :speech_balloon: Command-line translator using Google Translate, Bing Translator, Yandex.Translate, etc.

gtklock-userinfo-module - gtklock module adding user info to the lockscreen

.dotfiles - Config files for *nix and Sway tiling wm, branches for different distros/computers