This commit is contained in:
xSghetti 2025-05-07 22:57:55 -04:00
parent cb5f26f4dc
commit f41688887f
18 changed files with 441 additions and 206 deletions

View file

@ -12,3 +12,4 @@ exec-once = sleep 1 && hyprpm reload
exec-once = hypridle
exec-once = ~/.config/hypr/scripts/dolphin.sh
exec-once = hyprpaper
exec = pgrep -fx "kitty --class btop-terminal -e btop" || hyprctl dispatch exec "[workspace special:magic silent] kitty --class btop-terminal -e btop"

View file

@ -1,5 +1,4 @@
#listener {
# timeout = 600 # in seconds.
# on-timeout = hyprlock # command to run when timeout has passed.
# on-resume = notify-send "Welcome back, $USER!" # command to run when activity is detected after timeout has fired.
#}
listener {
timeout = 600 # in seconds.
on-timeout = hyprlock # command to run when timeout has passed.
}

View file

@ -14,7 +14,6 @@ source = ~/.cache/wal/colors-hyprland.conf
monitor = DP-2, 1920x1080@100, 0x250, 1
monitor = DP-1, 1920x1080@100, auto, 1
monitor = DP-1, transform, 3
workspace = 1, persistent:true,monitor:DP-2,default:true
workspace = 2, persistent:true,monitor:DP-2
workspace = 3, persistent:true,monitor:DP-2
workspace = 4, persistent:true,monitor:DP-2
@ -24,6 +23,8 @@ workspace = 7, persistent:true,monitor:DP-1
workspace = 8, persistent:true,monitor:DP-1
workspace = 9, persistent:true,monitor:DP-1
workspace = 0, persistent:true,monitor:DP-1
workspace = 1, persistent:true,monitor:DP-2,default:true
# Laptop
@ -126,7 +127,7 @@ plugin {
workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1
enable_gesture = true # laptop touchpad, 4 fingers
gesture_distance = 300 # how far is the "max"
gesture_distance = 300 # how far is the "max"
gesture_positive = true # positive = swipe down. Negative = swipe up.
}
@ -146,4 +147,3 @@ source = ~/.config/hypr/keybindings.conf
source = ~/.config/hypr/windowrule.conf
source = ~/.config/hypr/animations.conf
source = ~/.config/hypr/exec.conf
source = ~/.config/hypr/monitors.conf

View file

@ -1,2 +1,2 @@
preload = /home/crux/.config/wallpapers/wallhaven-2e2xyx.jpg
wallpaper = , /home/crux/.config/wallpapers/wallhaven-2e2xyx.jpg
preload = /home/crux/.config/wallpapers/3d.jpg
wallpaper = , /home/crux/.config/wallpapers/3d.jpg

View file

@ -10,7 +10,7 @@ bind = $mainMod SHIFT, W, exec, wp
bind = $mainMod SHIFT, F, fullscreen
bind = $mainMod, N, exec, swaync-client -t -sw
bind = $mainMod, L, exec, hyprlock
bind = $mainMod, W, exec, $HOME/wallpapertest.sh
bind = $mainMod, W, exec, ~/.config/hypr/scripts/wallpaperselect.sh
bind = $mainMod, G, pin
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
@ -134,3 +134,8 @@ binde = $mainMod SHIFT, UP, exec, ~/.config/hypr/scripts/gaps_out.sh up
binde = $mainMod SHIFT, DOWN, exec, ~/.config/hypr/scripts/gaps_out.sh down
binde = $mainMod SHIFT, left, exec, ~/.config/hypr/scripts/gaps_in.sh down
binde = $mainMod SHIFT, right, exec, ~/.config/hypr/scripts/gaps_in.sh up

View file

@ -7,7 +7,7 @@ command = "kitty --class kitty-dropterm"
class = "kitty-dropterm"
size = "60% 30%"
max_size = "1920px 40%"
margin = 60
margin = 70

View file

View file

