farewell fuzzel

This commit is contained in:
2025-06-27 02:11:29 +02:00
parent 2738e6184c
commit 1e455e023a
8 changed files with 2318 additions and 39 deletions

1870
.scripts/rofi-emoji Executable file
View File

File diff suppressed because it is too large Load Diff

View File

@@ -11,7 +11,7 @@
- **Prompt**: Oh My Posh
- **Terminal**: Kitty & Ghostty (floating)
- **Colorscheme**: Catppuccin-mocha(-blue)
- **App Launcher**: Fuzzel
- **App Launcher**: Rofi
- **Logout Screen**: Wlogout
- **Desktop Widgets**: Eww
- **Notification Daemon**: Mako
@@ -24,7 +24,11 @@ Based on [end-4/dots-hyprland](https://github.com/end-4/dots-hyprland) but witho
- `main`, main dashboard, modified from [syndrizzle/hotfiles](https://github.com/syndrizzle/hotfiles/tree/bspwm) without notification center.
- `lyrics`, scrolling lyrics player, dependents on api from [akashrchandran/spotify-lyrics-api](https://github.com/akashrchandran/spotify-lyrics-api) and [a small program](https://github.com/Uyanide/spotify-lyrics) from myself <small>(which also happens to be my frist Golang program :D)</small>.
- `lyrics-single`, similar to `lyrics`, but limited to a single line and therefore fits well in statusbars.
- `lyrics-single`, similar to `lyrics`, but only with a single line and can be easily embeded into the status bar.
## Rofi
Based on [codeopshq/dotfiles](https://github.com/codeopshq/dotfiles), also serves as cliphist browser and emojis picker.
## Grub theme

View File

@@ -12,21 +12,21 @@ bind = Super, Space, exec, eww open main --toggle # Launch dashboard (eww)
bind = Super+Shift, V, exec, pavucontrol # Launch pavucontrol (volume mixer)
bind = Super+Shift, K, exec, waybar-toggle.sh close || waybar-toggle.sh open # Toggle waybar
bind = Super+Shift, L, exec, ~/.scripts/lyrics-widgets.sh # Toggle lyrics player
bind = Super+Shift, F, exec, ~/.local/bin/coin # Flip a coin
#!
##! Essentials
bind = Super, T, exec, kitty # Launch kitty (terminal)
bind = Super, Return, exec, kitty # [hidden]
bind = Super+Shift, Return, exec, ghostty # [hidden]
bind = Alt, Space, exec, pkill fuzzel || fuzzel # [hidden] Launch fuzzel (app launcher)
bind = Super, Super_L, exec, pkill fuzzel || fuzzel # [hidden] Launch fuzzel (app launcher)
# bind = , mouse:276, exec, pkill fuzzel || fuzzel # [hidden] Launch fuzzel (app launcher)
bind = Super, R, exec, pkill fuzzel || fuzzel -d -l 0 | xargs -r -I{} bash -c '{}' # Launch fuzzel (command launcher)
bind = Alt, Space, exec, pkill rofi || rofi -show drun # [hidden] Launch app launcher
bind = Super, Super_L, exec, pkill rofi || rofi -show drun # [hidden] Launch app launcher
bind = Super, R, exec, pkill rofi || rofi -show run # Launch command launcher
##! Actions
# Screenshot, Record, OCR, Color picker, Clipboard history
bind = Super, V, exec, pkill fuzzel || cliphist list | fuzzel --match-mode fzf --dmenu | cliphist decode | wl-copy # Clipboard history >> clipboard
bind = Super, Period, exec, pkill fuzzel || ~/.scripts/fuzzel-emoji # Pick emoji >> clipboard
bind = Super, V, exec, pkill rofi || cliphist list | rofi -dmenu -config ~/.config/rofi/dmenu.rasi -display-columns 2 -i | cliphist decode | wl-copy # Clipboard history >> clipboard
bind = Super, Period, exec, pkill rofi || ~/.scripts/rofi-emoji # Pick emoji >> clipboard
bind = Ctrl+Alt, Delete, exec, pkill wlogout || wlogout -p layer-shell # [hidden]
bind = Super+Shift, S, exec, hyprshot -z -m region # Screen snip
bind = Super+Ctrl+Shift, S, exec, hyprshot -z -m window # Screen snip (window)

View File

@@ -27,6 +27,9 @@ windowrulev2 = float, class:^(org.kde.kcalc)$
windowrulev2 = float, class:^(org.kde.kalk)$
windowrulev2 = float, class:^(org.gnome.NautilusPreviewer)$ # Sushi in Nautilus
windowrulev2 = float, class:^(coin)$
windowrulev2 = noblur, class:^(coin)$
windowrulev2 = bordersize 0, class:^(coin)$
windowrulev2 = noshadow, class:^(coin)$
# Picture-in-Picture
windowrulev2 = float, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$

226
rofi/config.rasi Normal file
View File

@@ -0,0 +1,226 @@
/*****----- ALL -----*****/
* {
font: "Maple Mono Normal NF CN Bold 12";
bg: #1e1e2e;
bg-alt: #181825;
fg: #cdd6f4;
fg-alt: #a6adc8;
red: #f38ba8;
green: #a6e3a1;
yellow: #f9e2af;
orange: #fab387;
blue: #89b4fa;
purple: #cba6f7;
cyan: #89dceb;
gray: #585b70;
gray-alt: #292a3c;
lavender: #b4befe;
sapphire: #74c7ec;
teal: #94e2d5;
peach: #fab387;
}
/*****----- Configuration -----*****/
configuration {
terminal: "/usr/bin/kitty";
modi: "drun,run,ssh";
show-icons: true;
display-drun: "";
display-run: "";
display-ssh: "";
drun-display-format: "{name}";
}
/*****----- Main Window -----*****/
window {
/* properties for window widget */
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 720px;
x-offset: 0px;
y-offset: 0px;
/* properties for all widgets */
enabled: true;
margin: 0px;
padding: 0px;
border: 2px solid;
border-radius: 24px;
border-color: @blue;
cursor: "default";
background-color: @bg;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 0px;
margin: 0px;
padding: 30px;
background-color: transparent;
children: [ "inputbar", "message", "listview", "mode-switcher" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 0px;
padding: 100px 40px;
border-radius: 14px 14px 0 0;
background-color: transparent;
background-image: url("~/.config/backgrounds/gdd-street.jpg", width);
text-color: @fg;
children: [ "textbox-prompt-colon", "entry" ];
}
prompt {
enabled: true;
background-color: inherit;
text-color: inherit;
}
textbox-prompt-colon {
enabled: true;
padding: 12px 15px;
expand: false;
str: " ";
background-color: rgba(30, 30, 36, 0.6);
border-radius: 14px;
text-color: inherit;
}
entry {
enabled: true;
padding: 12px 16px;
text-color: inherit;
cursor: text;
background-color: rgba(30, 30, 36, 0.6);
border-radius: 14px;
placeholder: "Search...";
placeholder-color: inherit;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 2;
lines: 6;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
padding: 14px;
spacing: 5px;
background-color: @gray-alt;
text-color: @fg;
cursor: "default";
}
scrollbar {
handle-width: 5px ;
handle-color: @blue;
border-radius: 10px;
background-color: @bg-alt;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 6px;
border-radius: 0px;
background-color: transparent;
text-color: @fg;
cursor: pointer;
}
element normal.normal,
element alternate.normal {
background-color: transparent;
text-color: @fg;
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: @blue;
text-color: @bg;
border-radius: 10px;
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: @red;
text-color: @bg;
}
element selected.normal {
background-color: @gray;
text-color: @fg;
border-radius: 10px;
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 24px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Mode Switcher -----*****/
mode-switcher{
enabled: true;
spacing: 10px;
margin: 0px;
padding: 0px;
background-color: transparent;
text-color: @fg;
}
button {
padding: 10px;
border-radius: 10px;
background-color: @bg;
text-color: inherit;
cursor: pointer;
}
button selected {
background-color: @gray-alt;
text-color: @blue;
border-radius: 0 0 14px 14px;
border-color: @blue;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border-radius: 0px;
background-color: @bg-alt;
text-color: @fg;
}
textbox {
background-color: transparent;
text-color: @fg;
vertical-align: 0.5;
horizontal-align: 0.0;
highlight: none;
placeholder-color: @fg;
blink: true;
markup: true;
}
error-message {
padding: 30px;
background-color: @bg;
text-color: @fg;
}

200
rofi/dmenu.rasi Normal file
View File

@@ -0,0 +1,200 @@
/*****----- ALL -----*****/
* {
font: "Maple Mono Normal NF CN Bold 12";
bg: #1e1e2e;
bg-alt: #181825;
fg: #cdd6f4;
fg-alt: #a6adc8;
red: #f38ba8;
green: #a6e3a1;
yellow: #f9e2af;
orange: #fab387;
blue: #89b4fa;
purple: #cba6f7;
cyan: #89dceb;
gray: #585b70;
gray-alt: #292a3c;
lavender: #b4befe;
sapphire: #74c7ec;
teal: #94e2d5;
peach: #fab387;
}
/*****----- Configuration -----*****/
configuration {
terminal: "/usr/bin/kitty";
modi: "";
show-icons: true;
drun-display-format: "{name}";
}
/*****----- Main Window -----*****/
window {
/* properties for window widget */
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 500px;
x-offset: 0px;
y-offset: 0px;
/* properties for all widgets */
enabled: true;
margin: 0px;
padding: 0px;
border: 2px solid;
border-radius: 24px;
border-color: @blue;
cursor: "default";
background-color: @bg;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 0px;
margin: 0px;
padding: 30px;
background-color: transparent;
children: [ "inputbar", "message", "listview"];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 0px;
padding: 60px 40px;
border-radius: 14px 14px 0 0;
background-color: transparent;
background-image: url("~/.config/backgrounds/gdd-street.jpg", width);
text-color: @fg;
children: [ "textbox-prompt-colon", "entry" ];
}
prompt {
enabled: true;
background-color: inherit;
text-color: inherit;
}
textbox-prompt-colon {
enabled: true;
padding: 12px 15px;
expand: false;
str: " ";
background-color: rgba(30, 30, 36, 0.6);
border-radius: 14px;
text-color: inherit;
}
entry {
enabled: true;
padding: 12px 16px;
text-color: inherit;
cursor: text;
background-color: rgba(30, 30, 36, 0.6);
border-radius: 14px;
placeholder: "Search...";
placeholder-color: inherit;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 10;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
padding: 14px;
spacing: 5px;
background-color: @gray-alt;
text-color: @fg;
cursor: "default";
border-radius: 0 0 14px 14px;
}
scrollbar {
handle-width: 5px ;
handle-color: @blue;
border-radius: 10px;
background-color: @bg-alt;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 6px;
border-radius: 0px;
background-color: transparent;
text-color: @fg;
cursor: pointer;
}
element normal.normal,
element alternate.normal {
background-color: transparent;
text-color: @fg;
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: @blue;
text-color: @bg;
border-radius: 10px;
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: @red;
text-color: @bg;
}
element selected.normal {
background-color: @gray;
text-color: @fg;
border-radius: 10px;
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 24px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border-radius: 0px;
background-color: @bg-alt;
text-color: @fg;
}
textbox {
background-color: transparent;
text-color: @fg;
vertical-align: 0.5;
horizontal-align: 0.0;
highlight: none;
placeholder-color: @fg;
blink: true;
markup: true;
}
error-message {
padding: 30px;
background-color: @bg;
text-color: @fg;
}

View File

@@ -68,7 +68,7 @@
// "on-click": "fuzzel",
// "on-click-middle": "pkill -9 fuzzel",
"on-click": "eww open main --toggle",
"on-click-right": "pkill fuzzel || fuzzel",
"on-click-right": "pkill rofi || rofi -show drun",
"min-length": 2,
"max-length": 2
},
@@ -229,37 +229,13 @@
"active-only": false
},
"hyprland/workspaces#special": {
"active-only": false,
// waiting for a smarter way in coming versions
"ignore-workspaces": [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19",
"20"
],
"persistent-workspaces": {
"special:s": []
},
"persistent-only": true,
"show-special": true,
"special-visible-only": false,
"format": "{icon}",
"format-icons": {
"special": "S",
"default": "C"
}
"format": "{icon}"
},
"custom/workspacenew": {
"format": "+",