diff options
| -rw-r--r-- | .config/i3/config | 235 | ||||
| -rwxr-xr-x | .config/i3/launch_compton.sh | 12 | ||||
| -rw-r--r-- | .config/i3/layouts/coms.json | 29 | ||||
| -rw-r--r-- | .config/i3/layouts/music.json | 27 | ||||
| -rw-r--r-- | .config/i3/layouts/videos.json | 11 | ||||
| -rw-r--r-- | .config/polybar/config | 333 | ||||
| -rwxr-xr-x | .config/polybar/launch.sh | 14 | ||||
| -rw-r--r-- | scripts/README.md | 3 | ||||
| -rwxr-xr-x | scripts/autoscript | 19 | ||||
| -rwxr-xr-x | scripts/current-term | 18 | ||||
| -rwxr-xr-x | scripts/firefox-private | 5 | ||||
| -rwxr-xr-x | scripts/mpv-gui | 3 | ||||
| -rwxr-xr-x | scripts/rofi-kvmap | 20 | ||||
| -rwxr-xr-x | scripts/rofi-passmenu | 28 | ||||
| -rwxr-xr-x | scripts/rofi-workspaces | 30 | ||||
| -rwxr-xr-x | scripts/scava | 5 | ||||
| -rwxr-xr-x | scripts/steam-oldchat | 5 | ||||
| -rwxr-xr-x | scripts/stranger | 5 | ||||
| -rwxr-xr-x | scripts/svimpc | 5 | ||||
| -rwxr-xr-x | scripts/sweechat | 5 |
20 files changed, 812 insertions, 0 deletions
diff --git a/.config/i3/config b/.config/i3/config new file mode 100644 index 0000000..91fd4ac --- /dev/null +++ b/.config/i3/config @@ -0,0 +1,235 @@ +# i3 config file (v4) +# Please see https://i3wm.org/docs/userguide.html for a complete reference! + +set $mod Mod4 + +# Font for window titles. +font pango:monospace 8 + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# start a terminal +bindsym $mod+Return exec current-term + +# kill focused window +bindsym $mod+Shift+q kill + +# change focus +bindsym $mod+j focus left +bindsym $mod+k focus down +bindsym $mod+l focus up +bindsym $mod+semicolon focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+j move left +bindsym $mod+Shift+k move down +bindsym $mod+Shift+l move up +bindsym $mod+Shift+semicolon move right + +# alternatively, you can use the cursor keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# Super+Alt to move the entire workspace to another monitor +bindsym $mod+Mod1+j move workspace to output left +bindsym $mod+Mod1+semicolon move workspace to output right + +bindsym $mod+Mod1+Left move workspace to output left +bindsym $mod+Mod1+Right move workspace to output right + +# split in horizontal orientation +bindsym $mod+h split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+d floating toggle + +bindsym $mod+Mod1+d sticky toggle + +# change focus between tiling / floating windows + bindsym $mod+d focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +set $mon_left "DVI-D-0" +set $mon_center "DVI-I-1" +set $mon_right "HDMI-0" + +# Workspaces for whatever +set $ws1 "1" +set $ws2 "2" +set $ws3 "3" +set $ws4 "4" +set $ws5 "5" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8" +set $ws9 "9" +set $ws10 "10" + +# Extra workspaces (mostly for secondary monitors) +set $ws_coms "coms" +set $ws_videos "videos" +set $ws_music "music" +set $ws_steam "steam" +set $ws_game "game" + +workspace $ws_coms output $mon_left +workspace $ws_videos output $mon_right +workspace $ws_music output $mon_right +#workspace $ws_steam output $mon_center +#workspace $ws_game output $mon_center + +# switch to workspace +bindsym $mod+1 workspace $ws1 +bindsym $mod+2 workspace $ws2 +bindsym $mod+3 workspace $ws3 +bindsym $mod+4 workspace $ws4 +bindsym $mod+5 workspace $ws5 +bindsym $mod+6 workspace $ws6 +bindsym $mod+7 workspace $ws7 +bindsym $mod+8 workspace $ws8 +bindsym $mod+9 workspace $ws9 +bindsym $mod+0 workspace $ws10 + +bindsym $mod+grave workspace $ws_coms +bindsym $mod+minus workspace $ws_steam +bindsym $mod+g workspace $ws_game +bindsym $mod+m workspace $ws_music + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace $ws1 +bindsym $mod+Shift+2 move container to workspace $ws2 +bindsym $mod+Shift+3 move container to workspace $ws3 +bindsym $mod+Shift+4 move container to workspace $ws4 +bindsym $mod+Shift+5 move container to workspace $ws5 +bindsym $mod+Shift+6 move container to workspace $ws6 +bindsym $mod+Shift+7 move container to workspace $ws7 +bindsym $mod+Shift+8 move container to workspace $ws8 +bindsym $mod+Shift+9 move container to workspace $ws9 +bindsym $mod+Shift+0 move container to workspace $ws10 + +bindsym $mod+Shift+grave move container to workspace $ws_coms +bindsym $mod+Shift+m move container to workspace $ws_music +bindsym $mod+Shift+minus move container to workspace $ws_steam +bindsym $mod+Shift+g move container to workspace $ws_game + +# reload the configuration file +bindsym $mod+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart + +set $system_mode "[s]hutdown, [r]eboot, s[u]spend, [l]ogout, l[o]ck" +mode $system_mode { + bindsym s exec systemctl poweroff + bindsym r exec systemctl reboot + bindsym u exec systemctl suspend + bindsym l exec i3-msg exit + bindsym o exec betterlockscreen -l; mode "default" + + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+Shift+e mode "default" +} + +bindsym $mod+Shift+e mode $system_mode + +mode "resize" { + bindsym j resize shrink width 1 px or 1 ppt + bindsym k resize grow height 1 px or 1 ppt + bindsym l resize shrink height 1 px or 1 ppt + bindsym semicolon resize grow width 1 px or 1 ppt + + bindsym Left resize shrink width 1 px or 1 ppt + bindsym Down resize grow height 1 px or 1 ppt + bindsym Up resize shrink height 1 px or 1 ppt + bindsym Right resize grow width 1 px or 1 ppt + + bindsym Shift+j resize shrink width 10 px or 10 ppt + bindsym Shift+k resize grow height 10 px or 10 ppt + bindsym Shift+l resize shrink height 10 px or 10 ppt + bindsym Shift+semicolon resize grow width 10 px or 10 ppt + + bindsym Shift+Left resize shrink width 10 px or 10 ppt + bindsym Shift+Down resize grow height 10 px or 10 ppt + bindsym Shift+Up resize shrink height 10 px or 10 ppt + bindsym Shift+Right resize grow width 10 px or 10 ppt + + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + +bindsym $mod+r mode "resize" + +# Rofi Bindings +bindsym $mod+space exec rofi -modi run -show run -matching fuzzy +bindsym $mod+p exec $HOME/scripts/rofi-passmenu -matching fuzzy +bindsym $mod+c exec clipmenu -p "copy" -matching fuzzy +bindsym $mod+i exec rofi-kvmap -matching fuzzy +bindsym $mod+equal exec rofi -show calc -modi calc -no-show-match -no-sort + +# Stupid idea i don't want to give up on +bindsym $mod+x exec rofi-workspaces -p "go to" -matching fuzzy +bindsym $mod+Shift+x exec rofi-workspaces --move -p "move to" -matching fuzzy + +# Volume controls +bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -1% +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +1% +bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle + +for_window [class="^com-atlauncher-App"] floating enable +for_window [class="^TeamViewer"] floating enable +for_window [title="^chatterino$"] floating enable +for_window [title="^Emotes from .*$"] floating enable +for_window [title="^Steam Guard .*$"] floating enable +for_window [instance="upc.exe" title="Installing.*"] floating enable +for_window [instance="ripcord" title="User Profile"] floating enable + +# No borders in my world +for_window [class=".*"] border none + +gaps inner 5 +gaps outer 2 +smart_gaps yes + +# Do not touch my mouse while I use it! +mouse_warping none +focus_follows_mouse no + +# Layouts I want pretty much all the time +exec --no-startup-id i3-msg "workspace $ws_coms; append_layout $HOME/.config/i3/layouts/coms.json" +exec --no-startup-id i3-msg "workspace $ws_music; append_layout $HOME/.config/i3/layouts/music.json" +exec --no-startup-id i3-msg "workspace $ws_videos; append_layout $HOME/.config/i3/layouts/videos.json" + +exec --no-startup-id teamspeak3 +exec --no-startup-id sweechat +exec --no-startup-id svimpc +exec --no-startup-id scava +exec --no-startup-id mpv-gui +exec --no-startup-id pasystray + +# These get restarted with i3 to reload their config files +exec_always --no-startup-id $HOME/.config/polybar/launch.sh +exec_always --no-startup-id $HOME/.config/i3/launch_compton.sh +exec_always --no-startup-id nitrogen --restore diff --git a/.config/i3/launch_compton.sh b/.config/i3/launch_compton.sh new file mode 100755 index 0000000..1b2f5a1 --- /dev/null +++ b/.config/i3/launch_compton.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# Terminate already running bar instances +killall -q compton + +# Wait until the processes have been shut down +while pgrep -u $UID -x compton >/dev/null; do sleep 1; done + +# Launch Polybar, using default config location ~/.config/polybar/config +compton & + +echo "compton launched..." diff --git a/.config/i3/layouts/coms.json b/.config/i3/layouts/coms.json new file mode 100644 index 0000000..6e93d00 --- /dev/null +++ b/.config/i3/layouts/coms.json @@ -0,0 +1,29 @@ +{ + "layout": "splith", + "percent": 1, + "type": "con", + "nodes": [ + { + "name": "Terminal", + "percent": 0.7, + "swallows": [ + { + "instance": "^weechat$" + } + ], + "type": "con" + }, + { + "name": "TeamSpeak 3", + "percent": 0.3, + "swallows": [ + { + "class": "^TeamSpeak\\ 3$", + "instance": "^ts3client_linux_amd64$", + "title": "^TeamSpeak\\ 3$" + } + ], + "type": "con" + } + ] +} diff --git a/.config/i3/layouts/music.json b/.config/i3/layouts/music.json new file mode 100644 index 0000000..8f80aab --- /dev/null +++ b/.config/i3/layouts/music.json @@ -0,0 +1,27 @@ +{ + "layout": "splitv", + "percent": 1, + "type": "con", + "nodes": [ + { + "name": "MPD Interface", + "percent": 0.8, + "swallows": [ + { + "instance": "^vimpc$" + } + ], + "type": "con" + }, + { + "name": "Visualizer", + "percent": 0.2, + "swallows": [ + { + "instance": "^cava$" + } + ], + "type": "con" + } + ] +} diff --git a/.config/i3/layouts/videos.json b/.config/i3/layouts/videos.json new file mode 100644 index 0000000..b353149 --- /dev/null +++ b/.config/i3/layouts/videos.json @@ -0,0 +1,11 @@ +{ + "name": "mpv", + "percent": 1, + "swallows": [ + { + "class": "^mpv$", + "instance": "^gl$" + } + ], + "type": "con" +} diff --git a/.config/polybar/config b/.config/polybar/config new file mode 100644 index 0000000..ae2f8b9 --- /dev/null +++ b/.config/polybar/config @@ -0,0 +1,333 @@ + +[colors] +background = #2220 +background-alt = #444 +foreground = #dfdfdf +foreground-alt = #555 +primary = #0fb5aa +secondary = #e60053 +alert = #bd2c40 + + +[bar/left] +monitor = ${env:MONITOR:DVI-D-0} +width = 100% +height = 20 +radius = 0.0 +fixed-center = false + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 3 +line-color = #f00 + +border-size = 4 +border-color = #00000000 + +padding-left = 0 +padding-right = 2 + +module-margin-left = 1 +module-margin-right = 2 + +font-0 = fixed:pixelsize=10;1 +font-1 = Unifont:fontformat=truetype:size=8:antialias=false;0 +font-2 = "WunconSiji:pixelsize=10;1" + +modules-left = date +modules-center = +modules-right = i3 + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +cursor-click = pointer +cursor-scroll = + + +[bar/center] +monitor = ${env:MONITOR:DVI-I-1} +width = 100% +height = 25 +radius = 0.0 +fixed-center = false + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 3 +line-color = #f00 + +border-size = 4 +border-color = #00000000 + +padding-left = 0 +padding-right = 2 + +module-margin-left = 1 +module-margin-right = 2 + +font-0 = fixed:pixelsize=10;1 +font-1 = Unifont:fontformat=truetype:size=8:antialias=false;0 +font-2 = "WunconSiji:pixelsize=10;1" + +modules-left = i3 +modules-center = xwindow +modules-right = filesystem pulseaudio memory cpu eth temperature date powermenu + +tray-position = right +tray-padding = 2 + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +cursor-click = pointer +cursor-scroll = + + +[bar/right] +monitor = ${env:MONITOR:HDMI-0} +width = 100% +height = 20 +radius = 0.0 +fixed-center = false + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 3 +line-color = #f00 + +border-size = 4 +border-color = #00000000 + +padding-left = 0 +padding-right = 2 + +module-margin-left = 1 +module-margin-right = 2 + +font-0 = fixed:pixelsize=10;1 +font-1 = Unifont:fontformat=truetype:size=8:antialias=false;0 +font-2 = "WunconSiji:pixelsize=10;1" + +modules-left = i3 +modules-center = mpd +modules-right = date + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +cursor-click = pointer +cursor-scroll = + + +[module/xwindow] +type = internal/xwindow +label = %title% +label-maxlen = 100 + + +[module/filesystem] +type = internal/fs +interval = 25 + +mount-0 = / + +label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% +label-unmounted = %mountpoint% not mounted +label-unmounted-foreground = ${colors.foreground-alt} + + +[module/i3] +type = internal/i3 +format = <label-state> <label-mode> +index-sort = true +wrapping-scroll = false +reverse-scroll = false + +; Only show workspaces on the same output as the bar +pin-workspaces = true + +label-mode-padding = 2 +label-mode-foreground = #000 +label-mode-background = ${colors.primary} + +; focused = Active workspace on focused monitor +label-focused = %name% +label-focused-background = ${colors.background-alt} +label-focused-underline= ${colors.primary} +label-focused-padding = 2 + +; unfocused = Inactive workspace on any monitor +label-unfocused = %name% +label-unfocused-padding = 2 + +; visible = Active workspace on unfocused monitor +label-visible = %name% +label-visible-background = ${self.label-focused-background} +label-visible-underline = ${self.label-focused-underline} +label-visible-padding = 2 + +; urgent = Workspace with urgency hint set +label-urgent = %name% +label-urgent-background = ${colors.alert} +label-urgent-padding = 2 + + +[module/mpd] +type = internal/mpd +format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next> + +icon-prev = +icon-stop = +icon-play = +icon-pause = +icon-next = + +label-song-maxlen = 25 +label-song-ellipsis = true + + +[module/cpu] +type = internal/cpu +interval = 2 +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #f90000 +label = %percentage:2%% + + +[module/memory] +type = internal/memory +interval = 2 +format = <ramp-used> <label> +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #4bffdc +label = %gb_used% +ramp-used-0 = ▁ +ramp-used-1 = ▂ +ramp-used-2 = ▃ +ramp-used-3 = ▄ +ramp-used-4 = ▅ +ramp-used-5 = ▆ +ramp-used-6 = ▇ +ramp-used-7 = █ + + +[module/eth] +type = internal/network +interface = enp0s25 +interval = 3.0 + +format-connected-underline = #55aa55 +format-connected-prefix = " " +format-connected-prefix-foreground = ${colors.foreground-alt} +label-connected = %local_ip% + +format-disconnected = + + +[module/date] +type = internal/date +interval = 5 + +date = " %y-%m-%d" +date-alt = + +time = %H:%M +time-alt = %H:%M:%S + +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #0a6cf5 + +label = %date% %time% + + +[module/pulseaudio] +type = internal/pulseaudio + +format-volume = <label-volume> <bar-volume> +label-volume = VOL %percentage%% +label-volume-foreground = ${root.foreground} + +label-muted = 🔇 muted +label-muted-foreground = #666 + +bar-volume-width = 10 +bar-volume-foreground-0 = #55aa55 +bar-volume-foreground-1 = #55aa55 +bar-volume-foreground-2 = #55aa55 +bar-volume-foreground-3 = #55aa55 +bar-volume-foreground-4 = #55aa55 +bar-volume-foreground-5 = #f5a70a +bar-volume-foreground-6 = #ff5555 +bar-volume-gradient = false +bar-volume-indicator = | +bar-volume-indicator-font = 2 +bar-volume-fill = ─ +bar-volume-fill-font = 2 +bar-volume-empty = ─ +bar-volume-empty-font = 2 +bar-volume-empty-foreground = ${colors.foreground-alt} + + +[module/temperature] +type = internal/temperature +thermal-zone = 0 +warn-temperature = 60 + +format = <ramp> <label> +format-underline = #f50a4d +format-warn = <ramp> <label-warn> +format-warn-underline = ${self.format-underline} + +label = %temperature-c% +label-warn = %temperature-c% +label-warn-foreground = ${colors.secondary} + +ramp-0 = +ramp-1 = +ramp-2 = +ramp-foreground = ${colors.foreground-alt} + + +[module/powermenu] +type = custom/menu + +expand-right = true + +format-spacing = 1 + +label-open = +label-open-foreground = ${colors.secondary} +label-close = cancel +label-close-foreground = ${colors.secondary} +label-separator = | +label-separator-foreground = ${colors.foreground-alt} + +menu-0-0 = reboot +menu-0-0-exec = menu-open-1 +menu-0-1 = power off +menu-0-1-exec = menu-open-2 + +menu-1-0 = cancel +menu-1-0-exec = menu-open-0 +menu-1-1 = reboot +menu-1-1-exec = systemctl reboot + +menu-2-0 = power off +menu-2-0-exec = systemctl poweroff +menu-2-1 = cancel +menu-2-1-exec = menu-open-0 + + +[settings] +screenchange-reload = true + +[global/wm] +margin-top = 5 +margin-bottom = 0 + +; vim:ft=dosini diff --git a/.config/polybar/launch.sh b/.config/polybar/launch.sh new file mode 100755 index 0000000..f39972f --- /dev/null +++ b/.config/polybar/launch.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done + +# Launch Polybar, using default config location ~/.config/polybar/config +polybar left & +polybar center & +polybar right & + +echo "Polybar launched..." diff --git a/scripts/README.md b/scripts/README.md new file mode 100644 index 0000000..a5f8e1f --- /dev/null +++ b/scripts/README.md @@ -0,0 +1,3 @@ +# Scripts + +Some of these are basically just aliases for programs outside of Zsh. diff --git a/scripts/autoscript b/scripts/autoscript new file mode 100755 index 0000000..c29bcc9 --- /dev/null +++ b/scripts/autoscript @@ -0,0 +1,19 @@ +#!/bin/bash + +if [ "$#" -ne 1 ]; then + echo "Exactly 1 argument is required" + exit +fi + +SCRIPT_FOLDER="$HOME/scripts" +SCRIPT_FILE="$SCRIPT_FOLDER/$1" + +if [[ -f $SCRIPT_FILE ]]; then + gvim $SCRIPT_FILE +else + echo -e '#!/bin/bash\n\n# vim: expandtab sw=2 ts=2' > $SCRIPT_FILE + chmod +x $SCRIPT_FILE + gvim $SCRIPT_FILE & +fi + +# vim: expandtab sw=2 ts=2 diff --git a/scripts/current-term b/scripts/current-term new file mode 100755 index 0000000..1917293 --- /dev/null +++ b/scripts/current-term @@ -0,0 +1,18 @@ +#!/bin/bash + +set_class=0 +if [[ $1 == "--class" ]]; then + set_class=1 + class=$2 + shift + shift +fi + +if [[ $set_class -eq 1 ]]; then + #termite --name=$class $@ + alacritty --class $class $@ +else + termite $@ +fi + +# vim: expandtab sw=2 ts=2 diff --git a/scripts/firefox-private b/scripts/firefox-private new file mode 100755 index 0000000..26a29d5 --- /dev/null +++ b/scripts/firefox-private @@ -0,0 +1,5 @@ +#!/bin/bash + +firefox --private-window $@ + +# vim: expandtab sw=2 ts=2 diff --git a/scripts/mpv-gui b/scripts/mpv-gui new file mode 100755 index 0000000..714e455 --- /dev/null +++ b/scripts/mpv-gui @@ -0,0 +1,3 @@ +#!/bin/bash +mpv --player-operation-mode=pseudo-gui +# vim: expandtab sw=2 ts=2 diff --git a/scripts/rofi-kvmap b/scripts/rofi-kvmap new file mode 100755 index 0000000..2ea33cc --- /dev/null +++ b/scripts/rofi-kvmap @@ -0,0 +1,20 @@ +#!/bin/bash + +character_list="kvmap_list.txt" +sep=":" + +cd "$(dirname "$0")" || exit 1 + + +selected_string=$(cat "$character_list" | rofi -dmenu -i -sync -p "key" $@) + +selected_symbol=$(cut -d "$sep" -f 2- <<< "$selected_string") +#trim whitespace +#selected_symbol=${selected_symbol// } + +for selection in clipboard primary; do + echo -n "$selected_symbol" | tr -d '\n' | xsel --logfile /dev/null -i --"$selection" +done +( + +# vim: expandtab sw=2 ts=2 diff --git a/scripts/rofi-passmenu b/scripts/rofi-passmenu new file mode 100755 index 0000000..1423685 --- /dev/null +++ b/scripts/rofi-passmenu @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +shopt -s nullglob globstar + +typeit=0 +if [[ $1 == "--type" ]]; then + typeit=1 + shift +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[@]}" | rofi -dmenu -p "Service" "$@") + +[[ -n $password ]] || exit + +if [[ $typeit -eq 0 ]]; then + if pass show -c "$password" 2>&1 | grep "is not in the password store"; then + length=$(rofi -dmenu -p "Length" "$@") + pass generate -c "$password" "$length" + fi +else + pass show "$password" | { IFS= read -r pass; printf %s "$pass"; } | + xdotool type --clearmodifiers --file - +fi diff --git a/scripts/rofi-workspaces b/scripts/rofi-workspaces new file mode 100755 index 0000000..a93190f --- /dev/null +++ b/scripts/rofi-workspaces @@ -0,0 +1,30 @@ +#!/bin/bash + +moveto=0 +if [[ "$1" == "--move" ]]; then + moveto=1 + shift +fi + +function get_workspaces () { + workspace_json="$(i3-msg -t get_workspaces)" + IFS=',' + read -ra split <<< "$workspace_json" + + for entry in "${split[@]}"; do + if [[ "$entry" == *"name"* ]]; then + IFS='"' + read -ra split <<< "$entry" + echo "${split[3]}" + fi + done +} + +selection=$(echo "$(get_workspaces)" | rofi -dmenu "$@") +if [[ $moveto -eq 0 ]]; then + i3-msg workspace "$selection" +else + i3-msg move container to workspace "$selection" +fi + +# vim: expandtab sw=2 ts=2 diff --git a/scripts/scava b/scripts/scava new file mode 100755 index 0000000..01684af --- /dev/null +++ b/scripts/scava @@ -0,0 +1,5 @@ +#!/bin/bash + +current-term --class cava -e cava + +# vim: expandtab sw=2 ts=2 diff --git a/scripts/steam-oldchat b/scripts/steam-oldchat new file mode 100755 index 0000000..1f3df12 --- /dev/null +++ b/scripts/steam-oldchat @@ -0,0 +1,5 @@ +#!/bin/bash + +steam-native -no-browser $@ + +# vim: expandtab sw=2 ts=2 diff --git a/scripts/stranger b/scripts/stranger new file mode 100755 index 0000000..08d5180 --- /dev/null +++ b/scripts/stranger @@ -0,0 +1,5 @@ +#!/bin/bash + +current-term --class ranger -e ranger + +# vim: expandtab sw=2 ts=2 diff --git a/scripts/svimpc b/scripts/svimpc new file mode 100755 index 0000000..9cd2d3f --- /dev/null +++ b/scripts/svimpc @@ -0,0 +1,5 @@ +#!/bin/bash + +current-term --class vimpc -e vimpc + +# vim: expandtab sw=2 ts=2 diff --git a/scripts/sweechat b/scripts/sweechat new file mode 100755 index 0000000..349faa2 --- /dev/null +++ b/scripts/sweechat @@ -0,0 +1,5 @@ +#!/bin/bash + +termite --name=weechat -e weechat + +# vim: expandtab sw=2 ts=2 |