@ -1,101 +1,85 @@
#!/bin/bash
scriptsDir="$HOME/.config/hypr/scripts"
# Directory containing wallpapers
#!/bin/bash
# WALLPAPERS PATH
wallDIR="$HOME/.config/wallpapers"
WALLPAPER_DIR="$HOME/.config/wallpapers"
HYPERPAPER_CONFIG="$HOME/.config/hypr/hyprpaper.conf"
# Transition config
FPS=60
TYPE="wipe"
DURATION=2
BEZIER=".43,1.19,1,.4"
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION"
# Check if swaybg is running
if pidof swaybg > /dev/null; then
pkill swaybg
fi
# Retrieve image files
PICS=($(ls "${wallDIR}" | grep -E ".jpg$|.jpeg$|.png$|.gif$"))
RANDOM_PIC="${PICS[$((RANDOM % ${#PICS[@]}))]}"
RANDOM_PIC_NAME="${#PICS[@]}. random"
# Rofi command
rofi_command="rofi -show -dmenu -theme $HOME/.config/rofi/themes/wallpaper-select.rasi"
menu() {
for i in "${!PICS[@]}"; do
# Displaying .gif to indicate animated images
if [[ -z $(echo "${PICS[$i]}" | grep .gif$) ]]; then
printf "$(echo "${PICS[$i]}" | cut -d. -f1)\x00icon\x1f${wallDIR}/${PICS[$i]}\n"
else
printf "${PICS[$i]}\n"
fi
done
printf "$RANDOM_PIC_NAME\n"
}
swww query || swww init
main() {
choice=$(menu | ${rofi_command})
# No choice case
if [[ -z $choice ]]; then
exit 0
fi
# Random choice case
if [ "$choice" = "$RANDOM_PIC_NAME" ]; then
swww img "${wallDIR}/${RANDOM_PIC}" $SWWW_PARAMS
exit 0
fi
# Find the index of the selected file
pic_index=-1
for i in "${!PICS[@]}"; do
filename=$(basename "${PICS[$i]}")
if [[ "$filename" == "$choice"* ]]; then
pic_index=$i
break
fi
done
if [[ $pic_index -ne -1 ]]; then
swww img "${wallDIR}/${PICS[$pic_index]}" $SWWW_PARAMS
else
echo "Image not found."
# Check if the directory exists
if [ ! -d "$WALLPAPER_DIR" ]; then
echo "Wallpaper directory not found!"
exit 1
fi
}
# Check if rofi is already running
if pidof rofi > /dev/null; then
pkill rofi
exit 0
fi
main
# Ensure Hyprpaper is running
if ! pgrep -x "hyprpaper" > /dev/null; then
hyprpaper &
sleep 0.5 # Give it some time to start
fi
wal -i ~/.config/rofi/.current_wallpaper
# Function to format wallpapers for Rofi with previews
menu() {
find "$WALLPAPER_DIR" -type f \( -iname "*.png" -o -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.gif" \) | while read -r img; do
printf "$(basename "$img")\x00icon\x1f$img\n"
done
}
~/.config/hypr/scripts/swww.sh
# Show Rofi menu with image previews
WALLPAPER=$(menu | rofi -dmenu -theme $HOME/.config/rofi/wallselect.rasi)
_ps=(waybar)
for _prs in "${_ps[@]}"; do
if pidof "${_prs}" >/dev/null; then
pkill "${_prs}"
# Check if the user pressed Escape (Rofi returns 1 when Escape is pressed)
if [ $? -eq 1 ]; then
echo "No wallpaper selected, exiting..."
exit 0
fi
# If user selected a wallpaper, preload and set it using Hyprpaper
if [ -n "$WALLPAPER" ]; then
FULL_PATH="$WALLPAPER_DIR/$WALLPAPER"
# Check if the wallpaper file exists before applying it
if [ -f "$FULL_PATH" ]; then
# Preload the wallpaper
hyprctl hyprpaper preload "$FULL_PATH"
sleep 0.2 # Short delay to ensure it's loaded
# Set the wallpaper using hyprpaper
hyprctl hyprpaper wallpaper ", $FULL_PATH"
# Update Hyprpaper config file to persist wallpaper after reboot
echo "preload = $FULL_PATH" > "$HYPERPAPER_CONFIG"
echo "wallpaper = , $FULL_PATH" >> "$HYPERPAPER_CONFIG"
# Restart Hyprpaper to apply changes
pkill hyprpaper
hyprpaper &
# Create symlink to the selected wallpaper for Rofi access
ln -sf "$FULL_PATH" "$HOME/.config/rofi/.current_wallpaper"
# Wait a moment to ensure the wallpaper is fully loaded before applying pywal
sleep 1
# Use pywal to generate color scheme from the current wallpaper
wal -i "$FULL_PATH" --cols16
sleep 1 # Wait a moment for pywal to finish executing
# Run pywal-discord to update Discord (if applicable)
pywal-discord
else
echo "Selected wallpaper file not found."
fi
done
else
echo "No wallpaper selected."
fi
# Kill any running Waybar process
pkill waybar
# Call a script to refresh Hyprpaper settings (if applicable)
~/.config/hypr/scripts/refresh.sh
sleep 1
# Relaunch waybar
waybar &
~/.config/hypr/scripts/refresh.sh
pywal-discord

View file

@ -1,85 +0,0 @@
#!/bin/bash
# Directory containing wallpapers
#!/bin/bash
WALLPAPER_DIR="$HOME/.config/wallpapers"
HYPERPAPER_CONFIG="$HOME/.config/hypr/hyprpaper.conf"
# Check if the directory exists
if [ ! -d "$WALLPAPER_DIR" ]; then
echo "Wallpaper directory not found!"
exit 1
fi
# Ensure Hyprpaper is running
if ! pgrep -x "hyprpaper" > /dev/null; then
hyprpaper &
sleep 0.5 # Give it some time to start
fi
# Function to format wallpapers for Rofi with previews
menu() {
find "$WALLPAPER_DIR" -type f \( -iname "*.png" -o -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.gif" \) | while read -r img; do
printf "$(basename "$img")\x00icon\x1f$img\n"
done
}
# Show Rofi menu with image previews
WALLPAPER=$(menu | rofi -dmenu -theme $HOME/wallselect.rasi)
# Check if the user pressed Escape (Rofi returns 1 when Escape is pressed)
if [ $? -eq 1 ]; then
echo "No wallpaper selected, exiting..."
exit 0
fi
# If user selected a wallpaper, preload and set it using Hyprpaper
if [ -n "$WALLPAPER" ]; then
FULL_PATH="$WALLPAPER_DIR/$WALLPAPER"
# Check if the wallpaper file exists before applying it
if [ -f "$FULL_PATH" ]; then
# Preload the wallpaper
hyprctl hyprpaper preload "$FULL_PATH"
sleep 0.2 # Short delay to ensure it's loaded
# Set the wallpaper using hyprpaper
hyprctl hyprpaper wallpaper ", $FULL_PATH"
# Update Hyprpaper config file to persist wallpaper after reboot
echo "preload = $FULL_PATH" > "$HYPERPAPER_CONFIG"
echo "wallpaper = , $FULL_PATH" >> "$HYPERPAPER_CONFIG"
# Restart Hyprpaper to apply changes
pkill hyprpaper
hyprpaper &
# Create symlink to the selected wallpaper for Rofi access
ln -sf "$FULL_PATH" "$HOME/.config/rofi/.current_wallpaper"
# Wait a moment to ensure the wallpaper is fully loaded before applying pywal
sleep 1
# Use pywal to generate color scheme from the current wallpaper
wal -i "$FULL_PATH"
sleep 1 # Wait a moment for pywal to finish executing
# Run pywal-discord to update Discord (if applicable)
pywal-discord
else
echo "Selected wallpaper file not found."
fi
else
echo "No wallpaper selected."
fi
# Kill any running Waybar process
pkill waybar
# Call a script to refresh Hyprpaper settings (if applicable)
~/.config/hypr/scripts/refresh.sh
# Relaunch waybar
waybar &

View file

@ -3,26 +3,32 @@
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrule = move 1250 50,^(blueman-manager)$
windowrulev2= opacity 0.80 0.80,class:^(Spotify)$
windowrulev2= opacity 0.70 0.70,class:^(Code)$
windowrulev2= opacity 0.80 0.80,class:^(waypaper)$
windowrulev2= opacity 0.80 0.80,class:^(dolphin)$
windowrulev2= opacity 0.80 0.80,class:^(discord)$
windowrulev2= opacity 0.80 0.80,class:^(lutris)$
windowrulev2= opacity 0.80 0.80,class:^(steam)$
windowrulev2= opacity 0.80 0.80,class:^(kitty)$
windowrulev2= opacity 0.80 0.80,class:^(kitty-dropterm)$
windowrulev2 = float,class:^(nwg-look)$
windowrulev2 = float,class:^(org.kde.ark)$
windowrulev2 = float,class:^(eog)$ #Imageviewer-Gtk
windowrulev2 = float,class:^(pavucontrol)$
windowrulev2 = float,class:^(blueman-manager)$
windowrulev2 = float,class:^(nm-applet)$
windowrulev2 = float,class:^(nm-connection-editor)$
windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrulev2 = stayfocused, title:^()$,class:^(steam)$
windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$
windowrule = move 1331 66,class:^(blueman-manager)$
windowrule = opacity 0.80 0.80,class:^(Spotify)$
windowrule = opacity 0.70 0.70,class:^(Code)$
windowrule = opacity 0.80 0.80,class:^(waypaper)$
windowrule = opacity 0.80 0.80,class:^(dolphin)$
windowrule = opacity 0.80 0.80,class:^(discord)$
windowrule = opacity 0.80 0.80,class:^(steam)$
windowrule = opacity 0.80 0.80,class:^(kitty)$
windowrule = opacity 0.80 0.80,class:^(kitty-dropterm)$
windowrule = float,class:^(kitty-dropterm)
windowrule = float,class:^(nwg-look)$
windowrule = float,class:^(org.kde.ark)$
windowrule = float,class:^(eog)$ #Imageviewer-Gtk
windowrule = float,class:^(pavucontrol)$
windowrule = float,class:^(blueman-manager)$
windowrule = float,class:^(nm-applet)$
windowrule = float,class:^(nm-connection-editor)$
windowrule = float,class:^(org.kde.polkit-kde-authentication-agent-1)$
windowrule = stayfocused, title:^()$,class:^(steam)$
windowrule = minsize 1 1, title:^()$,class:^(steam)$
windowrule = tile,class:^(Minecraft* 1.20.1)$
windowrule = workspace special:magic, class:^(btop-terminal)$
windowrule = workspace 6 silent, class:^(discord)$
# Blur Rofi
@ -31,5 +37,6 @@ layerrule = animation popin,rofi
layerrule = ignorezero, rofi
layerrule = blur, swaync-control-center
layerrule = blur, swaync-notification-window
layerrule = blur, notifications
layerrule = ignorezero, swaync-control-center
layerrule = ignorezero, swaync-notification-window

28
.config/kdeglobals Normal file
View file

@ -0,0 +1,28 @@
[Icons]
Theme=Tela-circle-black
[KDE]
widgetStyle=qt6ct-style
[KFileDialog Settings]
Allow Expansion=false
Automatically select filename extension=true
Breadcrumb Navigation=true
Decoration position=2
LocationCombo Completionmode=5
PathCombo Completionmode=5
Show Bookmarks=false
Show Full Path=false
Show Inline Previews=true
Show Preview=false
Show Speedbar=true
Show hidden files=false
Sort by=Name
Sort directories first=true
Sort hidden files last=false
Sort reversed=false
Speedbar Width=144
View Style=DetailTree
[UiSettings]
ColorScheme=Theme Name

View file

@ -1 +1 @@
/home/crux/.config/wallpapers/wallhaven-2e2xyx.jpg
/home/crux/.config/wallpapers/3d.jpg

View file

@ -1 +1 @@
@theme "~/.config/rofi/themes/nova-dark.rasi"
@theme "~/.config/rofi/themes/menu.rasi"

View file

@ -0,0 +1,196 @@
/*****----- Configuration -----*****/
configuration {
modi: "drun,filebrowser,window";
show-icons: true;
display-drun: "";
display-emoji: "󰞅";
display-filebrowser: "";
display-window: "";
drun-display-format: "{name}";
window-format: "{w} · {c} · {t}";
}
@theme "~/.cache/wal/colors-rofi-dark.rasi"
/*****----- Global Properties -----*****/
* {
font: "Jetbrains Mono Nerd Font 10.2";
background: @selected-active-background;
foreground: #eeeeee;
selected: @selected-urgent-background;
active: @selected-normal-background;
urgent: #f38ba8;
}
/*****----- Main Window -----*****/
window {
/* properties for window widget */
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 800px;
height: 500px;
x-offset: 0px;
y-offset: 0px;
border: 2px;
border-color: @active;
/* properties for all widgets */
enabled: true;
border-radius: 0px;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 0px;
background-color: transparent;
orientation: vertical;
children: [ "inputbar", "listbox" ];
}
listbox {
spacing: 20px;
padding: 20px;
background-color: transparent;
orientation: vertical;
children: [ "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 80px 60px;
background-color: transparent;
background-image: url("~/.config/rofi/.current_wallpaper",width);
text-color: @foreground;
orientation: horizontal;
children: [ "entry", "dummy", "mode-switcher" ];
}
entry {
enabled: true;
expand: false;
width: 300px;
padding: 12px 16px;
border-radius: 0px;
border: 0px;
border-color: @selected;
background-color: @background;
text-color: inherit;
cursor: text;
placeholder: "Search";
placeholder-color: inherit;
}
dummy {
expand: true;
background-color: transparent;
}
/*****----- Mode Switcher -----*****/
mode-switcher{
enabled: true;
spacing: 10px;
background-color: transparent;
text-color: @foreground;
}
button {
width: 42px;
padding: 12px;
border-radius: 100%;
background-color: @background;
text-color: inherit;
cursor: pointer;
}
button selected {
background-color: @selected;
text-color: @background;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 3;
lines: 7;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: 10px;
background-color: transparent;
text-color: @foreground;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 10px;
padding: 4px;
border-radius: 0;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element normal.normal {
background-color: inherit;
text-color: inherit;
}
element normal.urgent {
background-color: @urgent;
text-color: @foreground;
}
element normal.active {
background-color: @active;
text-color: @foreground;
}
element selected.normal {
background-color: @selected;
text-color: @background;
}
element selected.urgent {
background-color: @urgent;
text-color: @background;
}
element selected.active {
background-color: @urgent;
text-color: @background;
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 32px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Message -----*****/
message {
background-color: transparent;
}
textbox {
padding: 12px;
border-radius: 100%;
background-color: @background;
text-color: @foreground;
vertical-align: 0.5;
horizontal-align: 0.0;
}
error-message {
padding: 12px;
border-radius: 20px;
background-color: @background;
text-color: @foreground;
}

View file

@ -0,0 +1,100 @@
/*****----- Configuration -----*****/
configuration {
modi: "drun";
show-icons: true;
drun-display-format: "{name}";
}
@theme "~/.cache/wal/colors-rofi-dark.rasi"
/*****----- Global Properties -----*****/
* {
font: "JetBrains Mono Nerd Font 10.1";
background: @selected-active-background;
foreground: @active-foreground;
selected: @selected-urgent-background;
active: @selected-urgent-background;
urgent: #f38ba8;
}
/*****----- Main Window -----*****/
window {
enabled: true;
fullscreen: false;
width: 2000px;
transparency: "real";
cursor: "default";
spacing: 0px;
padding: 0px;
border-radius: 0px;
border: 2px;
border-color: @active;
background-color: transparent;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
children: [ "listview" ];
background-color: @background;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 6;
lines: 1;
spacing: 50px;
padding: 20px 150px;
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: horizontal;
spacing: 0px;
padding: 0px;
border-radius: 20px;
cursor: pointer;
background-color: transparent;
text-color: @inherit;
}
@media(max-aspect-ratio: 1.8) {
element {
orientation: vertical;
}
}
element selected.normal {
background-color: @selected;
text-color: @background;
}
element-icon {
size: 33%;
cursor: inherit;
border-radius: 0px;
background-color: transparent;
text-color: inherit;
}
element-text {
vertical-align: 0.5;
horizontal-align: 0.5;
padding: 20px;
cursor: inherit;
background-color: transparent;
text-color: inherit;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

BIN
.config/wallpapers/8N9J.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 706 KiB

View file

@ -24,7 +24,7 @@
"children-class": "not-power",
"transition-left-to-right": false,
},
"modules": ["custom/swaync", "custom/chatgpt", "custom/updates", "network" ]
"modules": ["custom/swaync", "custom/updates", "network" ]
},