Add screenshot sync to Mac via niri

This commit is contained in:
2026-02-20 17:37:53 +00:00
parent 6a82a3c5d2
commit 567a2a3ffc
3 changed files with 31 additions and 2 deletions

View File

@@ -29,7 +29,7 @@ map kitty_mod+,
#: kitty has very powerful font management. You can configure #: kitty has very powerful font management. You can configure
#: individual font faces and even specify special fonts for particular #: individual font faces and even specify special fonts for particular
#: characters. #: characters.
font_family family="FantasqueSansM Nerd Font" font_family family="IosevkaTermSlab Nerd Font"
bold_font auto bold_font auto
italic_font auto italic_font auto
bold_italic_font auto bold_italic_font auto

View File

@@ -489,7 +489,7 @@ binds {
// Mod+Space { switch-layout "next"; } // Mod+Space { switch-layout "next"; }
// Mod+Shift+Space { switch-layout "prev"; } // Mod+Shift+Space { switch-layout "prev"; }
Mod+P { screenshot; } Mod+P { spawn "sh" "-c" "niri msg action screenshot && ~/.config/niri/copy-latest-screenshot.sh"; }
Mod+Ctrl+P { screenshot-screen; } Mod+Ctrl+P { screenshot-screen; }
Mod+Alt+P { screenshot-window; } Mod+Alt+P { screenshot-window; }

View File

@@ -0,0 +1,29 @@
#!/usr/bin/env bash
screenshot_dir="$HOME/Pictures/Screenshots"
remote_target="mac-attio:~/screenshot.png"
notify() {
DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -u)/bus" \
XDG_RUNTIME_DIR="/run/user/$(id -u)" \
notify-send "$@"
}
shopt -s nullglob
files=("$screenshot_dir"/*.png)
latest_file=""
if (( ${#files[@]} )); then
latest_file=$(ls -1t "${files[@]}" | head -n 1)
fi
if [[ -z "${latest_file:-}" ]]; then
notify "Screenshot upload" "No screenshots found in $screenshot_dir"
exit 1
fi
if scp -q "$latest_file" "$remote_target"; then
notify "Screenshot upload" "Uploaded $(basename "$latest_file")"
else
notify "Screenshot upload" "Upload failed"
exit 1
fi