mako VS slurp

Compare mako vs slurp and see what are their differences.

mako

A lightweight Wayland notification daemon (by emersion)

slurp

Select a region in a Wayland compositor (by emersion)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
mako slurp
16 12
1,964 850
- -
7.0 5.7
26 days ago about 1 month 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.

mako

Posts with mentions or reviews of mako. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-08-27.
  • Any software that can get me pop up windows when doing certain stuff?
    6 projects | /r/swaywm | 27 Aug 2022
    I use avizo as a volume indicator, mako for notifications generally.
  • Is there some app that lets you launch a simple text overlay?
    7 projects | /r/swaywm | 10 Aug 2022
    I guess some standard notifications app like https://github.com/emersion/mako doesn't suffice, as it isn't related to a window?
  • Thoughts over MicroOS aftering giving a try
    2 projects | /r/openSUSE | 28 Jul 2022
    mako is a Wayland notification daemon from one of the principal Sway/wlroots devs, and is currently provided with openSUSEway. It's pretty minimalist, but so are most things in the Sway/wlroots ecosystem.
  • Long time Arch user, moved to Gentoo a couple months ago.
    3 projects | /r/Gentoo | 26 Mar 2022
    It's a notification, I use mako: https://github.com/emersion/mako
  • What apps are you running on Sway? (Wayland Native Apps of course)
    20 projects | /r/swaywm | 7 Mar 2022
    Notifications: mako
  • Was told y'all might like my new laptop setup
    5 projects | /r/outrun | 1 Sep 2021
    The little one at the bottom right is mako, the music player is ncmpcpp and the music visualiser is cava
  • Notification center like window for sway
    2 projects | /r/swaywm | 22 Jul 2021
    Not really the same but still a cool notification Daemon https://github.com/emersion/mako
  • 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.
  • [sway] fake busy for the updoots
    15 projects | /r/unixporn | 27 Dec 2020
    notification: mako

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.
  • 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 mako and slurp you can also consider the following projects:

dunst - Lightweight and customizable notification daemon

grim - Grab images from a Wayland compositor

sway - i3-compatible Wayland compositor

dust - A more intuitive version of du in rust

eww - ElKowars wacky widgets

swaylock - Screen locker for Wayland

SimpleFox - 🦊 A Userstyle theme for Firefox minimalist and Keyboard centered.

SwayNotificationCenter - A simple GTK based notification daemon for SwayWM

hello-wayland - A hello world Wayland client (mirror)

ncmpcpp - Featureful ncurses based MPD client inspired by ncmpc

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