From 254a0dd97e5f25daad78f96e27131987c42e2644 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Mon, 28 Jul 2025 21:31:07 +0200 Subject: [PATCH] Update Sway config --- .gitignore | 2 + sway/.config/sway/conf.d/workspaces.conf | 12 -- sway/.config/sway/config | 17 ++- sway/.config/sway/grimshot.sh | 168 ----------------------- sway/.config/sway/grimshot_watermark.sh | 22 --- 5 files changed, 18 insertions(+), 203 deletions(-) delete mode 100644 sway/.config/sway/conf.d/workspaces.conf delete mode 100755 sway/.config/sway/grimshot.sh delete mode 100755 sway/.config/sway/grimshot_watermark.sh diff --git a/.gitignore b/.gitignore index e349900..b17ec87 100644 --- a/.gitignore +++ b/.gitignore @@ -268,4 +268,6 @@ build-iPhoneSimulator/ # Used by RuboCop. Remote config files pulled in from inherit_from directive. # .rubocop-https?--* +mpv/shaders/ + # End of https://www.toptal.com/developers/gitignore/api/perl,python,ruby diff --git a/sway/.config/sway/conf.d/workspaces.conf b/sway/.config/sway/conf.d/workspaces.conf deleted file mode 100644 index 474cf04..0000000 --- a/sway/.config/sway/conf.d/workspaces.conf +++ /dev/null @@ -1,12 +0,0 @@ -# Sway workspace -# -# In this file there are all workspace specific configurations -# - -#set $ws1 "" -#set $ws2 "" -#set $ws3 "" -#set $ws4 "" -#set $ws5 "" - -#assign [app_id="foot"] $ws1 diff --git a/sway/.config/sway/config b/sway/.config/sway/config index 07fa2f1..8755a40 100644 --- a/sway/.config/sway/config +++ b/sway/.config/sway/config @@ -72,6 +72,17 @@ exec wl-paste -t text --watch clipman store --no-persist # OSD server exec swayosd-server +#----------------# +# set gtk+ theme # +#----------------# +set $gnome-schema org.gnome.desktop.interface +exec_always { + gsettings set $gnome-schema gtk-theme 'Catppuccin' + gsettings set $gnome-schema icon-theme 'Papirus-Dark' + gsettings set $gnome-schema cursor-theme 'Catppuccin-cursor' + gsettings set $gnome-schema font-name 'jetbrains mono nerd font 12' +} + ### Input configuration # # Example configuration: @@ -134,6 +145,8 @@ exec swayosd-server # Waybar toggle bindsym $mod+o exec killall -SIGUSR1 waybar + bindsym $mod+t exec --no-startup-id telegram-desktop + # # Moving around: # @@ -284,9 +297,11 @@ bindsym $mod+r mode "resize" # Brightness lower with custom value('-' sign needed) bindsym XF86MonBrightnessDown exec swayosd-client --brightness -5 # Special key to take a screenshot with grim - bindsym Print exec grim + bindsym Print exec grim ~/Pictures/Screenshots/$(date "+%Y-%m-%d"T"%H:%M:%S").png # Lock the screen bindsym $mod+Alt+l exec $lockman + # Kill focused window + bindsym $mod+Shift+p kill # # Status Bar: diff --git a/sway/.config/sway/grimshot.sh b/sway/.config/sway/grimshot.sh deleted file mode 100755 index d90b5b7..0000000 --- a/sway/.config/sway/grimshot.sh +++ /dev/null @@ -1,168 +0,0 @@ -#!/bin/sh - -## Grimshot: a helper for screenshots within sway -## Requirements: -## - `grim`: screenshot utility for wayland -## - `slurp`: to select an area -## - `swaymsg`: to read properties of current window -## - `wl-copy`: clipboard utility -## - `jq`: json utility to parse swaymsg output -## - `notify-send`: to show notifications -## Those are needed to be installed, if unsure, run `grimshot check` -## -## See `man 1 grimshot` or `grimshot usage` for further details. - -getTargetDirectory() { - test -f "${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs" && \ - . "${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs" - - echo "${XDG_SCREENSHOTS_DIR:-${XDG_PICTURES_DIR:-$HOME/.cache/}}" -} - -NOTIFY=no -CURSOR= - -while [ $# -gt 0 ]; do - key="$1" - - case $key in - -n|--notify) - NOTIFY=yes - shift # past argument - ;; - -c|--cursor) - CURSOR=yes - shift # past argument - ;; - *) # unknown option - break # done with parsing --flags - ;; - esac -done - -ACTION=${1:-usage} -SUBJECT=${2:-screen} -FILE=${3:-$(getTargetDirectory)/$(date -Ins).png} - -if [ "$ACTION" != "save" ] && [ "$ACTION" != "copy" ] && [ "$ACTION" != "check" ]; then - echo "Usage:" - echo " grimshot [--notify] [--cursor] (copy|save) [active|screen|output|area|window] [FILE|-]" - echo " grimshot check" - echo " grimshot usage" - echo "" - echo "Commands:" - echo " copy: Copy the screenshot data into the clipboard." - echo " save: Save the screenshot to a regular file or '-' to pipe to STDOUT." - echo " check: Verify if required tools are installed and exit." - echo " usage: Show this message and exit." - echo "" - echo "Targets:" - echo " active: Currently active window." - echo " screen: All visible outputs." - echo " output: Currently active output." - echo " area: Manually select a region." - echo " window: Manually select a window." - exit -fi - -notify() { - notify-send -t 3000 -a grimshot "$@" -} -notifyOk() { - [ "$NOTIFY" = "no" ] && return - - TITLE=${2:-"Screenshot"} - MESSAGE=${1:-"OK"} - notify "$TITLE" "$MESSAGE" -} -notifyError() { - if [ $NOTIFY = "yes" ]; then - TITLE=${2:-"Screenshot"} - MESSAGE=${1:-"Error taking screenshot with grim"} - notify -u critical "$TITLE" "$MESSAGE" - else - echo "$1" - fi -} - -die() { - MSG=${1:-Bye} - notifyError "Error: $MSG" - exit 2 -} - -check() { - COMMAND=$1 - if command -v "$COMMAND" > /dev/null 2>&1; then - RESULT="OK" - else - RESULT="NOT FOUND" - fi - echo " $COMMAND: $RESULT" -} - -takeScreenshot() { - FILE=$1 - GEOM=$2 - OUTPUT=$3 - if [ -n "$OUTPUT" ]; then - grim ${CURSOR:+-c} -o "$OUTPUT" "$FILE" || die "Unable to invoke grim" - elif [ -z "$GEOM" ]; then - grim ${CURSOR:+-c} "$FILE" || die "Unable to invoke grim" - else - grim ${CURSOR:+-c} -g "$GEOM" "$FILE" || die "Unable to invoke grim" - fi -} - -if [ "$ACTION" = "check" ] ; then - echo "Checking if required tools are installed. If something is missing, install it to your system and make it available in PATH..." - check grim - check slurp - check swaymsg - check wl-copy - check jq - check notify-send - exit -elif [ "$SUBJECT" = "area" ] ; then - GEOM=$(slurp -d) - # Check if user exited slurp without selecting the area - if [ -z "$GEOM" ]; then - exit 1 - fi - WHAT="Area" -elif [ "$SUBJECT" = "active" ] ; then - FOCUSED=$(swaymsg -t get_tree | jq -r 'recurse(.nodes[]?, .floating_nodes[]?) | select(.focused)') - GEOM=$(echo "$FOCUSED" | jq -r '.rect | "\(.x),\(.y) \(.width)x\(.height)"') - APP_ID=$(echo "$FOCUSED" | jq -r '.app_id') - WHAT="$APP_ID window" -elif [ "$SUBJECT" = "screen" ] ; then - GEOM="" - WHAT="Screen" -elif [ "$SUBJECT" = "output" ] ; then - GEOM="" - OUTPUT=$(swaymsg -t get_outputs | jq -r '.[] | select(.focused)' | jq -r '.name') - WHAT="$OUTPUT" -elif [ "$SUBJECT" = "window" ] ; then - GEOM=$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp) - # Check if user exited slurp without selecting the area - if [ -z "$GEOM" ]; then - exit 1 - fi - WHAT="Window" -else - die "Unknown subject to take a screen shot from" "$SUBJECT" -fi - -if [ "$ACTION" = "copy" ] ; then - takeScreenshot - "$GEOM" "$OUTPUT" | wl-copy --type image/png || die "Clipboard error" - notifyOk "$WHAT copied to buffer" -else - if takeScreenshot "$FILE" "$GEOM" "$OUTPUT"; then - TITLE="Screenshot of $SUBJECT" - MESSAGE=$(basename "$FILE") - notifyOk "$MESSAGE" "$TITLE" - echo "$FILE" - else - notifyError "Error taking screenshot with grim" - fi -fi diff --git a/sway/.config/sway/grimshot_watermark.sh b/sway/.config/sway/grimshot_watermark.sh deleted file mode 100755 index fd466bd..0000000 --- a/sway/.config/sway/grimshot_watermark.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -FILE=$(date "+%Y-%m-%d"T"%H:%M:%S").png -# Get the picture from maim -grimshot --notify save area ~/Pictures/src.png -# add shadow, round corner, border and watermark -convert $HOME/Pictures/src.png \ - \( +clone -alpha extract \ - -draw 'fill black polygon 0,0 0,8 8,0 fill white circle 8,8 8,0' \ - \( +clone -flip \) -compose Multiply -composite \ - \( +clone -flop \) -compose Multiply -composite \ - \) -alpha off -compose CopyOpacity -composite $HOME/Pictures/output.png -# -convert $HOME/Pictures/output.png -bordercolor none -border 20 \( +clone -background black -shadow 80x8+15+15 \) \ - +swap -background transparent -layers merge +repage $HOME/Pictures/$FILE -# -composite -gravity Southeast ~/.config/sway/watermark.png $HOME/Pictures/$FILE $HOME/Pictures/$FILE -# -# # Send the Picture to clipboard -wl-copy < $HOME/Pictures/$FILE -# -# # remove the other pictures -rm $HOME/Pictures/src.png $HOME/Pictures/output.png