Skip to content

Conversation

@ShellTux
Copy link

Ignoring secrets

How this pull request works

The basic idea, is to have a file that contains window classes, one entry per line, to ignore saving the clipboard into the sqlite database.

When the wl-clipboard-history is tracking clipboard changes through the command

wl-paste -w wl-clipboard-history

And every time it calls wl-clipboard-history without arguments, the script obtains the currently active window and checks against the ~/.config/wl-clipboard-history/ignore file and count how many times is inside the file.

If the count is different than zero, aka the currently active window is defined in the ignore configuration file, then we exit the wl-clipboard-history to not save to the file:

case $XDG_CURRENT_DESKTOP in
      Hyprland)
	[ ! $(hyprctl -j activewindow | jq -r '.class' | xargs -I _ grep --count '_' $clipboard_ignore_file) = 0 ] && exit 0
	;;
	# TODO: Add cases for other wayland compositors
   esac

Improvements

For now, it only works for the Hyprland compositor.
But to add to other wayland compositor is simple as adding more case statements like:

case $XDG_CURRENT_DESKTOP in
      Hyprland)
	[ ! $(hyprctl -j activewindow | jq -r '.class' | xargs -I _ grep --count '_' $clipboard_ignore_file) = 0 ] && exit 0
	;;
	sway)
        [ ! $(get currently active window for sway | xargs -I _ grep --count '_' $clipboard_ignore_file) = 0 ] && exit 0
        ;;
   esac

ShellTux added 6 commits May 12, 2023 01:24
- Changed the shebang in `wl-clipboard-history` from `#!/usr/bin/env sh` to `#!/usr/bin/env bash`.
Otherwise, the shell script won't run because of `set -euo pipefail`
- If the currently active window class is found
in the ignore window configuration file, then it doesn't add
the clipboard to the sqlite file.
- Added support for ignoring specific window classes
- [wl-clipboard-history] The `clipboard_ignore_file` is now located in `$HOME/.config/wl-clipboard-history/ignore` instead of `$HOME/.config/wayland-clipboard-ignore`
- [README.md] Change the name of the ignore file from `wayland-clipboard-ignore` to `wl-clipboard-history/ignore`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant