diff options
author | johannst <johannes.stoelp@gmail.com> | 2020-05-19 22:02:41 +0200 |
---|---|---|
committer | johannst <johannes.stoelp@gmail.com> | 2020-05-19 22:02:41 +0200 |
commit | a0089cb4a117930f3b9c36bcbbd6be8cf3747ff8 (patch) | |
tree | 3b7d4588a99f569a4994b46e8c49550d3da0325f | |
parent | 1c2275c86563a103a53a3199d25808aa98ed62dd (diff) | |
download | dotfiles-a0089cb4a117930f3b9c36bcbbd6be8cf3747ff8.tar.gz dotfiles-a0089cb4a117930f3b9c36bcbbd6be8cf3747ff8.zip |
added rofi config + installer
-rwxr-xr-x | install | 28 | ||||
-rw-r--r-- | rofi.rasi | 145 | ||||
-rwxr-xr-x | scripts/rofi_pass.sh | 26 |
3 files changed, 193 insertions, 6 deletions
@@ -20,6 +20,7 @@ gToolsConfig=( "i3blocks:i3blocks:i3blocksConfigInstaller" "termite:termite:termiteConfigInstaller" "zshrc:zsh:zshrcInstaller" +"rofi:rofi:rofiConfigInstaller" ) gMagicNumber=e2718281 @@ -152,13 +153,13 @@ function xtermConfigInstaller() { #{{{ i3ConfigInstaller function i3ConfigInstaller() { - local i3_home=~/.i3 + local i3_home=~/.config/i3 local i3_conf=$i3_home/config mkdir $i3_home 2> /dev/null if [ -f $i3_conf ]; then return 1 fi - cp i3wm.conf $i3_conf + cp $ABS_BASE_DIR/i3wm.conf $i3_conf return 0 } @@ -166,13 +167,13 @@ function i3ConfigInstaller() { #{{{ i3statusConfigInstaller function i3statusConfigInstaller() { - local i3_home=~/.i3 + local i3_home=~/config/.i3 local i3_status_conf=$i3_home/i3status.conf mkdir $i3_home 2> /dev/null if [ -f $i3_status_conf ]; then return 1 fi - cp i3status.conf $i3_status_conf + cp $ABS_BASE_DIR/i3status.conf $i3_status_conf local nif=$(ip link show | grep ^[1-9] | grep -v LOOPBACK | sed 's/ //g' | cut -d ':' -f 2) @@ -203,13 +204,13 @@ function i3statusConfigInstaller() { #{{{ i3blocksConfigInstaller function i3blocksConfigInstaller() { - local i3_home=~/.i3 + local i3_home=~/.config/i3 local i3_blocks_conf=$i3_home/i3blocks.conf mkdir $i3_home 2> /dev/null if [ -f $i3_blocks_conf ]; then return 1 fi - cp i3blocks.conf $i3_blocks_conf + cp $ABS_BASE_DIR/i3blocks.conf $i3_blocks_conf return 0 } @@ -248,6 +249,21 @@ function zshrcInstaller() { } #}}} +#{{{ i3blocksConfigInstaller + +function rofiConfigInstaller() { + local rofi_home=~/.config/rofi + local rofi_conf=$rofi_home/config.rasi + mkdir $rofi_home 2> /dev/null + if [ -f $rofi_conf ]; then + return 1 + fi + ln -s $ABS_BASE_DIR/rofi.rasi $rofi_conf + + return 0 +} + +#}}} #{{{ Installer Main Loop diff --git a/rofi.rasi b/rofi.rasi new file mode 100644 index 0000000..4fec090 --- /dev/null +++ b/rofi.rasi @@ -0,0 +1,145 @@ +configuration { + modi: "drun,run,window,ssh,pass:~/.scripts/rofi_pass.sh"; +/* width: 50;*/ +/* lines: 15;*/ +/* columns: 1;*/ +/* font: "mono 12";*/ +/* bw: 1;*/ +/* location: 0;*/ +/* padding: 5;*/ +/* yoffset: 0;*/ +/* xoffset: 0;*/ +/* fixed-num-lines: true;*/ + show-icons: true; +/* terminal: "rofi-sensible-terminal";*/ +/* ssh-client: "ssh";*/ + ssh-command: "{terminal} -e "{ssh-client} {host}""; +/* run-command: "{cmd}";*/ +/* run-list-command: "";*/ +/* run-shell-command: "{terminal} -e {cmd}";*/ +/* window-command: "wmctrl -i -R {window}";*/ +/* window-match-fields: "all";*/ + icon-theme: "Papirus-Dark-Maia"; +/* drun-match-fields: "name,generic,exec,categories";*/ +/* drun-show-actions: false;*/ +/* drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";*/ +/* disable-history: false;*/ +/* ignored-prefixes: "";*/ +/* sort: false;*/ +/* sorting-method: ;*/ +/* case-sensitive: false;*/ +/* cycle: true;*/ + sidebar-mode: true; +/* eh: 1;*/ +/* auto-select: false;*/ +/* parse-hosts: false;*/ + parse-known-hosts: false; +/* combi-modi: "window,run";*/ +/* matching: "normal";*/ +/* tokenize: true;*/ +/* m: "-5";*/ +/* line-margin: 2;*/ +/* line-padding: 1;*/ +/* filter: ;*/ +/* separator-style: "dash";*/ +/* hide-scrollbar: false;*/ +/* fullscreen: false;*/ +/* fake-transparency: false;*/ +/* dpi: -1;*/ +/* threads: 0;*/ +/* scrollbar-width: 8;*/ +/* scroll-method: 0;*/ +/* fake-background: "screenshot";*/ +/* window-format: "{w} {c} {t}";*/ +/* click-to-exit: true;*/ +/* show-match: true;*/ + theme: "Arc-Dark"; +/* color-normal: ;*/ +/* color-urgent: ;*/ +/* color-active: ;*/ +/* color-window: ;*/ +/* max-history-size: 25;*/ +/* combi-hide-mode-prefix: false;*/ +/* matching-negate-char: '-' /* unsupported */;*/ +/* cache-dir: ;*/ +/* pid: "/run/user/1000/rofi.pid";*/ +/* display-window: ;*/ +/* display-windowcd: ;*/ +/* display-run: ;*/ +/* display-ssh: ;*/ +/* display-drun: ;*/ +/* display-combi: ;*/ +/* display-keys: ;*/ +/* kb-primary-paste: "Control+V,Shift+Insert";*/ +/* kb-secondary-paste: "Control+v,Insert";*/ +/* kb-clear-line: "Control+w";*/ +/* kb-move-front: "Control+a";*/ +/* kb-move-end: "Control+e";*/ +/* kb-move-word-back: "Alt+b,Control+Left";*/ +/* kb-move-word-forward: "Alt+f,Control+Right";*/ +/* kb-move-char-back: "Left,Control+b";*/ +/* kb-move-char-forward: "Right,Control+f";*/ +/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/ +/* kb-remove-word-forward: "Control+Alt+d";*/ +/* kb-remove-char-forward: "Delete,Control+d";*/ +/* kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";*/ +/* kb-remove-to-eol: "Control+k";*/ +/* kb-remove-to-sol: "Control+u";*/ +/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/ +/* kb-accept-custom: "Control+Return";*/ +/* kb-accept-alt: "Shift+Return";*/ +/* kb-delete-entry: "Shift+Delete";*/ + kb-mode-next: "Shift+Right,Control+Tab,Super+Tab"; + kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab,Super+ISO_Left_Tab"; +/* kb-row-left: "Control+Page_Up";*/ +/* kb-row-right: "Control+Page_Down";*/ +/* kb-row-up: "Up,Control+p,ISO_Left_Tab";*/ +/* kb-row-down: "Down,Control+n";*/ +/* kb-row-tab: "Tab";*/ +/* kb-page-prev: "Page_Up";*/ +/* kb-page-next: "Page_Down";*/ +/* kb-row-first: "Home,KP_Home";*/ +/* kb-row-last: "End,KP_End";*/ +/* kb-row-select: "Control+space";*/ +/* kb-screenshot: "Alt+S";*/ +/* kb-ellipsize: "Alt+period";*/ +/* kb-toggle-case-sensitivity: "grave,dead_grave";*/ +/* kb-toggle-sort: "Alt+grave";*/ +/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/ +/* kb-custom-1: "Alt+1";*/ +/* kb-custom-2: "Alt+2";*/ +/* kb-custom-3: "Alt+3";*/ +/* kb-custom-4: "Alt+4";*/ +/* kb-custom-5: "Alt+5";*/ +/* kb-custom-6: "Alt+6";*/ +/* kb-custom-7: "Alt+7";*/ +/* kb-custom-8: "Alt+8";*/ +/* kb-custom-9: "Alt+9";*/ +/* kb-custom-10: "Alt+0";*/ +/* kb-custom-11: "Alt+exclam";*/ +/* kb-custom-12: "Alt+at";*/ +/* kb-custom-13: "Alt+numbersign";*/ +/* kb-custom-14: "Alt+dollar";*/ +/* kb-custom-15: "Alt+percent";*/ +/* kb-custom-16: "Alt+dead_circumflex";*/ +/* kb-custom-17: "Alt+ampersand";*/ +/* kb-custom-18: "Alt+asterisk";*/ +/* kb-custom-19: "Alt+parenleft";*/ +/* kb-select-1: "Super+1";*/ +/* kb-select-2: "Super+2";*/ +/* kb-select-3: "Super+3";*/ +/* kb-select-4: "Super+4";*/ +/* kb-select-5: "Super+5";*/ +/* kb-select-6: "Super+6";*/ +/* kb-select-7: "Super+7";*/ +/* kb-select-8: "Super+8";*/ +/* kb-select-9: "Super+9";*/ +/* kb-select-10: "Super+0";*/ +/* ml-row-left: "ScrollLeft";*/ +/* ml-row-right: "ScrollRight";*/ +/* ml-row-up: "ScrollUp";*/ +/* ml-row-down: "ScrollDown";*/ +/* me-select-entry: "MousePrimary";*/ +/* me-accept-entry: "MouseDPrimary";*/ +/* me-accept-custom: "Control+MouseDPrimary";*/ +} diff --git a/scripts/rofi_pass.sh b/scripts/rofi_pass.sh new file mode 100755 index 0000000..5382670 --- /dev/null +++ b/scripts/rofi_pass.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +# dotfiles -- scripts/rofi_pass.sh +# author: johannst +# +# run as: rofi -show pass -modi pass:./rofi_pass.sh +# +# rofi will invoke this script without args to populate the selection dialogue. +# After selecting one element, rofi will invoke this script with the selection +# as argument. + +prefix=${PASSWORD_STORE_DIR:-~/.password-store} + +echo "1: $1" >> ~/ROFI + +password=$1 +if [ -z $password ]; then + shopt -s nullglob globstar + passwords=($prefix/**/*.gpg) + passwords=(${passwords[@]#$prefix/}) + passwords=(${passwords[@]%.gpg} ) + printf '%s\n' ${passwords[@]} +else + # Run async with coproc (rofi intrinsic) + # else rofi UI blocks pinentry. + coproc (pass show -c $password &> /dev/null) +fi |