Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ignore secrets #9

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Ignore secrets #9

wants to merge 6 commits into from

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

- 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