diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2022-05-27 16:07:23 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2022-05-27 16:07:23 +1200 |
commit | 3dd6d05cecc14cb6c7d8f16de0b3ea01815cda28 (patch) | |
tree | 0a3db4eab78f5e54b7517aba6544dbefa79d0003 | |
parent | Merge branch 'release/v12.6.0' (diff) | |
parent | Bump VERSION (diff) | |
download | dotfiles-3dd6d05cecc14cb6c7d8f16de0b3ea01815cda28.tar.gz dotfiles-3dd6d05cecc14cb6c7d8f16de0b3ea01815cda28.zip |
Merge branch 'release/v12.7.0'v12.7.0
* release/v12.7.0:
Use exec in sxhkdrc to save a fork
Use parents for terser sxhkdrc
Bump up shell history limits
Simplify xrandr/xwallpaper setup
Add configuration for Parcellite
Change dmenu_pass to type not copy the password
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | VERSION | 4 | ||||
-rw-r--r-- | bash/bashrc | 4 | ||||
-rwxr-xr-x[-rw-r--r--] | bin/dmenu_pass.sh | 9 | ||||
-rw-r--r-- | man/man1/dmenu_pass.1df | 10 | ||||
-rw-r--r-- | man/man7/dotfiles.7df | 3 | ||||
-rw-r--r-- | parcellite/parcelliterc | 41 | ||||
-rw-r--r-- | parcellite/xsession.d/redshift.sh | 2 | ||||
-rw-r--r-- | sh/shrc | 4 | ||||
-rw-r--r-- | sxhkd/sxhkdrc | 47 | ||||
-rw-r--r-- | x/xsession.sh | 15 |
12 files changed, 94 insertions, 51 deletions
@@ -35,6 +35,7 @@ install-mysql \ install-ncmpcpp \ install-newsboat \ + install-parcellite \ install-perlcritic \ install-perltidy \ install-plenv \ @@ -537,6 +538,10 @@ install-ksh: check-ksh install-sh install-login-shell: check-login-shell sh install/login-shell.sh +install-parcellite: install-x + cp -p -- parcellite/parcelliterc $(XDG_CONFIG_HOME) + cp -p -- redshift/xsession.d/* $(HOME)/.xsession.d + install-perlcritic: install-sh cp -p -- perlcritic/profile.d/*.sh $(HOME)/.profile.d mkdir -p -- $(XDG_CONFIG_HOME)/perlcritic @@ -99,6 +99,7 @@ Configuration is included for: - [Newsboat](https://newsboat.org/)---Terminal RSS/Atom feed reader - [`psql(1)`](https://linux.die.net/man/1/psql)---Command-line PostgreSQL client +- [Parcellite](http://parcellite.sourceforge.net/)---clipboard manager for X - [Perl::Critic](http://perlcritic.com/)---static source code analysis engine for Perl - [Perl::Tidy](http://perltidy.sourceforge.net/)---reformats Perl source code @@ -1,2 +1,2 @@ -tejr dotfiles v12.6.0 -Fri, 20 May 2022 14:24:04 +0000 +tejr dotfiles v12.7.0 +Fri, 27 May 2022 04:07:18 +0000 diff --git a/bash/bashrc b/bash/bashrc index a60a047e..5d3a7bbc 100644 --- a/bash/bashrc +++ b/bash/bashrc @@ -28,8 +28,8 @@ fi # Clear away command_not_found_handle if a system bashrc file set it up unset -f command_not_found_handle -# Keep around 32K lines of history in file -HISTFILESIZE=32768 +# Keep around 128K lines of history in file +HISTFILESIZE=131072 # Ignore duplicate commands HISTCONTROL=ignoredups diff --git a/bin/dmenu_pass.sh b/bin/dmenu_pass.sh index bfb687b1..44296439 100644..100755 --- a/bin/dmenu_pass.sh +++ b/bin/dmenu_pass.sh @@ -1,4 +1,4 @@ -# Pick a pass(1) password with dmenu(1) +# Pick and type out a pass(1) password with dmenu(1) and xdotool(1) self=dmenu_pass cd -- "${PASSWORD_STORE_DIR:-"$HOME"/.password-store}" || exit # shellcheck disable=SC2016 @@ -8,7 +8,10 @@ name=$( LC_ALL=C sort -f | dmenu ) -pass show --clip -- "$name" || exit +password=$(pass show -- "$name" | head -n 1) || exit +[ -n "$password" ] || exit +printf %s "$password" | xdotool type --clearmodifiers --file - \ + || exit notify-send --app-name="$self" -- \ - "Password saved to CLIPBOARD" \ + "Password typed" \ "$name" diff --git a/man/man1/dmenu_pass.1df b/man/man1/dmenu_pass.1df index 51c32adb..c83cd837 100644 --- a/man/man1/dmenu_pass.1df +++ b/man/man1/dmenu_pass.1df @@ -1,17 +1,17 @@ .TH DMENU_PASS 1df "May 2022" "Manual page for dmenu_pass" .SH NAME .B dmenu_pass -\- pick a pass(1) password with dmenu(1) +\- pick and type a password-store password .SH SYNOPSIS .B dmenu_pass .SH DESCRIPTION .B dmenu_pass -applies dmenu(1) to pick a password entry from a pass(1) store and put it into -the X CLIPBOARD using the "show" command. +applies dmenu(1) to pick a password entry from a pass(1) store and types it out +with xdotool(1). .P A notification with the default priority is sent when the password is -successfully clipped. +successfully typed. .SH SEE ALSO -dmenu(1), notify-send(1), pass(1) +dmenu(1), notify-send(1), pass(1), xdotool(1) .SH AUTHOR Tom Ryder <tom@sanctum.geek.nz> diff --git a/man/man7/dotfiles.7df b/man/man7/dotfiles.7df index f40500d0..8c19fbfe 100644 --- a/man/man7/dotfiles.7df +++ b/man/man7/dotfiles.7df @@ -149,6 +149,9 @@ Newsboat (https://newsboat.org/)\[em]Terminal RSS/Atom feed reader \f[C]psql(1)\f[R] (https://linux.die.net/man/1/psql)\[em]Command-line PostgreSQL client .IP \[bu] 2 +Parcellite (http://parcellite.sourceforge.net/)\[em]clipboard manager +for X +.IP \[bu] 2 Perl::Critic (http://perlcritic.com/)\[em]static source code analysis engine for Perl .IP \[bu] 2 diff --git a/parcellite/parcelliterc b/parcellite/parcelliterc new file mode 100644 index 00000000..fad0493e --- /dev/null +++ b/parcellite/parcelliterc @@ -0,0 +1,41 @@ +[rc] +RCVersion=1 +use_copy=true +use_primary=true +synchronize=false +save_history=true +history_pos=false +history_x=1 +history_y=1 +history_limit=64 +data_size=0 +item_size=8 +automatic_paste=false +auto_key=false +auto_mouse=true +key_input=false +restore_empty=true +rc_edit=false +type_search=false +case_search=false +ignore_whiteonly=false +trim_wspace_begend=false +trim_newline=false +hyperlinks_only=false +confirm_clear=true +current_on_top=true +single_line=true +reverse_history=true +item_length=50 +persistent_history=false +persistent_separate=false +persistent_on_top=false +persistent_delim=\\n +nonprint_disp=false +ellipsize=2 +multi_user=true +icon_name=parcellite +menu_key= +history_key= +phistory_key= +actions_key= diff --git a/parcellite/xsession.d/redshift.sh b/parcellite/xsession.d/redshift.sh new file mode 100644 index 00000000..25241ab3 --- /dev/null +++ b/parcellite/xsession.d/redshift.sh @@ -0,0 +1,2 @@ +# Start parcellite(1) +parcellite & @@ -4,8 +4,8 @@ command -p mesg n 2>/dev/null # Turn off flow control and control character echo command -p stty -ixon -ctlecho 2>/dev/null -# Keep around 4K lines of history in memory -HISTSIZE=4096 +# Keep around 16K lines of history in memory +HISTSIZE=16384 # If HOSTNAME isn't set by this shell, we'll do it if [ -z "$HOSTNAME" ] ; then diff --git a/sxhkd/sxhkdrc b/sxhkd/sxhkdrc index f8a44ebf..d655dc30 100644 --- a/sxhkd/sxhkdrc +++ b/sxhkd/sxhkdrc @@ -1,59 +1,50 @@ super + Return - x-terminal-emulator + exec x-terminal-emulator -super + control + Return - x-terminal-emulator -e sh - -super + shift + Return - x-terminal-emulator -e ksh - -super + alt + Return - x-terminal-emulator -e zsh +super + {control,shift,alt} + Return + exec x-terminal-emulator -e {sh,ksh,zsh} super + b - x-www-browser + exec x-www-browser super + d - dmenu_run + exec dmenu_run super + g - xgoc + exec xgoc super + i - gimp + exec gimp super + m - x-terminal-emulator -e tm + exec x-terminal-emulator -e tm super + p - dmenu_pass + exec dmenu_pass super + t - thunar + exec thunar super + v - x-terminal-emulator -e "$VISUAL" + exec x-terminal-emulator -e "$VISUAL" Print - xsnap + exec xsnap control + Print - xsnap --freeze --select + exec xsnap --freeze --select super + Print - xsnap --focused + exec xsnap --focused Pause - xlock + exec xlock XF86AudioMute - pactl set-sink-mute @DEFAULT_SINK@ toggle - -XF86AudioRaiseVolume - pactl set-sink-volume @DEFAULT_SINK@ +5% + exec pactl set-sink-mute @DEFAULT_SINK@ toggle -XF86AudioLowerVolume - pactl set-sink-volume @DEFAULT_SINK@ -5% +XF86Audio{Lower,Raise}Volume + exec pactl set-sink-volume @DEFAULT_SINK@ {-5%,+5%} XF86Calculator - x-terminal-emulator -e bcq + exec x-terminal-emulator -e bcq diff --git a/x/xsession.sh b/x/xsession.sh index 46cb0aa5..3475c0bd 100644 --- a/x/xsession.sh +++ b/x/xsession.sh @@ -8,16 +8,13 @@ # - ~/.config/xrandr/config # - ~/.config/xwallpaper/config # -# We figure each one out in a subshell, so that we can use a temporary variable -# for the configuration path without polluting the namespace of the rest of -# this script. +# We wait for the monitor setup to finish before proceeding, but we can do +# other things while we wait for the wallpaper to be drawn thereon. # -for program in xrandr xwallpaper ; do ( - command -v -- "$program" >/dev/null 2>&1 || exit - config=${XDG_CONFIG_HOME:-"$HOME"/.config}/"$program"/config - [ -e "$config" ] || exit - xargs -- "$program" < "$config" -) ; done +xargs xrandr \ + < "${XDG_CONFIG_HOME:-"$HOME"/.config}"/xrandr/config +xargs xwallpaper \ + < "${XDG_CONFIG_HOME:-"$HOME"/.config}"/xwallpaper/config & # Set a few keyboard map options: # |