summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjohannst <johannes.stoelp@gmail.com>2020-05-19 22:02:41 +0200
committerjohannst <johannes.stoelp@gmail.com>2020-05-19 22:02:41 +0200
commita0089cb4a117930f3b9c36bcbbd6be8cf3747ff8 (patch)
tree3b7d4588a99f569a4994b46e8c49550d3da0325f
parent1c2275c86563a103a53a3199d25808aa98ed62dd (diff)
downloaddotfiles-a0089cb4a117930f3b9c36bcbbd6be8cf3747ff8.tar.gz
dotfiles-a0089cb4a117930f3b9c36bcbbd6be8cf3747ff8.zip
added rofi config + installer
-rwxr-xr-xinstall28
-rw-r--r--rofi.rasi145
-rwxr-xr-xscripts/rofi_pass.sh26
3 files changed, 193 insertions, 6 deletions
diff --git a/install b/install
index d7bb343..bcbec99 100755
--- a/install
+++ b/install
@@ -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