diff options
author | Sébastien Dailly <sebastien@dailly.me> | 2023-10-01 20:05:37 +0200 |
---|---|---|
committer | Sébastien Dailly <sebastien@dailly.me> | 2023-10-01 20:05:37 +0200 |
commit | 05aea491fec4dd9a68ca90150543e03a32bf6985 (patch) | |
tree | db2a710f0b703def82fd59e3cabc94942aa1e522 | |
parent | 18d0291fb3b51797efd67389687b97122d710c89 (diff) |
Update the bspwm scripts. Added a theme for rofi
-rwxr-xr-x | bspwm/.config/bspwm/bspwmrc | 1 | ||||
-rwxr-xr-x | bspwm/scripts/bspwm/desktops.sh | 3 | ||||
-rwxr-xr-x | bspwm/scripts/bspwm/macropad.sh | 44 | ||||
-rw-r--r-- | rofi/.config/rofi/arthur.rasi | 181 | ||||
-rw-r--r-- | rofi/.config/rofi/config.rasi | 151 | ||||
-rw-r--r-- | rofi/.config/rofi/theme.rasi | 171 | ||||
-rw-r--r-- | sxhkd/.config/sxhkd/sxhkdrc | 2 | ||||
-rwxr-xr-x | sxhkd/scripts/sxhkd/macropad_layer.sh | 12 | ||||
-rwxr-xr-x | sxhkd/scripts/sxhkd/rofi_new.sh | 7 | ||||
-rwxr-xr-x | sxhkd/scripts/sxhkd/rofi_rotate.sh | 2 |
10 files changed, 525 insertions, 49 deletions
diff --git a/bspwm/.config/bspwm/bspwmrc b/bspwm/.config/bspwm/bspwmrc index af3ef6c..88add64 100755 --- a/bspwm/.config/bspwm/bspwmrc +++ b/bspwm/.config/bspwm/bspwmrc @@ -12,7 +12,6 @@ run polybar bspwm run ~/scripts/bspwm/desktops.sh run ~/scripts/bspwm/border_colors.sh run ~/scripts/bspwm/wallpaper.sh -run ~/scripts/bspwm/macropad.sh #compton -i .8 --focus-exclude '_NET_WM_NAME@:s = "rofi"' --blur-background --blur-kern '3,3,0.1,1,1,1,1,1,1,1' & diff --git a/bspwm/scripts/bspwm/desktops.sh b/bspwm/scripts/bspwm/desktops.sh index 27b285f..d63b0aa 100755 --- a/bspwm/scripts/bspwm/desktops.sh +++ b/bspwm/scripts/bspwm/desktops.sh @@ -1,5 +1,8 @@ #!/bin/sh +set -u +#set -e + # Execute an application when creating the desktop # run_desktop() { diff --git a/bspwm/scripts/bspwm/macropad.sh b/bspwm/scripts/bspwm/macropad.sh deleted file mode 100755 index dabdaa0..0000000 --- a/bspwm/scripts/bspwm/macropad.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh - -# This script listen the events from BSPWM and report to the macropad the -# layout to use. - -# The script only listen the for the changes in the selected window, and send -# to the macropad the appropriate layout depending of the class. - -# The function send the code over the socket — this works fine when I use the -# VNC connection over SSH, as long as a reverse proxy is used. -# Use for example this configuration in the ssh/config file to open the socket : -# RemoteForward 9999 localhost:9999 -# - -last_call= - -send_layout() { - if [ "$last_call" != "$1" ]; then - echo $1 - last_call="$1" - echo $1 | socat - TCP4:localhost:9999 - fi -} - -bspc subscribe node | while read -r event monitor_id desktop_id name; -do - case $event in - node_focus) - # Read the class for the selected window - class=$(xprop -id $(bspc query --nodes -d -n focused) | grep ^WM_CLASS | cut -d= -f2) - case "$class" in - *"Firefox-esr"*) - send_layout "Firefox" - ;; - *"Qqsp"*) - send_layout "Num pad" - ;; - *) - # Do not match - #echo $class; - ;; - esac; - esac; -done diff --git a/rofi/.config/rofi/arthur.rasi b/rofi/.config/rofi/arthur.rasi new file mode 100644 index 0000000..4f4960e --- /dev/null +++ b/rofi/.config/rofi/arthur.rasi @@ -0,0 +1,181 @@ +/** + * ROFI Color theme + * User: Qball + * Copyright: Dave Davenport + */ + +* { + background: #2e3440; + foreground: #ffeedd; + backlight: #ccffeedd; + background-color: transparent; + dark: #1c1c1c; + // Black + black: #3d352a; + lightblack: #554444; + tlightblack: #554444cc; + // + // Red + red: #cd5c5c; + lightred: #cc5533; + // + // Green + green: #86af80; + lightgreen: #88cc22; + // + // Yellow + yellow: #e8ae5b; + lightyellow: #ffa75d; + // + // Blue + blue: #6495ed; + lightblue: #87ceeb; + // + // Magenta + magenta: #deb887; + lightmagenta: #996600; + // + // Cyan + cyan: #b0c4de; + tcyan: #ccb0c4de; + lightcyan: #b0c4de; + // + // White + white: #bbaa99; + lightwhite: #ddccbb; + // + // Bold, Italic, Underline + highlight: underline bold #ffffff; + + transparent: rgba(0,0,0,0); + font: "Mono 10"; +} +window { + location: center; + anchor: center; + transparency: "screenshot"; + //padding: 0; + //border: 0px; + //border-radius: 0px; + color: @magenta; + background-color: @transparent; + spacing: 0px; + children: [mode-switcher, mainbox ]; + orientation: horizontal; +} +mainbox { + spacing: 0; + children: [ inputbar, message, listview ]; +} +message { + border-color: @foreground; + border: 2px 2px 2px 2px; + border-radius: 10px; + padding: 5; + background-color: @tcyan; +} +message { + font: "Source Code Pro 8"; + color: @black; +} +inputbar { + color: @lightwhite; + padding: 11px; + background-color: @background; + border: 2px 2px 0px 0px; + border-radius: 0px 15px 0px 0px; + border-color: @foreground; +} +entry,prompt,case-indicator { + text-font: inherit; + text-color:inherit; +} +prompt { + margin: 0px 0.3em 0em 0em ; +} +listview { + padding: 8px; + border-color: @foreground; + border: 0px 2px 2px 0px; + background-color: @background; + dynamic: false; + lines: 10; + border-radius: 0px 0px 15px 0px; +} +element { + padding: 3px; + vertical-align: 0.5; +// border: 2px; + border-radius: 4px; + background-color: transparent; + color: @foreground; + font:inherit; +} +element-text { + background-color: inherit; + text-color: inherit; +} +element selected.normal { + background-color: @blue; +} +element normal active { + foreground: @lightblue; +} +element normal urgent { + foreground: @lightred; +} +element alternate normal { +} +element alternate active { + foreground: @lightblue; +} +element alternate urgent { + foreground: @lightred; +} +element selected active { + background-color: @lightblue; + foreground: @dark; +} +element selected urgent { + background-color: @lightred; + foreground: @dark; +} +element normal normal { + +} +vertb { + expand: false; + children: [ dummy0, mode-switcher, dummy1 ]; +} +dummy0, dummy1 { + expand: true; +} +mode-switcher { + expand: false; + orientation: vertical; + spacing: 0px; + border: 2px 2px 2px 2px; + border-radius: 50px 0px 0px 50px; + border-color: @foreground; + background-color: black; + width: 10ch; +} +button { + background-color: @background; + color: @white; + horizontal-align: 0.5; +} +button selected normal { + padding:6px; + color: @foreground; + //border: 1px 1px 1px 1px; + background-color: @green; + //border-color: @foreground; +} +error-message { + expand: true; + background-color: red; + border-color: darkred; + border: 2px; + padding: 1em; +} diff --git a/rofi/.config/rofi/config.rasi b/rofi/.config/rofi/config.rasi new file mode 100644 index 0000000..7023be8 --- /dev/null +++ b/rofi/.config/rofi/config.rasi @@ -0,0 +1,151 @@ +configuration { +/* modi: "window,run,ssh";*/ + modi: "run"; +/* font: "mono 12";*/ +/* location: 0;*/ +/* 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} [-p {port}]";*/ +/* run-command: "{cmd}";*/ +/* run-list-command: "";*/ +/* run-shell-command: "{terminal} -e {cmd}";*/ +/* window-command: "wmctrl -i -R {window}";*/ +/* window-match-fields: "all";*/ +/* icon-theme: ;*/ +/* drun-match-fields: "name,generic,exec,categories,keywords";*/ +/* drun-categories: ;*/ +/* drun-show-actions: false;*/ +/* drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";*/ +/* drun-url-launcher: "xdg-open";*/ +/* disable-history: false;*/ +/* ignored-prefixes: "";*/ +/* sort: false;*/ +/* sorting-method: "normal";*/ +/* case-sensitive: false;*/ +/* cycle: true;*/ +/* sidebar-mode: false;*/ +/* hover-select: false;*/ +/* eh: 1;*/ +/* auto-select: false;*/ +/* parse-hosts: false;*/ +/* parse-known-hosts: true;*/ +/* combi-modi: "window,run";*/ +/* matching: "normal";*/ +/* tokenize: true;*/ +/* m: "-5";*/ +/* filter: ;*/ +/* dpi: -1;*/ +/* threads: 0;*/ +/* scroll-method: 0;*/ +/* window-format: "{w} {c} {t}";*/ +/* click-to-exit: true;*/ +/* theme: ;*/ +/* max-history-size: 25;*/ +/* combi-hide-mode-prefix: false;*/ +/* matching-negate-char: '-' /* unsupported */;*/ +/* cache-dir: ;*/ +/* window-thumbnail: false;*/ +/* drun-use-desktop-cache: false;*/ +/* drun-reload-desktop-cache: false;*/ +/* normalize-match: false;*/ +/* steal-focus: false;*/ +/* application-fallback-icon: ;*/ +/* pid: "/run/user/1000/rofi.pid";*/ +/* display-window: ;*/ +/* display-windowcd: ;*/ +/* display-run: ;*/ +/* display-ssh: ;*/ +/* display-drun: ;*/ +/* display-combi: ;*/ +/* display-keys: ;*/ +/* display-filebrowser: ;*/ +/* 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-custom-alt: "Control+Shift+Return";*/ +/* kb-accept-alt: "Shift+Return";*/ +/* kb-delete-entry: "Shift+Delete";*/ +/* kb-mode-next: "Shift+Right,Control+Tab";*/ +/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/ +/* kb-mode-complete: "Control+l";*/ +/* 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";*/ + /* + timeout { + action: "kb-cancel"; + delay: 0; + } + filebrowser { + directories-first: true; + sorting-method: "name"; + } + */ +} +@theme "arthur" diff --git a/rofi/.config/rofi/theme.rasi b/rofi/.config/rofi/theme.rasi new file mode 100644 index 0000000..10ea6ad --- /dev/null +++ b/rofi/.config/rofi/theme.rasi @@ -0,0 +1,171 @@ +* { + font: "Mono 10"; + + background: #2e3440; + foreground: #d8dee9; + + active-background: #ffd97e; + active-foreground: @foreground; + normal-background: @background; + normal-foreground: @foreground; + urgent-background: #ffd471; + urgent-foreground: @foreground; + + alternate-active-background: @background; + alternate-active-foreground: @foreground; + alternate-normal-background: @background; + alternate-normal-foreground: @foreground; + alternate-urgent-background: @background; + alternate-urgent-foreground: @foreground; + + selected-active-background: #ffd471; + selected-active-foreground: @foreground; + selected-normal-background: #434c5e; /* nord2 */ + selected-normal-foreground: @foreground; + selected-urgent-background: #ffc733; + selected-urgent-foreground: @foreground; + + background-color: @background; + border-color: @background; +} + +#window { + background-color: @background; + border: 1px; + padding: 0.5ch; + border-color: @foreground; + border-radius: 10px; +} + +#mainbox { + border: 10px; + padding: 0; + border-radius: 10px; +} + +#message { + border: 2px 0px 0px; + border-color: @border-color; + padding: 1px; +} + +#textbox { + text-color: @foreground; +} + +#listview { + fixed-height: 0; + border: 2px 0px 0px; + border-color: @border-color; + 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-foreground; + text-color: #0000ff; +} + +#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: #0000ff; +} + +#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; +} + +#sidebar { + border: 2px 0px 0px; + border-color: @border-color; +} + +#button { + text-color: @normal-foreground; +} + +#button.selected { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; + border-radius: 10px; +} + +#inputbar { + spacing: 0; + padding: 5; + border-radius: 10px; + text-color: black; + background-color: white; + children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; +} + +#prompt { + spacing: 0; + text-color: @normal-foreground; + background-color: white; + text-color: black; +} + +#textbox-prompt-colon { + expand: false; + str: " :"; + margin: 0px 0.3em 0em 0em; + text-color: black; + background-color: white; +} + +#entry { + spacing: 0; + text-color: black; + background-color: white; +} + +#case-indicator { + spacing: 0; + text-color: black; + background-color: white; +} diff --git a/sxhkd/.config/sxhkd/sxhkdrc b/sxhkd/.config/sxhkd/sxhkdrc index 3b7ad45..6a36d4d 100644 --- a/sxhkd/.config/sxhkd/sxhkdrc +++ b/sxhkd/.config/sxhkd/sxhkdrc @@ -8,7 +8,7 @@ super + Return # program launcher super + i - rofi -show run + rofi -modi "run,drun,Desktop:~/scripts/sxhkd/rofi_new.sh,Layer:~/scripts/sxhkd/macropad_layer.sh" -show run #super + @space # dmenu_run diff --git a/sxhkd/scripts/sxhkd/macropad_layer.sh b/sxhkd/scripts/sxhkd/macropad_layer.sh new file mode 100755 index 0000000..4f4659f --- /dev/null +++ b/sxhkd/scripts/sxhkd/macropad_layer.sh @@ -0,0 +1,12 @@ +#!/bin/sh +BIN_PATH=/home/sebastien/Projets/python/serial/ +LAYER_PATH=${BIN_PATH}/layers/ + +set -u +set -e + +if [ -z ${1+x} ]; then + ls ${LAYER_PATH} +else + python3 ${BIN_PATH}/client.py ${BIN_PATH}/config_client.ini --layer ${LAYER_PATH}/$1 > /dev/null +fi diff --git a/sxhkd/scripts/sxhkd/rofi_new.sh b/sxhkd/scripts/sxhkd/rofi_new.sh index 02b37f5..f668268 100755 --- a/sxhkd/scripts/sxhkd/rofi_new.sh +++ b/sxhkd/scripts/sxhkd/rofi_new.sh @@ -1,5 +1,8 @@ #!/bin/sh +set -u +set -e + tmpdir=$(mktemp -d) on_exit() { @@ -13,12 +16,12 @@ on_preExit() { trap on_exit EXIT # EXIT = 0 trap on_preExit HUP INT QUIT TERM STOP PWR # 1 2 3 15 30 -if [ -z $1 ]; then +if [ -z ${1+x} ]; then # We are using dash, the process substitution syntax is not allowed # sort -u <(…) <(…) # so, we are using pipes for that mkfifo ${tmpdir}/p1 ${tmpdir}/p2 - echo "Chat\nWeb\nMail\nmusique" > "${tmpdir}/p1" & + echo "Chat\nWeb\nMail\nmusique\nDiscord" > "${tmpdir}/p1" & bspc query --names -D > "${tmpdir}/p2" & sort -u "${tmpdir}/p1" "${tmpdir}/p2" else diff --git a/sxhkd/scripts/sxhkd/rofi_rotate.sh b/sxhkd/scripts/sxhkd/rofi_rotate.sh index 82ee234..4716d27 100755 --- a/sxhkd/scripts/sxhkd/rofi_rotate.sh +++ b/sxhkd/scripts/sxhkd/rofi_rotate.sh @@ -1,8 +1,8 @@ #!/bin/sh if [ -z $1 ]; then + echo "Flip" echo "Horaire" echo "Antihoraire" - echo "Flip" exit 0 else case $1 in |