[sway] Switch launcher and pass to fuzzel
This commit is contained in:
parent
75af24765c
commit
269565187a
3 changed files with 133 additions and 16 deletions
89
.config/fuzzel/fuzzel.ini
Normal file
89
.config/fuzzel/fuzzel.ini
Normal file
|
@ -0,0 +1,89 @@
|
|||
# output=<not set>
|
||||
# font=monospace
|
||||
# dpi-aware=auto
|
||||
# prompt=>
|
||||
# icon-theme=hicolor
|
||||
# icons-enabled=yes
|
||||
# fields=filename,name,generic
|
||||
# password-character=*
|
||||
# fuzzy=yes
|
||||
# show-actions=no
|
||||
# terminal=$TERMINAL -e # Note: you cannot actually use environment variables here
|
||||
# launch-prefix=<not set>
|
||||
|
||||
# lines=15
|
||||
# width=30
|
||||
# horizontal-pad=40
|
||||
# vertical-pad=8
|
||||
# inner-pad=0
|
||||
|
||||
# image-size-ratio=0.5
|
||||
|
||||
# line-height=<use font metrics>
|
||||
# letter-spacing=0
|
||||
|
||||
# layer = top
|
||||
# exit-on-keyboard-focus-loss = yes
|
||||
|
||||
[colors]
|
||||
background=282a36dd
|
||||
text=f8f8f2ff
|
||||
match=8be9fdff
|
||||
selection-match=8be9fdff
|
||||
selection=44475add
|
||||
selection-text=f8f8f2ff
|
||||
border=bd93f9ff
|
||||
|
||||
[border]
|
||||
# width=1
|
||||
# radius=10
|
||||
|
||||
[dmenu]
|
||||
# mode=text # text|index
|
||||
# exit-immediately-if-empty=no
|
||||
|
||||
[key-bindings]
|
||||
# cancel=Escape Control+g
|
||||
# execute=Return KP_Enter Control+y
|
||||
# execute-or-next=Tab
|
||||
# cursor-left=Left Control+b
|
||||
# cursor-left-word=Control+Left Mod1+b
|
||||
# cursor-right=Right Control+f
|
||||
# cursor-right-word=Control+Right Mod1+f
|
||||
# cursor-home=Home Control+a
|
||||
# cursor-end=End Control+e
|
||||
# delete-prev=BackSpace
|
||||
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
||||
# delete-next=Delete
|
||||
# delete-next-word=Mod1+d Control+Delete
|
||||
# delete-line=Control+k
|
||||
# prev=Up Control+p
|
||||
# prev-with-wrap=ISO_Left_Tab
|
||||
# prev-page=PageUp KP_PageUp
|
||||
# next=Down Control+n
|
||||
# next-with-wrap=none
|
||||
# next-page=Page_Down KP_Page_Down
|
||||
|
||||
# custom-N: *dmenu mode only*. Like execute, but with a non-zero
|
||||
# exit-code; custom-1 exits with code 10, custom-2 with 11, custom-3
|
||||
# with 12, and so on.
|
||||
|
||||
# custom-1=Mod1+1
|
||||
# custom-2=Mod1+2
|
||||
# custom-3=Mod1+3
|
||||
# custom-4=Mod1+4
|
||||
# custom-5=Mod1+5
|
||||
# custom-6=Mod1+6
|
||||
# custom-7=Mod1+7
|
||||
# custom-8=Mod1+8
|
||||
# custom-9=Mod1+9
|
||||
# custom-10=Mod1+0
|
||||
# custom-11=Mod1+exclam
|
||||
# custom-12=Mod1+at
|
||||
# custom-13=Mod1+numbersign
|
||||
# custom-14=Mod1+dollar
|
||||
# custom-15=Mod1+percent
|
||||
# custom-16=Mod1+dead_circumflex
|
||||
# custom-17=Mod1+ampersand
|
||||
# custom-18=Mod1+asterix
|
||||
# custom-19=Mod1+parentleft
|
|
@ -72,13 +72,13 @@ set $mod Mod4
|
|||
set $alt Mod1
|
||||
|
||||
# Set up a shortcut to reload this config file:
|
||||
bindsym $mod+Shift+c reload
|
||||
bindsym $mod+k reload
|
||||
|
||||
# Quit your current session and return to the log-in manager/tty:
|
||||
bindsym $mod+Shift+e exec $HOME/.config/sway/exit.sh
|
||||
bindsym $mod+Shift+k exec $HOME/.config/sway/exit.sh
|
||||
|
||||
# Open password menu
|
||||
bindsym $mod+x exec $HOME/.local/bin/passmenu --type
|
||||
bindsym $mod+x exec $HOME/.local/bin/fuzzel-menu --type
|
||||
|
||||
# Screen locking (automatic, with a timeout)
|
||||
set $lock swaylock -c 550000
|
||||
|
@ -102,12 +102,6 @@ bindsym $mod+Down focus down
|
|||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# Move focus to another window ("cult of vim" version):
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+l focus right
|
||||
bindsym $mod+k focus up
|
||||
|
||||
# Move the window:
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
|
@ -228,12 +222,12 @@ bindsym $mod+Ctrl+Down move workspace to output down
|
|||
# You can "split" the current object of your focus with
|
||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||
# respectively.
|
||||
bindsym $mod+b splith
|
||||
bindsym $mod+b splih
|
||||
bindsym $mod+v splitv
|
||||
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+t layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# Make the current focus fullscreen
|
||||
|
@ -280,7 +274,7 @@ bindsym XF86MonBrightnessUp exec light -A 10
|
|||
# Keyboard Shortcuts (launching applications) #
|
||||
#=============================================#
|
||||
# Set up wofi to replace dmenu as the launcher of choice:
|
||||
set $menu wofi --show drun -i | xargs swaymsg exec --
|
||||
set $menu fuzzel
|
||||
|
||||
# Launch your browser:
|
||||
bindsym $mod+shift+b exec firefox
|
||||
|
@ -290,8 +284,7 @@ bindsym ctrl+$mod+f exec pcmanfm
|
|||
|
||||
# Open a terminal emulator:
|
||||
set $term alacritty
|
||||
bindsym $mod+t exec $term
|
||||
bindsym $mod+Shift+t exec $term -e tmuxinator start default
|
||||
bindsym $mod+Shift+c exec $term
|
||||
|
||||
# Kill focused window:
|
||||
bindsym $mod+F4 kill
|
||||
|
@ -322,7 +315,7 @@ for_window [app_id="gnome-calendar"] floating enable
|
|||
# Startup app #
|
||||
#===============================#
|
||||
|
||||
exec nextcloud
|
||||
exec sleep 5s && nextcloud --background
|
||||
|
||||
#===============================#
|
||||
# Dropdown terminal #
|
||||
|
@ -344,7 +337,7 @@ for_window [app_id="$ddterm-id"] {
|
|||
}
|
||||
|
||||
# show existing or start new dropdown terminal
|
||||
bindsym Ctrl+Escape exec swaymsg '[app_id="$ddterm-id"] scratchpad show' \
|
||||
bindsym $mod+c exec swaymsg '[app_id="$ddterm-id"] scratchpad show' \
|
||||
|| $ddterm -e tmuxinator start default \
|
||||
&& sleep .1 && swaymsg '[app_id="$ddterm-id"] $ddterm-resize'
|
||||
# ^-- resize again, case moving to different output
|
||||
|
|
35
.local/bin/fuzzel-menu
Executable file
35
.local/bin/fuzzel-menu
Executable file
|
@ -0,0 +1,35 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
shopt -s nullglob globstar
|
||||
|
||||
typeit=0
|
||||
if [[ $1 == "--type" ]]; then
|
||||
typeit=1
|
||||
shift
|
||||
fi
|
||||
|
||||
if [[ -n $WAYLAND_DISPLAY ]]; then
|
||||
dmenu="fuzzel --dmenu --prompt '🔐 Password :'"
|
||||
xdotool="/usr/bin/wtype -"
|
||||
elif [[ -n $DISPLAY ]]; then
|
||||
dmenu=dmenu
|
||||
xdotool="xdotool type --clearmodifiers --file -"
|
||||
else
|
||||
echo "Error: No Wayland or X11 display detected" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
prefix=${PASSWORD_STORE_DIR-~/.password-store}
|
||||
password_files=( "$prefix"/**/*.gpg )
|
||||
password_files=( "${password_files[@]#"$prefix"/}" )
|
||||
password_files=( "${password_files[@]%.gpg}" )
|
||||
|
||||
password=$(printf '%s\n' "${password_files[@]}" | fuzzel --dmenu --prompt "🔐 Password : " )
|
||||
|
||||
[[ -n $password ]] || exit
|
||||
|
||||
if [[ $typeit -eq 0 ]]; then
|
||||
pass show -c "$password" 2>/dev/null
|
||||
else
|
||||
pass show "$password" | { IFS= read -r pass; printf %s "$pass"; } | $xdotool
|
||||
fi
|
Loading…
Reference in a new issue