diff --git a/.config/rofi/config.rasi b/.config/rofi/config.rasi new file mode 100644 index 0000000..0f41a0e --- /dev/null +++ b/.config/rofi/config.rasi @@ -0,0 +1,38 @@ +configuration { + + /* Bound in ~/.config/gnome-settings/key-bindings.ini: + space + d => drun, Tab => window */ + + modi: "combi,drun,window,run"; + combi-modes: [ window, drun ]; + combi-hide-mode-prefix: true; + + font: "FiraCode Nerd Font 12"; + + show-icons: true; + icon-theme: "Adwaita"; + + drun-display-format: "{name}"; + window-format: "{w} {c} {t}"; + + matching: "fuzzy"; + sort: true; + + terminal: "/usr/bin/alacritty"; + + /* `vim`-style list navigation */ + kb-row-down: "Down,Control+j"; + kb-row-up: "Up,Control+k"; + kb-mode-next: "Shift+Right,Control+l"; + kb-mode-previous: "Shift+Left,Control+h"; + kb-accept-entry: "Return,KP_Enter"; + kb-cancel: "Escape,Control+bracketleft"; + kb-remove-char-back: "BackSpace,Shift+BackSpace"; + /* Defaults stripped of the keys taken over above */ + kb-clear-line: ""; + kb-mode-complete: ""; + kb-remove-to-eol: ""; + +} + +@theme "theme" diff --git a/.config/rofi/theme.rasi b/.config/rofi/theme.rasi new file mode 100644 index 0000000..bfa2166 --- /dev/null +++ b/.config/rofi/theme.rasi @@ -0,0 +1,73 @@ +/* Colors from the palette in ~/.config/gnome-settings/README.md */ + +* { + bg: #2E2E32; /* gray: menu surfaces */ + bg-dark: #054A55; /* stop 0: input bar */ + fg: #DEEDF1; /* stop 1: text */ + fg-dim: #AED6DE; /* stop 2: quiet text */ + border-c: #4AA4B6; /* stop 4: border */ + + background-color: transparent; + text-color: @fg; +} + +window { + background-color: @bg; + border: 2px; + border-color: @border-c; + border-radius: 12px; /* == libadwaita, forge, openbar */ + width: 42em; + padding: 12px; +} + +mainbox { + children: [ inputbar, listview, mode-switcher ]; +} + +inputbar { + background-color: @bg-dark; + border-radius: 8px; + padding: 8px 12px; + children: [ prompt, entry ]; +} +prompt { text-color: @fg-dim; margin: 0 8px 0 0; } +entry { placeholder: ""; } + +listview { + lines: 8; + spacing: 0.2em; + fixed-height: true; + margin: 12px 0 0 0; + scrollbar: false; +} + +element { + padding: 0.6em 0.8em; + border-radius: 8px; + spacing: 0.8em; /* gap between icon and text */ + text-color: @fg-dim; +} +element active { text-color: #2190A4; } /* stop 5 */ +element urgent { text-color: #7CBDCB; background-color: @bg-dark; } +element selected { + background-color: rgba(222, 237, 241, 0.12); /* stop 1 @ 12% => grayish */ + text-color: @fg; +} +element selected.active { background-color: #067A8D; text-color: @fg; } +element-text, element-icon { + background-color: transparent; + text-color: inherit; +} +element-icon { size: 1.8em; } + +mode-switcher { margin: 12px 0 0 0; spacing: 8px; } +button { + padding: 4px 10px; + border-radius: 8px; + background-color: @bg-dark; + text-color: @fg-dim; +} +button selected { + background-color: #028397; /* stop 6: active tab, like forge */ + text-color: @fg; +}