From 596d9368f5feb0d2de35cc24d7fdfaaed3344f7b Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Thu, 26 Nov 2020 17:48:20 +0100 Subject: [PATCH] New i3 config. --- Makefile | 2 +- config/rofi/config | 1 + config/rofi/gebner.rasi | 141 ++++++++++++++++++++++++++++++++++++++++ i3/config.m4 | 20 +++--- i3status.conf.m4 | 2 +- my-rofi-pass | 58 +++++++++++++++++ 6 files changed, 213 insertions(+), 11 deletions(-) create mode 100644 config/rofi/config create mode 100644 config/rofi/gebner.rasi create mode 100755 my-rofi-pass diff --git a/Makefile b/Makefile index 6f4a217..06498ea 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ FILES = bashrc bash_profile vimrc zshrc gitconfig screenrc commonshrc liquidprom i3/config i3status.conf config/dunst/dunstrc msmtprc spacemacs emacs.d mbsyncrc authinfo \ config/qutebrowser config/nvim/init.vim ideavimrc \ config/khal config/vdirsyncer/config config/khard \ - config/rofi-pass gdbinit notmuch-config \ + config/rofi config/rofi-pass gdbinit notmuch-config \ config/fish tridactylrc config/sway/config config/mpv/mpv.conf \ config/wofi config/waybar \ viebrc config/Vieb/colors \ diff --git a/config/rofi/config b/config/rofi/config new file mode 100644 index 0000000..af98203 --- /dev/null +++ b/config/rofi/config @@ -0,0 +1 @@ +rofi.theme: gebner.rasi diff --git a/config/rofi/gebner.rasi b/config/rofi/gebner.rasi new file mode 100644 index 0000000..d3fad15 --- /dev/null +++ b/config/rofi/gebner.rasi @@ -0,0 +1,141 @@ +* { + selected-normal-foreground: rgba ( 255, 255, 255, 100 % ); + foreground: rgba ( 255, 255, 255, 100 % ); + normal-foreground: @foreground; + alternate-normal-background: transparent; + red: rgba ( 220, 50, 47, 100 % ); + selected-urgent-foreground: rgba ( 255, 195, 156, 100 % ); + blue: rgba ( 38, 139, 210, 100 % ); + urgent-foreground: rgba ( 243, 132, 61, 100 % ); + alternate-urgent-background: transparent; + active-foreground: rgba ( 38, 139, 210, 100 % ); + lightbg: rgba ( 238, 232, 213, 100 % ); + selected-active-foreground: rgba ( 32, 81, 113, 100 % ); + alternate-active-background: transparent; + background: transparent; + bordercolor: rgba ( 57, 57, 57, 100 % ); + alternate-normal-foreground: @foreground; + normal-background: transparent; + lightfg: rgba ( 88, 104, 117, 100 % ); + selected-normal-background: rgba ( 38, 139, 210, 100 % ); + border-color: @foreground; + spacing: 2; + separatorcolor: rgba ( 38, 139, 210, 100 % ); + urgent-background: transparent; + selected-urgent-background: rgba ( 38, 139, 210, 100 % ); + alternate-urgent-foreground: @urgent-foreground; + background-color: rgba ( 0, 0, 0, 0 % ); + alternate-active-foreground: @active-foreground; + active-background: rgba ( 57, 57, 57, 100 % ); + selected-active-background: rgba ( 38, 139, 210, 100 % ); +} +window { + background-color: rgba ( 57, 57, 57, 95 % ); + border: 1; + padding: 5; +} +mainbox { + border: 0; + padding: 0; +} +message { + border: 1px dash 0px 0px ; + border-color: @separatorcolor; + padding: 1px ; +} +textbox { + text-color: @foreground; +} +listview { + fixed-height: 0; + border: 2px dash 0px 0px ; + border-color: @separatorcolor; + spacing: 2px ; + scrollbar: true; + padding: 2px 0px 0px ; +} +element { + border: 0; + padding: 1px ; +} +element.normal.normal { + background-color: @normal-background; + text-color: @normal-foreground; +} +element.normal.urgent { + background-color: @urgent-background; + text-color: @urgent-foreground; +} +element.normal.active { + background-color: @active-background; + text-color: @active-foreground; +} +element.selected.normal { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} +element.selected.urgent { + background-color: @selected-urgent-background; + text-color: @selected-urgent-foreground; +} +element.selected.active { + background-color: @selected-active-background; + text-color: @selected-active-foreground; +} +element.alternate.normal { + background-color: @alternate-normal-background; + text-color: @alternate-normal-foreground; +} +element.alternate.urgent { + background-color: @alternate-urgent-background; + text-color: @alternate-urgent-foreground; +} +element.alternate.active { + background-color: @alternate-active-background; + text-color: @alternate-active-foreground; +} +scrollbar { + width: 4px ; + border: 0; + handle-width: 8px ; + padding: 0; +} +mode-switcher { + border: 2px dash 0px 0px ; + border-color: @separatorcolor; +} +button.selected { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} +button { + background-color: @background; + text-color: @foreground; +} +inputbar { + spacing: 0; + text-color: @normal-foreground; + padding: 1px ; +} +case-indicator { + spacing: 0; + text-color: @normal-foreground; +} +entry { + spacing: 0; + text-color: @normal-foreground; + blink: false; +} +prompt { + spacing: 0; + text-color: @normal-foreground; +} +inputbar { + children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; +} +textbox-prompt-colon { + expand: false; + str: ":"; + margin: 0px 0.3em 0em 0em ; + text-color: @normal-foreground; +} diff --git a/i3/config.m4 b/i3/config.m4 index 2c6bbd5..3fa3751 100644 --- a/i3/config.m4 +++ b/i3/config.m4 @@ -24,7 +24,7 @@ bindsym $mod+Shift+q kill bindsym $mod+d exec rofi -show run bindsym $mod+Tab exec rofi -show window -bindsym $mod+p exec rofi-pass +bindsym $mod+p exec ~/etc/my-rofi-pass define([dir_bind], [ bindsym $mod+$2 focus $1 @@ -127,24 +127,26 @@ client.urgent base02 base08 base07 base08 # finds out, if available) bar { status_command i3status - font pango:DejaVu Sans, Noto Sans CJK JP 8 + # font pango:Noto Sans Mono CJK JP 8 + font pango:Fira Sans Mono 8 ifelse(hostname, [archachatina], [ - tray_output DisplayPort-3 + tray_output DisplayPort-1 ]) colors { - separator base03 - background base01 + separator "#999999" + background "#000000" statusline base05 - focused_workspace base0C base0D base00 - active_workspace base02 base02 base07 - inactive_workspace base01 base01 base03 - urgent_workspace base08 base08 base07 + focused_workspace "#777777" "#777777" "#ffffff" + active_workspace "#444444" "#444444" "#ffffff" + inactive_workspace "#333333" "#333333" "#666666" + urgent_workspace "#ff4500" "#ff4500" "#ffffff" } } +exec --no-startup-id gsd-xsettings exec --no-startup-id nm-applet # exec --no-startup-id pa-applet exec --no-startup-id blueman-applet diff --git a/i3status.conf.m4 b/i3status.conf.m4 index 217c901..f8aa374 100644 --- a/i3status.conf.m4 +++ b/i3status.conf.m4 @@ -14,7 +14,7 @@ include([base16.m4]) general { colors = true - interval = 1 + interval = 5 color_good = base0B color_bad = base08 } diff --git a/my-rofi-pass b/my-rofi-pass new file mode 100755 index 0000000..b2b52f6 --- /dev/null +++ b/my-rofi-pass @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +set -eo pipefail + +root="$HOME/.password-store" + +list_accounts() { + (cd "$root" && find -L . -name "*.gpg" | sed 's,^\./,,;s/\.gpg$//' | sort -n) +} + +list_accounts_beginning_with_blank_page() { + yes '' | head -n50 + list_accounts +} + +do_type() { + echo -n "$1" | xdotool type --delay=12 --file=- +} + +get_passwd() { + pass "$1" | head -n1 +} + +get_otp() { + pass otp "$1" +} + +get_field() { + pass "$1" | grep "^$2: " | sed "s/$2: //" +} + +account="$(list_accounts_beginning_with_blank_page | rofi -dmenu -p 'my-rofi-pass')" + +test -n "$account" || exit + +choices='password +username +url +otp' +choice="$(echo -n "$choices" | rofi -dmenu -p "$account")" + +case "$choice" in + password) + passwd="$(get_passwd "$account")" + do_type "$passwd" + ;; + username) + username="$(get_field "$account" username)" + do_type "$username" + ;; + url) + url="$(get_field "$account" url)" + do_type "$url" + ;; + otp) + otp="$(get_otp "$account")" + do_type "$otp" + ;; +esac