This commit is contained in:
2025-08-13 21:46:48 +02:00
commit c3e2e6509b
818 changed files with 54187 additions and 0 deletions

40
rofi/.github/README.md vendored Normal file
View File

@@ -0,0 +1,40 @@
<div align="center">
<a href=""><img src="./title.png"></a>
</div>
<div align="center">
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/palette/macchiato.png" width="80%"/><br>
</div>
<div align="center">
<a href="#herb--about"><img width="190px" src="../../../.github/assets/category-images/dotfiles-about.png"></a>
<a href="#gear--config"><img width="190px" src="../../../.github/assets/category-images/dotfiles-config.png"></a>
<a href="#camera--gallery"><img width="190px" src="../../../.github/assets/category-images/dotfiles-gallery.png"></a>
<a href="#keyboard--binds"><img width="190px" src="../../../.github/assets/category-images/dotfiles-binds.png"></a>
</div>
# :camera: <samp>Gallery</samp>
| **Applications** |
| ------------------------------------------ |
| ![applications](./assets/applications.png) |
| **Game Launcher** |
| -------------------------------------------- |
| ![game-launcher](./assets/game-launcher.png) |
| **Powermenu** |
| ------------------------------------ |
| ![powermenu](./assets/powermenu.png) |
| **Screenshots** |
| ---------------------------------------- |
| ![screenshots](./assets/screenshots.png) |
| **Wallpapers** |
| -------------------------------------- |
| ![wallpapers](./assets/wallpapers.png) |

BIN
rofi/.github/assets/applications.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 523 KiB

BIN
rofi/.github/assets/game-launcher.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
rofi/.github/assets/powermenu.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 728 KiB

BIN
rofi/.github/assets/screenshots.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

BIN
rofi/.github/assets/wallpapers.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
rofi/.github/title.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

95
rofi/config.rasi Normal file
View File

@@ -0,0 +1,95 @@
configuration {
// General Settings
modi: "drun,run,filebrowser";
case-sensitive: false;
cycle: false;
filter: "";
scroll-method: 0;
normalize-match: true;
show-icons: true;
icon-theme: "Catppuccin-SE";
font: "JetBrainsMono Nerd Font 10";
steal-focus: false;
hover-select: true;
// Keybindings
kb-row-up: "Control+k,Up";
kb-row-down: "Control+j,Down";
kb-accept-entry: "Return,KP_Enter";
kb-remove-to-eol: "";
// Matching setting
matching: "normal";
tokenize: true;
// SSH settings
ssh-client: "ssh";
ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";
parse-hosts: true;
parse-known-hosts: true;
// 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;
// History and Sorting
disable-history: false;
sorting-method: "fzf";
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";
sort: false;
threads: 0;
click-to-exit: true;
// File browser settings
filebrowser {
directories-first: true;
sorting-method: "name";
}
// Other settings
timeout {
action: "kb-cancel";
delay: 0;
}
}
@theme "style"

View File

@@ -0,0 +1,8 @@
#!/bin/bash
if ! command -v cliphist >/dev/null 2>&1; then
notify-send "Program not found" "Make sure you have installed cliphist"
exit 1
else
cliphist list | rofi -dmenu | cliphist decode | wl-copy
fi

3
rofi/scripts/emoji/emoji Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
rofi -modi emoji -show emoji -emoji-mode copy -theme ~/.config/rofi/scripts/emoji/style.rasi -emoji-format '{emoji} <span weight="bold">{name}</span> [<span size="small">({group})</span>]'

View File

@@ -0,0 +1,10 @@
// Config
configuration {
modi: "emoji";
show: "emoji";
emoji-mode: "copy";
display-emoji: "Emojis";
show-icons: true;
}
@theme "~/.config/rofi/style.rasi"

View File

