grim
slurp
grim | slurp | |
---|---|---|
11 | 12 | |
757 | 861 | |
- | - | |
6.9 | 5.7 | |
about 2 years ago | about 2 months ago | |
C | C | |
MIT License | MIT License |
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.
grim
-
Ubuntu 22.10: Error "compositor doesn't support wlr-screencopy-unstable-v1" when trying to record the screen
"GNOME doesn't support wlr-screencopy-unstable-v1, which is the protocol grim uses to take screenshots." Source.
-
[GRIM] question
It's in the README
-
Good cli screenshots tool under wayland ?
there is grim which is supposed to work under Wayland but it seems like it only works under swayWM, the reason why i need a cli tool is that I want to build Rofi script on top of it, I'm a ware spectacle and it is a very great option but I would prefer a Rofi based tool .
-
Tell HN: Gnome on Wayland Is Amazing
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?
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)
Screenshots: grim + slurp + swappy
- Can I install Spectacle merely without other kde packages?
-
How can I take screenshot with imagemagick?
Since you have already noticed that it does not work with Wayland, it is a strange requirement to take a screenshot "with it". Why not use a tool that does work with wayland, e.g. Grim?
-
What are some automation scripts that have made your life easier?
# 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.
-
Flameshot, powerful screenshot tool, fully support Wayland (able to run on sway)
I don't wanna poop on their parade, but haven't Wayland screenshotters been around for a while? https://github.com/emersion/grim
That one has at least been around for long enough, and has worked perfectly under Sway for long enough, that I had to look up its name because I had it bound to a hotkey and had forgotten what it was called.
slurp
-
Fast screenshots on Wayland
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?
grim + slurp are a great solution
-
How to screen capture using ffmpeg on wayland?
Best used with slurp.
- Slurp: Select a Region in a Wayland Compositor
-
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
-
this gir is dangerous 😳
It's this program: https://github.com/emersion/slurp
-
Tell HN: Gnome on Wayland Is Amazing
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?
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)
Screenshots: grim + slurp + swappy
-
What are some automation scripts that have made your life easier?
# 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?
swappy - A Wayland native snapshot editing tool, inspired by Snappy on macOS
eww - ElKowars wacky widgets
wayland-protocols - Wayland protocol development (mirror)
kanshi - Dynamic display configuration (mirror)
gammastep
wl-clipboard - Command-line copy/paste utilities for Wayland
translate-shell - :speech_balloon: Command-line translator using Google Translate, Bing Translator, Yandex.Translate, etc.
xdg-desktop-portal-wlr - xdg-desktop-portal backend for wlroots
.dotfiles - Config files for *nix and Sway tiling wm, branches for different distros/computers
Waybar - Highly customizable Wayland bar for Sway and Wlroots based compositors. :v: :tada: