feat: move to rofi, use tokyonight theme, add missing keybinds, update scripts

This commit is contained in:
2025-09-16 19:11:11 -07:00
parent b47a0724ae
commit 9b60314354
12 changed files with 295 additions and 423 deletions

View File

@@ -1,181 +1,29 @@
/** configuration{
* modi: ["drun", "window", "run"];
* Author : Aditya Shakya (adi1090x) icon-theme: "Papirus-Dark";
* Github : @adi1090x show-icons: true;
* terminal: "ghostty";
* Configuration For Rofi Version: 1.7.3 drun-display-format: "{icon} {name}";
**/ location: 0;
disable-history: false;
sidebar-mode: false;
display-drun: " ";
display-run: " ";
display-window: " ";
configuration { //adding vim keybindings
/*---------- General setting ----------*/ kb-row-up: "Up,Control+k";
modi: "drun,run,filebrowser,window"; kb-row-left: "Left,Control+h";
case-sensitive: false; kb-row-right: "Right,Control+l";
cycle: true; kb-row-down: "Down,Control+j";
filter: "";
scroll-method: 0;
normalize-match: true;
show-icons: true;
icon-theme: "Papirus";
/* cache-dir: ;*/
steal-focus: false;
/* dpi: -1;*/
/*---------- Matching setting ----------*/ kb-accept-entry: "Control+z,Control+y,Return,KP_Enter";
matching: "normal";
tokenize: true;
/*---------- SSH settings ----------*/ //fixing up
ssh-client: "ssh"; kb-remove-to-eol: "";
ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]"; kb-move-char-back: "Control+b";
parse-hosts: true; kb-remove-char-back: "BackSpace";
parse-known-hosts: true; kb-move-char-forward: "Control+f";
kb-mode-complete: "Control+o";
/*---------- Drun settings ----------*/
drun-categories: "";
drun-match-fields: "name,generic,exec,categories,keywords";
drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";
drun-show-actions: false;
drun-url-launcher: "xdg-open";
drun-use-desktop-cache: false;
drun-reload-desktop-cache: false;
drun {
/** Parse user desktop files. */
parse-user: true;
/** Parse system desktop files. */
parse-system: true;
}
/*---------- Run settings ----------*/
run-command: "{cmd}";
run-list-command: "";
run-shell-command: "{terminal} -e {cmd}";
/*---------- Fallback Icon ----------*/
run,drun {
fallback-icon: "application-x-addon";
}
/*---------- Window switcher settings ----------*/
window-match-fields: "title,class,role,name,desktop";
window-command: "wmctrl -i -R {window}";
window-format: "{w} - {c} - {t:0}";
window-thumbnail: false;
/*---------- Combi settings ----------*/
/* combi-modi: "window,run";*/
/* combi-hide-mode-prefix: false;*/
/* combi-display-format: "{mode} {text}";*/
/*---------- History and Sorting ----------*/
disable-history: false;
sorting-method: "normal";
max-history-size: 25;
/*---------- Display setting ----------*/
display-window: "Windows";
display-windowcd: "Window CD";
display-run: "Run";
display-ssh: "SSH";
display-drun: "Apps";
display-combi: "Combi";
display-keys: "Keys";
display-filebrowser: "Files";
/*---------- Misc setting ----------*/
terminal: "rofi-sensible-terminal";
font: "Mono 12";
sort: false;
threads: 0;
click-to-exit: true;
/* ignored-prefixes: "";*/
/* pid: "/run/user/1000/rofi.pid";*/
/*---------- File browser settings ----------*/
filebrowser {
/* directory: "/home";*/
directories-first: true;
sorting-method: "name";
}
/*---------- Other settings ----------*/
timeout {
action: "kb-cancel";
delay: 0;
}
/*---------- Keybindings ----------*/
/*
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-down: "Down,Control+n";
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";
*/
} }
@theme "tokyonight.rasi"

View File