@@ -0,0 +1,135 @@
// Config
configuration {
modi: "games";
show-icons: true;
drun-display-format: "{name}";
font: "JetBrainsMono Nerd Font 9";
}
@theme "~/.config/rofi/theme/catppuccin-macchiato.rasi"
// Main
window {
enabled: true;
fullscreen: false;
width: 90%;
transparency: "real";
cursor: "default";
spacing: 0px;
padding: 0px;
border: 2px;
border-radius: 10px;
border-color: @accent;
background-color: transparent;
}
mainbox {
enabled: true;
children: [ "inputbar-box", "listview" ];
background-color: @background;
}
inputbar-box {
children: [ dummy, inputbar, dummy ];
orientation: horizontal;
expand: false;
margin: 20px 0px 0px 0px;
background-color: transparent;
}
dummy {
expand: true;
background-color: transparent;
}
inputbar {
enabled: true;
spacing: 15px;
margin: 0px;
background-color: transparent;
children: [ "textbox-prompt-colon", "entry" ];
}
textbox-prompt-colon {
enabled: true;
expand: false;
padding: 13px 12px 13px 16px;
border: 0px;
border-radius: 7px;
border-color: @border-tb;
background-color: @background-tb;
text-color: @foreground;
str: " ";
}
entry {
enabled: true;
padding: 12px 16px;
border: 0px;
border-radius: 7px;
border-color: @border-tb;
background-color: @background-tb;
text-color: @foreground;
cursor: text;
placeholder: "Search...";
placeholder-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
width: 10%;
}
// Lists
listview {
enabled: true;
columns: 10;
lines: 1;
spacing: 30px;
padding: 20px 40px 40px 40px;
cycle: true;
dynamic: false;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
cursor: "default";
background-color: transparent;
text-color: @foreground;
}
// Elements
element {
enabled: true;
orientation: vertical;
spacing: 0px;
padding: 5px;
border-radius: 15px;
cursor: pointer;
background-color: transparent;
text-color: @foreground;
}
element selected.normal {
background-color: @accent;
text-color: @foreground;
}
element-icon {
size: 25%;
spacing: 0px;
padding: 10px;
cursor: inherit;
border-radius: 20px;
background-color: transparent;
text-color: inherit;
}
element-text {
vertical-align: 0.5;
horizontal-align: 0.5;
spacing: 0px;
padding: 10px;
cursor: inherit;
background-color: transparent;
text-color: inherit;
}

View File

@@ -0,0 +1,14 @@
#!/bin/bash
if ! command -v keyb >/dev/null 2>&1; then
notify-send "Program not found" "Make sure you have installed keyb"
exit 1
else
CONFIG=$(fd --base-directory "$HOME/.config/keyb/bindings" --type f . | sed 's/\.yml$//' | rofi -dmenu)
if [ -z "$CONFIG" ]; then
exit
fi
hyprctl dispatch exec "[float;size 45% 80%;center 1] kitty keyb -k '$HOME/.config/keyb/bindings/$CONFIG.yml'"
fi

View File

@@ -0,0 +1,80 @@
#!/bin/bash
# variables
uptime="$(uptime -p | sed -e 's/up //g')"
shutdown='󰐥'
reboot='󰜉'
lock=''
suspend='󰤄'
logout='󰍃'
yes='󰸞'
no='󱎘'
rofi_cmd() {
rofi -dmenu \
-p "Uptime: $uptime" \
-mesg "Uptime: $uptime" \
-theme ~/.config/rofi/scripts/powermenu/style.rasi
}
confirm_cmd() {
rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \
-theme-str 'mainbox {children: [ "message", "listview" ];}' \
-theme-str 'listview {columns: 2; lines: 1;}' \
-theme-str 'element-text {horizontal-align: 0.5;}' \
-theme-str 'textbox {horizontal-align: 0.5;}' \
-dmenu \
-p 'Confirmation' \
-mesg 'Are you sure?' \
-theme ~/.config/rofi/scripts/powermenu/style.rasi
}
confirm_exit() {
echo -e "$yes\n$no" | confirm_cmd
}
run_rofi() {
echo -e "$lock\n$suspend\n$logout\n$reboot\n$shutdown" | rofi_cmd
}
# Execute Command
run_cmd() {
selected="$(confirm_exit)"
if [[ "$selected" == "$yes" ]]; then
if [[ $1 == '--shutdown' ]]; then
systemctl poweroff
elif [[ $1 == '--reboot' ]]; then
systemctl reboot
elif [[ $1 == '--suspend' ]]; then
mpc -q pause
hyprlock
systemctl suspend
elif [[ $1 == '--logout' ]]; then
hyprctl dispatch exit
elif [[ $1 == '--lock' ]]; then
hyprlock
fi
else
exit 0
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$shutdown)
run_cmd --shutdown
;;
$reboot)
run_cmd --reboot
;;
$lock)
run_cmd --lock
;;
$suspend)
run_cmd --suspend
;;
$logout)
run_cmd --logout
;;
esac

View File

@@ -0,0 +1,168 @@
// Config
configuration {
show-icons: false;
me-select-entry: "";
me-accept-entry: [ MousePrimary, MouseSecondary, MouseDPrimary ];
}
@theme "~/.config/rofi/theme/catppuccin-macchiato.rasi"
// Main Window
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 450px;
x-offset: 0px;
y-offset: 0px;
enabled: true;
margin: 0px;
padding: 0px;
border: 2px solid;
border-radius: 10px;
border-color: @accent;
cursor: "default";
background-color: @background;
}
// Main Box
mainbox {
enabled: true;
spacing: 15px;
margin: 0px;
padding: 30px;
border: 0px solid;
border-radius: 5px;
border-color: @selected;
background-color: transparent;
children: [ "message", "listview" ];
}
// Inputbar
inputbar {
enabled: false;
spacing: 15px;
margin: 0px;
padding: 0px;
border: 0px;
border-radius: 5px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt" ];
}
dummy {
background-color: transparent;
}
textbox-prompt-colon {
font: "Symbols Nerd Font 12";
enabled: false;
expand: false;
str: "";
padding: 0 14px;
border-radius: 10px;
border-color: @urgent;
border: 2px solid;
background-color: @background;
text-color: @foreground;
vertical-align: 0.5;
horizontal-align: 0.5;
}
prompt {
enabled: false;
padding: 12px;
border-radius: 10px;
border-color: @active;
border: 2px solid;
background-color: @background;
text-color: @foreground;
}
// Message
message {
enabled: false;
margin: 0px;
padding: 12px;
border: 0px solid;
border-radius: 10px;
border-color: @selected;
background-color: @background-tb;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
placeholder-color: @foreground;
blink: true;
markup: true;
}
error-message {
padding: 12px;
border: 0px solid;
border-radius: 10px;
border-color: @selected;
background-color: @background;
text-color: @foreground;
}
// Listview
listview {
enabled: true;
columns: 5;
lines: 1;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: 15px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: "default";
}
// Elements
element {
enabled: true;
spacing: 0px;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 10px;
border-color: @accent;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "Symbols Nerd Font 24";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0; // NOTE: Change this back to 0.5 once https://github.com/davatorium/rofi/issues/2076 is resolved
horizontal-align: 0.5;
}
element selected.normal {
background-color: var(foreground);
border-color: var(selected);
border: 0px solid;
text-color: var(background);
}

View File

@@ -0,0 +1,34 @@
#!/bin/bash
if [ "$1" = "--freeze" ]; then
extra_args="--freeze"
fi
# variables
theme="$HOME/.config/rofi/scripts/screenshot/style.rasi"
hyprshot="$HOME/.config/hypr/scripts/hyprshot"
save_dir="$HOME/pictures/screenshots/pc"
filename="captura-$(date +%Y-%m-%d-%s).png"
command="$hyprshot -o $save_dir -f $filename $extra_args"
# options to be displayed
region="󰆞"
output=""
window=""
folder=""
selected="$(echo -e "$region\n$output\n$window\n$folder" | rofi -dmenu -theme "${theme}")"
case $selected in
$region)
$command -m region
;;
$output)
$command -m output
;;
$window)
$command -m window
;;
$folder)
~/.config/rofi/scripts/screenshot/screenshot_selection
;;
esac