@@ -1,171 +0,0 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
modi: "drun";
show-icons: true;
display-drun: "";
drun-display-format: "{name}";
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 400px;
x-offset: 0px;
y-offset: 0px;
enabled: true;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
background-color: @background;
cursor: "default";
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px 0px 0px 0px;
border-color: @selected;
background-color: transparent;
children: [ "inputbar", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 15px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @selected;
text-color: @background;
children: [ "prompt", "entry" ];
}
prompt {
enabled: true;
background-color: inherit;
text-color: inherit;
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "::";
background-color: inherit;
text-color: inherit;
}
entry {
enabled: true;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder: "Search...";
placeholder-color: inherit;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 6;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: 5px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: "default";
}
scrollbar {
handle-width: 5px ;
handle-color: @selected;
border-radius: 0px;
background-color: @background-alt;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 8px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element normal.normal {
background-color: @background;
text-color: @foreground;
}
element selected.normal {
background-color: @background-alt;
text-color: @foreground;
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 32px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Message -----*****/
error-message {
padding: 15px;
border: 2px solid;
border-radius: 12px;
border-color: @selected;
background-color: @background;
text-color: @foreground;
}
textbox {
background-color: @background;
text-color: @foreground;
vertical-align: 0.5;
horizontal-align: 0.0;
highlight: none;
}

View File

@@ -0,0 +1,106 @@
configuration {
modi: "drun";
font: "JetBrainsMono Nerd Font 10";
show-icons: false;
terminal: "ghostty";
icon-theme: "Papirus-Dark";
drun-display-format: "{name}";
display-drun: "";
timeout {
action: "kb-cancel";
delay: 0;
}
filebrowser {
directories-first: true;
sorting-method: "name";
}
kb-row-up: "Up,Control+k";
kb-row-left: "Left,Control+h";
kb-row-right: "Right,Control+l";
kb-row-down: "Down,Control+j";
kb-accept-entry: "Control+z,Control+y,Return,KP_Enter";
//fixing up
kb-remove-to-eol: "";
kb-move-char-back: "Control+b";
kb-remove-char-back: "BackSpace";
kb-move-char-forward: "Control+f";
kb-mode-complete: "Control+o";
}
@theme "/dev/null"
* {
bg: #232933;
fg: #d8dee9;
selected: #2d3543;
accent: #4d6a8e;
background-color: @bg;
color: @fg;
border: 0;
border-color: @bg;
margin: 0;
padding: 0;
spacing: 0;
highlight: none;
}
window {
width: 700px;
}
element {
padding: 6 5 7 5;
text-color: @fg;
}
element-text {
vertical-align: 0.5;
padding: 5px;
}
element selected {
background-color: @selected;
}
element-text selected {
background-color: @selected;
}
element-icon selected {
background-color: @selected;
}
element-icon {
size: 30;
}
entry {
background-color: @bg;
columns: 1;
lines: 20;
}
inputbar {
children: [prompt, entry];
}
prompt {
text-color: @bg;
background-color: @accent;
padding: 12 12 12 12;
}
entry {
text-color: @bg;
background-color: @accent;
padding: 12 5 12 0;
}
listview {
background-color: @bg;
columns: 1;
lines: 6;
}

View File

@@ -1,33 +0,0 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
*
* Available Colors Schemes
*
* adapta catppuccin everforest navy paper
* arc cyberpunk gruvbox nord solarized
* black dracula lovelace onedark yousai
*
**/
/* Import color-scheme from `colors` directory */
/**
*
* Author : Levi Lacoss (fishyfishfish55)
* Github : @fishyfishfish55
*
* Colors
**/
* {
background: #15161EFF;
background-alt: #1A1B26FF;
foreground: #C0CAF5FF;
selected: #33467CFF;
active: #414868FF;
urgent: #F7768EFF;
}

View File

@@ -1,12 +0,0 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Fonts
*
**/
* {
font: "JetBrains Mono Nerd Font 10";
}

137
custom/rofi/tokyonight.rasi Normal file
View File

@@ -0,0 +1,137 @@
/*
* Tokyonight colorscheme (big icons) for rofi
* User: w8ste
*/
// define colors etc.
* {
bg: #24283b;
hv: #9274ca;
primary: #444b6a; // TokyoNight bright black
ug: #0B2447;
font: "Monospace 11";
background-color: @bg;
//dark: @bg;
border: 0px;
kl: #7aa2f7;
black: #000000;
transparent: rgba(46,52,64,0);
}
// defines different aspects of the window
window {
width: 700;
/*since line wont work with height, i comment it out
if you rather control the size via height
just comment it out */
//height: 500;
orientation: horizontal;
location: center;
anchor: center;
transparency: "screenshot";
border-color: @transparent;
border: 0px;
border-radius: 6px;
spacing: 0;
children: [ mainbox ];
}
mainbox {
spacing: 0;
children: [ inputbar, message, listview ];
}
inputbar {
color: @kl;
padding: 11px;
border: 3px 3px 2px 3px;
border-color: @primary;
border-radius: 6px 6px 0px 0px;
}
message {
padding: 0;
border-color: @primary;
border: 0px 1px 1px 1px;
}
entry, prompt, case-indicator {
text-font: inherit;
text-color: inherit;
}
entry {
cursor: pointer;
}
prompt {
margin: 0px 5px 0px 0px;
}
listview {
layout: vertical;
//spacing: 5px;
padding: 8px;
lines: 7;
columns: 2;
border: 0px 3px 3px 3px;
border-radius: 0px 0px 6px 6px;
border-color: @primary;
dynamic: false;
}
element {
padding: 2px;
vertical-align: 1;
color: @kl;
font: inherit;
}
element-text {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
}
element selected.normal {
color: @black;
background-color: @hv;
}
element normal active {
background-color: @hv;
color: @black;
}
element-icon {
background-color: inherit;
text-color: inherit;
size: 2.5em;
}
element normal urgent {
background-color: @primary;
}
element selected active {
background: @hv;
foreground: @bg;
}
button {
padding: 6px;
color: @primary;
horizonatal-align: 0.5;
border: 2px 0px 2px 2px;
border-radius: 4px 0px 0px 4px;
border-color: @primary;
}
button selected normal {
border: 2px 0px 2px 2px;
border-color: @primary;
}

View File

@@ -12,7 +12,7 @@
./kanata.nix ./kanata.nix
./pipewire.nix ./pipewire.nix
./keys.nix ./keys.nix
./wofi.nix ./rofi.nix
./desktop.nix ./desktop.nix
./zed-editor.nix ./zed-editor.nix
./virtualization.nix ./virtualization.nix

View File

@@ -19,16 +19,13 @@
vesktop vesktop
firefox firefox
brightnessctl brightnessctl
flameshot
jellyfin-media-player jellyfin-media-player
anki-bin anki-bin
mpv mpv
ahk_x11
prismlauncher prismlauncher
feh feh
dconf dconf
papirus-icon-theme papirus-icon-theme
pa_applet
libnotify libnotify
adwaita-icon-theme adwaita-icon-theme
gnome-themes-extra gnome-themes-extra
@@ -50,7 +47,6 @@
htop htop
lm_sensors lm_sensors
fanctl fanctl
libnotify
]; ];
boot.kernelModules = [ boot.kernelModules = [
"iptables" "iptables"
@@ -72,7 +68,7 @@
enable = true; enable = true;
wayland = true; wayland = true;
}; };
wofi.enable = true; rofi.enable = true;
services.upower.enable = true; services.upower.enable = true;
zed.enable = true; zed.enable = true;
virt.enable = true; virt.enable = true;
@@ -188,7 +184,7 @@
settings = { settings = {
"$mod" = "SUPER"; "$mod" = "SUPER";
"$terminal" = "ghostty"; "$terminal" = "ghostty";
"$menu" = "wofi"; "$menu" = "rofi -show drun";
bind = [ bind = [
"$mod, Return, exec, $terminal" "$mod, Return, exec, $terminal"
"$mod SHIFT, Q, killactive" "$mod SHIFT, Q, killactive"
@@ -202,6 +198,7 @@
"$mod, j, movefocus, d" "$mod, j, movefocus, d"
"$mod, Space, togglesplit" "$mod, Space, togglesplit"
"$mod SHIFT, v, exec, bash -c ~/dotfiles/scripts/copy.sh" "$mod SHIFT, v, exec, bash -c ~/dotfiles/scripts/copy.sh"
"$mod SHIFT, s, exec, bash -c ~/dotfiles/scripts/screenshot.sh"
"$mod, 0, workspace, 10" "$mod, 0, workspace, 10"
"$mod SHIFT, 0, movetoworkspacesilent, 10" "$mod SHIFT, 0, movetoworkspacesilent, 10"

20
nix/modules/rofi.nix Normal file
View File

@@ -0,0 +1,20 @@
{
pkgs,
lib,
config,
...
}:
{
options.rofi = {
enable = lib.mkEnableOption "enable rofi";
};
config = lib.mkIf config.rofi.enable {
environment.systemPackages = with pkgs; [ rofi ];
home-manager.users.luca = {
xdg.configFile = {
rofi.source = ../../custom/rofi;
};
};
};
}

View File

@@ -1,20 +0,0 @@
{
pkgs,
lib,
config,
...
}:
{
options.wofi = {
enable = lib.mkEnableOption "enable wofi";
};
config = lib.mkIf config.wofi.enable {
environment.systemPackages = with pkgs; [ wofi ];
home-manager.users.luca = {
xdg.configFile = {
wofi.source = ../../custom/wofi;
};
};
};
}

View File

@@ -1 +1 @@
cliphist list | wofi --dmenu | cliphist decode | wl-copy cliphist list | rofi -dmenu -p "Copy to clipboard:" -config ~/.config/rofi/oneline-config.rasi | cliphist decode | wl-copy

View File

@@ -1,6 +1,6 @@
workspaces=$(hyprctl workspaces -j | jq -r '.[].name') workspaces=$(hyprctl workspaces -j | jq -r '.[].name')
target=$(echo "$workspaces" | wofi -d -p "Switch to workspace:") target=$(echo "$workspaces" | rofi -dmenu -config ~/.config/rofi/oneline-config.rasi -p "Switch to workspace:")
if [[ -n "$target" ]]; then if [[ -n "$target" ]]; then
hyprctl dispatch workspace "$target" hyprctl dispatch workspace "$target"