View File

@@ -0,0 +1,28 @@
#!/bin/bash
screenshots_dir=$HOME/pictures/screenshots/pc
theme="$HOME/.config/rofi/scripts/wallpaper/style.rasi"
build_theme() {
rows=$1
cols=$2
icon_size=$3
echo "element{orientation:vertical;}element-text{horizontal-align:0.5;}element-icon{size:$icon_size.0000em;}listview{lines:$rows;columns:$cols;}"
}
rofi_cmd="rofi -dmenu -i -show-icons -theme-str $(build_theme 5 4 10) -theme ${theme}"
choice=$(
ls -t --escape "$screenshots_dir" -p | grep -v / |
while read A; do echo -en "$A\x00icon\x1f$screenshots_dir/$A\n"; done |
$rofi_cmd
)
screenshot="$screenshots_dir/$choice"
if command -v satty &>/dev/null; then
satty -f "$screenshot"
else
xdg-open "$screenshot"
fi

View File

@@ -0,0 +1,168 @@
// Config
configuration {
show-icons: false;
me-select-entry: "";
me-accept-entry: [ MousePrimary, MouseSecondary, MouseDPrimary ];
}
@theme "~/.config/rofi/theme/catppuccin-macchiato.rasi"
// Main Window
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 450px;
x-offset: 0px;
y-offset: 0px;
enabled: true;
margin: 0px;
padding: 0px;
border: 2px solid;
border-radius: 10px;
border-color: @accent;
cursor: "default";
background-color: @background;
}
// Main Box
mainbox {
enabled: true;
spacing: 15px;
margin: 0px;
padding: 30px;
border: 0px solid;
border-radius: 5px;
border-color: @selected;
background-color: transparent;
children: [ "message", "listview" ];
}
// Inputbar
inputbar {
enabled: false;
spacing: 15px;
margin: 0px;
padding: 0px;
border: 0px;
border-radius: 5px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt" ];
}
dummy {
background-color: transparent;
}
textbox-prompt-colon {
font: "Symbols Nerd Font 12";
enabled: false;
expand: false;
str: "";
padding: 0 14px;
border-radius: 10px;
border-color: @urgent;
border: 2px solid;
background-color: @background;
text-color: @foreground;
vertical-align: 0.5;
horizontal-align: 0.5;
}
prompt {
enabled: false;
padding: 12px;
border-radius: 10px;
border-color: @active;
border: 2px solid;
background-color: @background;
text-color: @foreground;
}
// Message
message {
enabled: false;
margin: 0px;
padding: 12px;
border: 0px solid;
border-radius: 10px;
border-color: @selected;
background-color: @background-tb;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
placeholder-color: @foreground;
blink: true;
markup: true;
}
error-message {
padding: 12px;
border: 0px solid;
border-radius: 10px;
border-color: @selected;
background-color: @background;
text-color: @foreground;
}
// Listview
listview {
enabled: true;
columns: 4;
lines: 1;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: 15px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: "default";
}
// Elements
element {
enabled: true;
spacing: 0px;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 10px;
border-color: @accent;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "Symbols Nerd Font 24";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0; // NOTE: Change this back to 0.5 once https://github.com/davatorium/rofi/issues/2076 is resolved
horizontal-align: 0.5;
}
element selected.normal {
background-color: var(foreground);
border-color: var(selected);
border: 0px solid;
text-color: var(background);
}

View File

@@ -0,0 +1,7 @@
@theme "~/.config/rofi/style.rasi"
// Window
window {
width: 900px;
height: 700px;
}

View File

@@ -0,0 +1,31 @@
#!/bin/bash
wallpapers_dir="$HOME/.config/hypr/theme/walls/"
build_theme() {
rows=$1
cols=$2
icon_size=$3
echo "element{orientation:vertical;}element-text{horizontal-align:0.5;}element-icon{size:$icon_size.0000em;}listview{lines:$rows;columns:$cols;}"
}
theme="$HOME/.config/rofi/scripts/wallpaper/style.rasi"
rofi_cmd="rofi -dmenu -i -show-icons -theme-str $(build_theme 4 3 12) -theme ${theme}"
choice=$(
ls --escape "$wallpapers_dir" |
while read A; do echo -en "$A\x00icon\x1f$wallpapers_dir/$A\n"; done |
$rofi_cmd
)
wallpaper="$wallpapers_dir/$choice"
swww img "$wallpaper" \
--transition-bezier 0.5,1.19,.8,.4 \
--transition-type wipe \
--transition-duration 2 \
--transition-fps 75 && notify-send "Wallpaper Changed" -i "$wallpaper" --app-name=Wallpaper
exit 1

174
rofi/style.rasi Normal file
View File

@@ -0,0 +1,174 @@
configuration {
modi: "drun";
show-icons: true;
display-drun: "Apps";
display-run: "Run";
display-filebrowser: "Files";
display-window: "Windows";
drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";
me-select-entry: "";
me-accept-entry: [ MousePrimary, MouseSecondary, MouseDPrimary ];
}
@theme "~/.config/rofi/theme/catppuccin-macchiato.rasi"
// Main Window
window {
location: center;
anchor: center;
fullscreen: false;
border: 2px;
border-radius: 10px;
border-color: @accent;
width: 500px;
x-offset: 0px;
y-offset: 0px;
enabled: true;
margin: 0px;
padding: 0px;
border-radius: 10px;
cursor: "default";
transparency: "real";
background-color: @background;
}
// Main Box
mainbox {
enabled: true;
spacing: 15px;
padding: 30px;
background-color: transparent;
children: [ "inputbar", "mode-switcher", "listview" ];
}
// Inputbar
inputbar {
enabled: true;
spacing: 15px;
margin: 0px;
background-color: transparent;
children: [ "textbox-prompt-colon", "entry" ];
}
textbox-prompt-colon {
enabled: true;
expand: false;
padding: 13px 12px 13px 16px;
border: 0px;
border-radius: 7px;
border-color: @border-tb;
background-color: @background-tb;
text-color: @foreground;
str: " ";
}
entry {
enabled: true;
padding: 12px 16px;
border: 0px;
border-radius: 7px;
border-color: @border-tb;
background-color: @background-tb;
text-color: @foreground;
cursor: text;
placeholder: "Search...";
placeholder-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
// Listview
listview {
enabled: true;
columns: 1;
lines: 5;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: 10px;
background-color: transparent;
cursor: "default";
}
// Elements
element {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 7px;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element normal.active {
background-image: @active;
text-color: @foreground;
}
element selected.normal {
border-radius: 7px;
background-image: @selected;
text-color: @foreground;
}
element selected.active {
background-image: @urgent;
text-color: @foreground;
}
element-icon {
background-color: transparent;
size: 48px;
cursor: inherit;
}
element-text {
background-color: inherit;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
// Mode Switcher
mode-switcher {
enabled: true;
expand: false;
spacing: 15px;
background-color: transparent;
}
button {
padding: 10px;
border-radius: 7px;
background-image: @button;
text-color: @background;
cursor: pointer;
}
button selected {
background-image: @button-selected;
text-color: @background;
}
// Message
error-message {
padding: 20px;
background-color: @background;
text-color: @foreground;
}
textbox {
padding: 0px;
border-radius: 7px;
text-color: @foreground;
vertical-align: 0.5;
horizontal-align: 0.0;
}

View File

@@ -0,0 +1,12 @@
* {
background: #24273ACC;
foreground: #CAD3F5FF;
accent: #B7BDF869;
background-tb: #494D64FF;
border-tb: #363A4FFF;
selected: linear-gradient(to right, #363A4FFF, #B7BDF869);
button: linear-gradient(#939AB7FF);
button-selected: linear-gradient(#B7BDF869);
active: linear-gradient(to right, #8BD5CAFF, #A6DA95FF);
urgent: #ED8796FF;
}