init: copy from Hacmini

This commit is contained in:
2024-09-14 10:42:47 -04:00
commit 1df22c6512
384 changed files with 18925 additions and 0 deletions

View File

@@ -0,0 +1 @@
source = ~/dotfiles/hypr/conf/animations/animations-high.conf

View File

@@ -0,0 +1,18 @@
# -----------------------------------------------------
# Animations
# name "Moving"
# -----------------------------------------------------
animations {
enabled = true
bezier = overshot, 0.05, 0.9, 0.1, 1.05
bezier = smoothOut, 0.5, 0, 0.99, 0.99
bezier = smoothIn, 0.5, -0.5, 0.68, 1.5
animation = windows, 1, 5, overshot, slide
animation = windowsOut, 1, 3, smoothOut
animation = windowsIn, 1, 3, smoothOut
animation = windowsMove, 1, 4, smoothIn, slide
animation = border, 1, 5, default
animation = fade, 1, 5, smoothIn
animation = fadeDim, 1, 5, smoothIn
animation = workspaces, 1, 6, default
}

View File

@@ -0,0 +1,23 @@
# -----------------------------------------------------
# Animations
# name "Fast"
# -----------------------------------------------------
animations {
enabled = true
bezier = linear, 0, 0, 1, 1
bezier = md3_standard, 0.2, 0, 0, 1
bezier = md3_decel, 0.05, 0.7, 0.1, 1
bezier = md3_accel, 0.3, 0, 0.8, 0.15
bezier = overshot, 0.05, 0.9, 0.1, 1.1
bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
bezier = fluent_decel, 0.1, 1, 0, 1
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
bezier = easeOutCirc, 0, 0.55, 0.45, 1
bezier = easeOutExpo, 0.16, 1, 0.3, 1
animation = windows, 1, 3, md3_decel, popin 60%
animation = border, 1, 10, default
animation = fade, 1, 2.5, md3_decel
animation = workspaces, 1, 3.5, easeOutExpo, slide
animation = specialWorkspace, 1, 3, md3_decel, slidevert
}

View File

@@ -0,0 +1,19 @@
# -----------------------------------------------------
# Animations
# name: "High"
# -----------------------------------------------------
animations {
enabled = true
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = liner, 1, 1, 1, 1
animation = windows, 1, 6, wind, slide
animation = windowsIn, 1, 6, winIn, slide
animation = windowsOut, 1, 5, winOut, slide
animation = windowsMove, 1, 5, wind, slide
animation = border, 1, 1, liner
animation = borderangle, 1, 30, liner, loop
animation = fade, 1, 10, default
animation = workspaces, 1, 5, wind
}

View File

@@ -0,0 +1,14 @@
# -----------------------------------------------------
# Animations
# name "Default"
# -----------------------------------------------------
animations {
enabled = true
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}

View File

@@ -0,0 +1,7 @@
# -----------------------------------------------------
# Animations
# name "Default"
# -----------------------------------------------------
animations {
enabled = false
}

View File

@@ -0,0 +1,36 @@
# -----------------------------------------------------
# Autostart
# -----------------------------------------------------
# Setup XDG for screen sharing
exec-once = ../scripts/xdg.sh
# Start Polkit
# exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
# Load Dunst Notification Manager
exec-once = dunst
# Load GTK settings
# exec-once = ~/dotfiles/hypr/scripts/gtk.sh
# Using hypridle to start hyprlock
# exec-once = hypridle
# Load cliphist history
exec-once = wl-paste --watch cliphist store
# Initialize Wallpaper Engine
exec-once = ~/dotfiles/hypr/scripts/init-wallpaper-engine.sh
# Autostart ML4W App
# exec-once = ~/dotfiles/hypr/scripts/ml4w-welcome-autostart.sh
# Start ewww daemon
# exec-once = ~/dotfiles/hypr/scripts/eww.sh
exec-once = pypr
# Start autostart cleanup
# exec-once = ~/dotfiles/hypr/scripts/cleanup.sh

View File

@@ -0,0 +1,2 @@
exec-once = hyprctl setcursor Vimix-hyprcursors 32
env = HYPRCURSOR_THEME,Vimix-hyprcursors

View File

@@ -0,0 +1,2 @@
exec-once = sleep 1 && pw-play ~/.local/share/startupsounds/start-computeraif-14572.mp3 &

View File

@@ -0,0 +1 @@
source = ~/dotfiles/hypr/conf/decorations/custom.conf

View File

@@ -0,0 +1,25 @@
# -----------------------------------------------------
# General window decoration
# name: "Default"
# -----------------------------------------------------
decoration {
rounding = 10
blur {
enabled = true
size = 10
passes = 3
new_optimizations = on
ignore_opacity = true
xray = false
blurls = waybar
}
active_opacity = 1.0
inactive_opacity = 0.8
fullscreen_opacity = 1.0
drop_shadow = true
shadow_range = 30
shadow_render_power = 3
col.shadow = 0x66000000
}

View File

@@ -0,0 +1,25 @@
# -----------------------------------------------------
# General window decoration
# name: "Default"
# -----------------------------------------------------
decoration {
rounding = 10
blur {
enabled = true
size = 6
passes = 2
new_optimizations = on
ignore_opacity = true
xray = true
# blurls = waybar
}
active_opacity = 1.0
inactive_opacity = 0.8
fullscreen_opacity = 1.0
drop_shadow = true
shadow_range = 30
shadow_render_power = 3
col.shadow = 0x66000000
}

View File

@@ -0,0 +1,25 @@
# -----------------------------------------------------
# General window decoration
# name: "No Rounding More Blur"
# -----------------------------------------------------
decoration {
rounding = 0
blur {
enabled = true
size = 12
passes = 6
new_optimizations = on
ignore_opacity = true
xray = true
# blurls = waybar
}
active_opacity = 1.0
inactive_opacity = 0.6
fullscreen_opacity = 1.0
drop_shadow = true
shadow_range = 30
shadow_render_power = 3
col.shadow = 0x66000000
}

View File

@@ -0,0 +1,25 @@
# -----------------------------------------------------
# General window decoration
# name: "No Rounding"
# -----------------------------------------------------
decoration {
rounding = 0
blur {
enabled = true
size = 6
passes = 2
new_optimizations = on
ignore_opacity = true
xray = true
# blurls = waybar
}
active_opacity = 1.0
inactive_opacity = 0.8
fullscreen_opacity = 1.0
drop_shadow = true
shadow_range = 30
shadow_render_power = 3
col.shadow = 0x66000000
}

View File

@@ -0,0 +1,25 @@
# -----------------------------------------------------
# General window decoration
# name: "Rounding All Blur No Shadows"
# -----------------------------------------------------
decoration {
rounding = 10
blur {
enabled = true
size = 12
passes = 4
new_optimizations = on
ignore_opacity = true
xray = true
blurls = waybar
}
active_opacity = 0.9
inactive_opacity = 0.6
fullscreen_opacity = 0.9
drop_shadow = false
shadow_range = 30
shadow_render_power = 3
col.shadow = 0x66000000
}

View File

@@ -0,0 +1,25 @@
# -----------------------------------------------------
# General window decoration
# name: "Rounding All Blur"
# -----------------------------------------------------
decoration {
rounding = 10
blur {
enabled = true
size = 12
passes = 4
new_optimizations = on
ignore_opacity = true
xray = true
blurls = waybar
}
active_opacity = 0.9
inactive_opacity = 0.6
fullscreen_opacity = 0.9
drop_shadow = true
shadow_range = 30
shadow_render_power = 3
col.shadow = 0x66000000
}

View File

@@ -0,0 +1,25 @@
# -----------------------------------------------------
# General window decoration
# name: "Rounding More Blur"
# -----------------------------------------------------
decoration {
rounding = 10
blur {
enabled = true
size = 12
passes = 6
new_optimizations = on
ignore_opacity = true
xray = true
# blurls = waybar
}
active_opacity = 1.0
inactive_opacity = 0.6
fullscreen_opacity = 1.0
drop_shadow = true
shadow_range = 30
shadow_render_power = 3
col.shadow = 0x66000000
}

View File

@@ -0,0 +1,25 @@
# -----------------------------------------------------
# General window decoration
# name: "Default"
# -----------------------------------------------------
decoration {
rounding = 10
blur {
enabled = true
size = 6
passes = 2
new_optimizations = on
ignore_opacity = true
xray = true
# blurls = waybar
}
active_opacity = 1.0
inactive_opacity = 0.8
fullscreen_opacity = 1.0
drop_shadow = true
shadow_range = 30
shadow_render_power = 3
col.shadow = 0x66000000
}

View File

@@ -0,0 +1 @@
source = environments/default.conf

View File

@@ -0,0 +1,14 @@
# -----------------------------------------------------
# Environment Variables
# name: "Default"
# -----------------------------------------------------
env = XDG_CURRENT_DESKTOP, Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
env = QT_QPA_PLATFORM,wayland
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = MOZ_ENABLE_WAYLAND,1
env = LANG,zh_CN.UTF-8

View File

@@ -0,0 +1,14 @@
# -----------------------------------------------------
# Environment Variables
# name: "KVM"
# -----------------------------------------------------
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
env = QT_QPA_PLATFORM,wayland
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = MOZ_ENABLE_WAYLAND,1
env = GDK_SCALE,1
env = WLR_RENDERER_ALLOW_SOFTWARE, 1
env = WLR_NO_HARDWARE_CURSORS, 1

View File

@@ -0,0 +1,13 @@
# -----------------------------------------------------
# Environment Variables
# name: "Nvidia"
# -----------------------------------------------------
# https://wiki.hyprland.org/Nvidia/
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
# env = __GL_VRR_ALLOWED,1
# env = WLR_DRM_NO_ATOMIC,1

View File

@@ -0,0 +1,9 @@
exec-once = fcitx5-remote -r
exec-once = fcitx5 -d --replace
exec-once = fcitx5-remote -r
bind=$mainMod CTRL, E, exec, pkill fcitx5 -9;sleep 1;fcitx5 -d --replace; sleep 1;fcitx5-remote -r
env=XMODIFIERS,'@im=fcitx'
#env=GTK_IM_MODULE,fcitx
env=QT_IM_MODULE,fcitx

View File

@@ -0,0 +1,6 @@
xwayland {
force_zero_scaling = true
}
env = GDK_SCALE,2
env = QT_AUTO_SCREEN_SCALE_FACTOR,1

View File

@@ -0,0 +1 @@
source = keybindings/custom.conf

View File

@@ -0,0 +1,104 @@
# -----------------------------------------------------
# Key bindings
# name: "Default"
# -----------------------------------------------------
# SUPER KEY
$mainMod = SUPER
# Applications
bind = $mainMod, RETURN, exec, ~/dotfiles/.settings/terminal.sh
bind = $mainMod, B, exec, ~/dotfiles/.settings/browser.sh
bind = $mainMod SHIFT, E, exec, emote
# Windows
bind = $mainMod, Q, killactive
bind = $mainMod, F, fullscreen
bind = $mainMod SHIFT, F, fullscreen, 1
bind = $mainMod CTRL SHIFT, F, fullscreen, 2
#bind = $mainMod ALT, F, fakefullscreen
bind = $mainMod, E, exec, ~/dotfiles/.settings/filemanager.sh
bind = $mainMod, T, togglefloating
bind = $mainMod SHIFT, T, exec, ~/dotfiles/hypr/scripts/toggleallfloat.sh
bind = $mainMod, J, togglesplit
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
bind = $mainMod SHIFT, right, resizeactive, 100 0
bind = $mainMod SHIFT, left, resizeactive, -100 0
bind = $mainMod SHIFT, up, resizeactive, 0 -100
bind = $mainMod SHIFT, down, resizeactive, 0 100
bind = $mainMod, G, togglegroup
bind = $mainMod CTRL, Tab, changegroupactive, f
# Actions
bind = $mainMod, PRINT, exec, ~/dotfiles/hypr/scripts/screenshot.sh
bind = $mainMod CTRL, Q, exec, wlogout
bind = $mainMod SHIFT, W, exec, ~/dotfiles/hypr/scripts/wallpaper.sh
bind = $mainMod CTRL, W, exec, ~/dotfiles/hypr/scripts/wallpaper.sh select
bind = $mainMod, SPACE, exec, rofi -show drun -replace -i
bind = $mainMod CTRL, H, exec, ~/dotfiles/hypr/scripts/keybindings.sh
bind = $mainMod SHIFT, B, exec, ~/dotfiles/waybar/launch.sh
bind = $mainMod CTRL, B, exec, ~/dotfiles/waybar/toggle.sh
bind = $mainMod SHIFT, R, exec, ~/dotfiles/hypr/scripts/loadconfig.sh
bind = $mainMod CTRL, C, exec, ~/dotfiles/scripts/cliphist.sh
bind = $mainMod, V, exec, ~/dotfiles/scripts/cliphist.sh
bind = $mainMod CTRL, T, exec, ~/dotfiles/waybar/themeswitcher.sh
bind = $mainMod CTRL, S, exec, ~/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage
bind = $mainMod CTRL, P, exec, hyprpicker -a
bind = $mainMod SHIFT, S, exec, ~/dotfiles/hypr/scripts/hyprshade.sh
bind = $mainMod ALT, G, exec, ~/dotfiles/hypr/scripts/gamemode.sh
# Workspaces
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
bind = $mainMod CTRL, down, workspace, empty
bind = $mainMod CTRL, left, workspace, e-1
bind = $mainMod CTRL, right, workspace, e+1
# Fn keys
bind = , XF86MonBrightnessUp, exec, brightnessctl -q s +10%
bind = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%-
bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% && notify-send -t 400 "Volume: $(pactl get-sink-volume @DEFAULT_SINK@ | awk '/front-left/ {print $5}')"
bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% && notify-send -t 400 "Volume: $(pactl get-sink-volume @DEFAULT_SINK@ | awk '/front-left/ {print $5}')"
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bind = , XF86AudioPlay, exec, playerctl play-pause
bind = , XF86AudioPause, exec, playerctl pause
bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioPrev, exec, playerctl previous
bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle
bind = , XF86Calculator, exec, qalculate-gtk
bind = , XF86Lock, exec, hyprlock
bind = , XF86Tools, exec, alacritty --class dotfiles-floating -e ~/dotfiles/hypr/settings/settings.sh
# Passthrough SUPER KEY to Virtual Machine
bind = $mainMod, P, submap, passthru
submap = passthru
bind = SUPER, Escape, submap, reset
submap = reset
# Pyprland
bind = $mainMod SHIFT, RETURN, exec, pypr toggle term

View File

@@ -0,0 +1,94 @@
# -----------------------------------------------------
# Key bindings
# name: "Default"
# -----------------------------------------------------
# SUPER KEY
$mainMod = SUPER
# Applications
bind = $mainMod, RETURN, exec, ~/dotfiles/.settings/terminal.sh # Open the terminal
bind = $mainMod, B, exec, ~/dotfiles/.settings/browser.sh # Open the browser
bind = $mainMod, E, exec, ~/dotfiles/.settings/filemanager.sh # Open the filemanager
# Windows
bind = $mainMod, Q, killactive # Kill active window
bind = $mainMod, F, fullscreen # Set active window to fullscreen
bind = $mainMod, T, togglefloating # Toggle active windows into floating mode
bind = $mainMod SHIFT, T, exec, ~/dotfiles/hypr/scripts/toggleallfloat.sh # Toggle all windows into floating mode
bind = $mainMod, J, togglesplit # Toggle split
bind = $mainMod, left, movefocus, l # Move focus left
bind = $mainMod, right, movefocus, r # Move focus right
bind = $mainMod, up, movefocus, u # Move focus up
bind = $mainMod, down, movefocus, d # Move focus down
bindm = $mainMod, mouse:272, movewindow # Move window with the mouse
bindm = $mainMod, mouse:273, resizewindow # Resize window with the mouse
bind = $mainMod SHIFT, right, resizeactive, 100 0 # Increase window width with keyboard
bind = $mainMod SHIFT, left, resizeactive, -100 0 # Reduce window width with keyboard
bind = $mainMod SHIFT, down, resizeactive, 0 100 # Increase window height with keyboard
bind = $mainMod SHIFT, up, resizeactive, 0 -100 # Reduce window height with keyboard
bind = $mainMod, G, togglegroup # Toggle window group
# Actions
bind = $mainMod SHIFT, A, exec, ~/dotfiles/hypr/scripts/toggle-animations.sh # Toggle animations
bind = $mainMod, PRINT, exec, ~/dotfiles/hypr/scripts/screenshot.sh # Take a screenshot
bind = $mainMod CTRL, Q, exec, wlogout # Start wlogout
bind = $mainMod SHIFT, W, exec, ~/dotfiles/hypr/scripts/wallpaper.sh # Change the wallpaper
bind = $mainMod CTRL, W, exec, ~/dotfiles/hypr/scripts/wallpaper.sh select # Open wallpaper selector
bind = $mainMod CTRL, RETURN, exec, rofi -show drun -replace -i # Open application launcher
bind = $mainMod CTRL, H, exec, ~/dotfiles/hypr/scripts/keybindings.sh # Show keybindings
bind = $mainMod SHIFT, B, exec, ~/dotfiles/waybar/launch.sh # Reload waybar
bind = $mainMod CTRL, B, exec, ~/dotfiles/waybar/toggle.sh # Toggle waybar
bind = $mainMod SHIFT, R, exec, ~/dotfiles/hypr/scripts/loadconfig.sh # Reload hyprland config
bind = $mainMod, V, exec, ~/dotfiles/scripts/cliphist.sh # Open clipboard manager
bind = $mainMod CTRL, T, exec, ~/dotfiles/waybar/themeswitcher.sh # Open waybar theme switcher
bind = $mainMod CTRL, S, exec, ~/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app
bind = $mainMod SHIFT, S, exec, ~/dotfiles/hypr/scripts/hyprshade.sh # Toggle screenshader
bind = $mainMod ALT, G, exec, ~/dotfiles/hypr/scripts/gamemode.sh # Toggle game mode
# Workspaces
bind = $mainMod, 1, workspace, 1 # Open workspace 1
bind = $mainMod, 2, workspace, 2 # Open workspace 2
bind = $mainMod, 3, workspace, 3 # Open workspace 3
bind = $mainMod, 4, workspace, 4 # Open workspace 4
bind = $mainMod, 5, workspace, 5 # Open workspace 5
bind = $mainMod, 6, workspace, 6 # Open workspace 6
bind = $mainMod, 7, workspace, 7 # Open workspace 7
bind = $mainMod, 8, workspace, 8 # Open workspace 8
bind = $mainMod, 9, workspace, 9 # Open workspace 9
bind = $mainMod, 0, workspace, 10 # Open workspace 10
bind = $mainMod SHIFT, 1, movetoworkspace, 1 # Move active window to workspace 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2 # Move active window to workspace 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3 # Move active window to workspace 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4 # Move active window to workspace 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5 # Move active window to workspace 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6 # Move active window to workspace 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7 # Move active window to workspace 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8 # Move active window to workspace 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9 # Move active window to workspace 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Move active window to workspace 10
bind = $mainMod, mouse_down, workspace, e+1 # Open next workspace
bind = $mainMod, mouse_up, workspace, e-1 # Open previous workspace
bind = $mainMod CTRL, down, workspace, empty # Open the next empty workspace
# Passthrough SUPER KEY to Virtual Machine
bind = $mainMod, P, submap, passthru # Passthrough SUPER key to virtual machine
submap = passthru
bind = SUPER, Escape, submap, reset # Get SUPER key back from virtual machine
submap = reset
# Fn keys
bind = , XF86MonBrightnessUp, exec, brightnessctl -q s +10% # Increase brightness by 10%
bind = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%- # Reduce brightness by 10%
bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% # Increase volume by 5%
bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% # Reduce volume by 5%
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # Toggle mute
bind = , XF86AudioPlay, exec, playerctl play-pause # Audio play pause
bind = , XF86AudioPause, exec, playerctl pause # Audio pause
bind = , XF86AudioNext, exec, playerctl next # Audio next
bind = , XF86AudioPrev, exec, playerctl previous # Audio previous
bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # Toggle microphone
bind = , XF86Calculator, exec, qalculate-gtk # Open calculator
bind = , XF86Lock, exec, hyprlock # Open screenlock
bind = , XF86Tools, exec, alacritty --class dotfiles-floating -e ~/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app

View File

@@ -0,0 +1,11 @@
# -----------------------------------------------------
# Misc settings
# -----------------------------------------------------
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
enable_swallow = true
swallow_regex = ^(Alacritty|kitty|thunar)$
font_family = FiraCode Nerd Font
}

View File

@@ -0,0 +1 @@
source=monitors/hacmini.conf

View File

@@ -0,0 +1,5 @@
monitor=DP-1,preferred,0x0,2
monitor=HDMI-A-1,3840x2160@30,1920x-275,2,transform,1
workspace=1,monitor:DP-1
exec-once=hyprctl dispatch workspace 1

View File

@@ -0,0 +1 @@
source = ~/dotfiles/hypr/conf/windows/default.conf

View File

@@ -0,0 +1 @@
source = ~/dotfiles/hypr/conf/windowrules/custom.conf

View File

@@ -0,0 +1,27 @@
# -----------------------------------------------------
# Window rules
# -----------------------------------------------------
windowrule = float,^(Rofi)$
windowrule = tile,^(Microsoft-edge)$
windowrule = tile,^(Brave-browser)$
windowrule = tile,^(Chromium)$
windowrule = float,^(pavucontrol)$
windowrule = float,^(blueman-manager)$
windowrule = float,^(nm-connection-editor)$
windowrule = float,^(qalculate-gtk)$
windowrule = float,^(showmethekey-gtk)$
windowrule = pin,^(showmethekey-gtk)$
layerrule = blur, gtk-layer-shell
layerrule = blur, logout_dialog
windowrule = float,title:^(Mathematica)$
windowrule = opacity 0.8, ^(Code)$
windowrule = opacity 0.8, ^(code-oss)$
windowrule = opacity 0.8, ^(code-url-handler)$
windowrule = float,^(QQ)$
windowrule = float,^(wechat)$
windowrule = float,^(fdm)$
windowrule = float,^(Uget-gtk)$
windowrule = float,^(xdg-desktop-portal-gtk)$

View File

@@ -0,0 +1,11 @@
# -----------------------------------------------------
# Window rules
# -----------------------------------------------------
windowrule = tile,^(Microsoft-edge)$
windowrule = tile,^(Brave-browser)$
windowrule = tile,^(Chromium)$
windowrule = float,^(pavucontrol)$
windowrule = float,^(blueman-manager)$
windowrule = float,^(nm-connection-editor)$
windowrule = float,^(qalculate-gtk)$

View File

@@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 1
col.active_border = rgba(ffffffff)
col.inactive_border = $color11
layout = dwindle
}

View File

@@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 1
col.active_border = $color11
col.inactive_border = rgba(ffffffff)
layout = dwindle
}

View File

@@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 2
col.active_border = rgba(ffffffff)
col.inactive_border = $color11
layout = dwindle
}

View File

@@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 2
col.active_border = $color11
col.inactive_border = rgba(ffffffff)
layout = dwindle
}

View File

@@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 3
col.active_border = rgba(ffffffff)
col.inactive_border = $color11
layout = dwindle
}

View File

@@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 3
col.active_border = $color11
col.inactive_border = rgba(ffffffff)
layout = dwindle
}

View File

@@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 4
col.active_border = rgba(ffffffff)
col.inactive_border = $color11
layout = dwindle
}

View File

@@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 4
col.active_border = $color11
col.inactive_border = rgba(ffffffff)
layout = dwindle
}

View File

@@ -0,0 +1,22 @@
# -----------------------------------------------------
# General window layout and colors
# name: "Default"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 2
col.active_border = $color11
col.inactive_border = rgba(ffffffff)
layout = dwindle
}
group {
col.border_active = $color11
col.border_inactive = rgba(ffffffff)
groupbar {
col.active = $color11
col.inactive = $color13
}
}

View File

@@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "No Border More Gaps"
# -----------------------------------------------------
general {
gaps_in = 20
gaps_out = 40
border_size = 0
col.active_border = $color11
col.inactive_border = rgba(ffffffff)
layout = dwindle
}

View File

@@ -0,0 +1,13 @@
# -----------------------------------------------------
# General window layout and colors
# name: "No Border"
# -----------------------------------------------------
general {
gaps_in = 10
gaps_out = 14
border_size = 0
col.active_border = $color11
col.inactive_border = rgba(ffffffff)
layout = dwindle
}

144
dotfiles/hypr/hyprland.conf Normal file
View File

@@ -0,0 +1,144 @@
# #######################################################################################
# AUTOGENERATED HYPR CONFIG.
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
# #######################################################################################
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#
# autogenerated = 1 # remove this line to remove the warning
# -----------------------------------------------------------------------------
# wal color
# -----------------------------------------------------------------------------
source = ~/.cache/wal/colors-hyprland.conf
# -----------------------------------------------------------------------------
# Monitors
# -----------------------------------------------------------------------------
source = conf/monitor.conf
# -----------------------------------------------------------------------------
# Autostart
# -----------------------------------------------------------------------------
source = conf/autostart.conf
# -----------------------------------------------------------------------------
# Cursor
# -----------------------------------------------------------------------------
source = conf/cursor.conf
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
# Set programs that you use
$terminal = kitty
$fileManager = dolphin
$menu = wofi --show drun
# -----------------------------------------------------------------------------
# Environment
# -----------------------------------------------------------------------------
source = conf/environment.conf
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = no
}
sensitivity = 0 # -1.0 to 1.0, 0 means no modification.
}
# -----------------------------------------------------------------------------
# Window
# -----------------------------------------------------------------------------
source = conf/window.conf
# -----------------------------------------------------------------------------
# Decoration
# -----------------------------------------------------------------------------
source = conf/decoration.conf
# -----------------------------------------------------------------------------
# Animation
# -----------------------------------------------------------------------------
source = conf/animation.conf
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
#new_is_master = true
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = off
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
name = epic-mouse-v1
sensitivity = -0.5
}
# -----------------------------------------------------------------------------
# Window Rules
# -----------------------------------------------------------------------------
source = conf/windowrule.conf
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
# -----------------------------------------------------------------------------
# Environment for xdg-desktop-portal-hyprland
# -----------------------------------------------------------------------------
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
# -----------------------------------------------------------------------------
# Load configurations
# -----------------------------------------------------------------------------
source = conf/keybinding.conf
source = conf/misc.conf
# -----------------------------------------------------------------------------
# Hidpi
# -----------------------------------------------------------------------------
source = conf/hidpi.conf
# -----------------------------------------------------------------------------
# Fcitx5
# -----------------------------------------------------------------------------
source = conf/fcitx5.conf
# -----------------------------------------------------------------------------
# Custom
# -----------------------------------------------------------------------------
source = conf/custom.conf

View File

@@ -0,0 +1,8 @@
# Preload Wallpapers
preload = /home/wyj/.cache/used_wallpaper
# Set Wallpapers
wallpaper = ,/home/wyj/.cache/used_wallpaper
# Disable Splash
splash = false

View File

@@ -0,0 +1,12 @@
[pyprland]
plugins = [
"scratchpads",
"magnify",
]
[scratchpads.term]
animation = "fromTop"
command = "alacritty --class alacritty-dropterm"
class = "alacritty-dropterm"
size = "75% 60%"

View File

@@ -0,0 +1,18 @@
import sys
import subprocess
import os
import json
import pathlib
import shutil
# Get script path
pathname = os.path.dirname(sys.argv[0])
homeFolder = os.path.expanduser('~') # Path to home folder
dotfiles = homeFolder + "/dotfiles/"
result = subprocess.run(["bash", dotfiles + "hypr/scripts/monitors.sh"], capture_output=True, text=True)
monitors_json = result.stdout.strip()
monitors_arr = json.loads(monitors_json)
for row in monitors_arr:
if row["focused"]:
print(row["id"])

View File

@@ -0,0 +1,7 @@
#!/bin/bash
# Remove gamemode flag
if [ -f ~/.cache/gamemode ] ;then
rm ~/.cache/gamemode
echo ":: ~/.cache/gamemode removed"
fi

View File

@@ -0,0 +1,52 @@
#!/bin/bash
# ____ _ _
# | _ \(_) __ _ __ _ _ __ ___ ___(_)___
# | | | | |/ _` |/ _` | '_ \ / _ \/ __| / __|
# | |_| | | (_| | (_| | | | | (_) \__ \ \__ \
# |____/|_|\__,_|\__, |_| |_|\___/|___/_|___/
# |___/
#
clear
sleep 0.5
figlet "Diagnosis"
echo
echo "This script will check that essential packages and "
echo "execution commands are available on your system."
echo
_commandExists() {
package="$1";
if ! type $package > /dev/null 2>&1; then
echo ":: ERROR: $package doesn't exists. Please install it with yay -S $2"
else
echo ":: OK: $package found."
fi
}
_folderExists() {
folder="$1";
if [ ! -d $folder ]; then
echo ":: ERROR: $folder doesn't exists."
else
echo ":: OK: $folder found."
fi
}
_commandExists "rofi" "rofi-wayland"
_commandExists "dunst" "dunst"
_commandExists "waybar" "waybar"
_commandExists "hyprpaper" "hyprpaper"
_commandExists "hyprlock" "hyprpaper"
_commandExists "hypridle" "hyprpaper"
_commandExists "wal" "python-pywal"
_commandExists "gum" "gum"
_commandExists "wlogout" "wlogout"
_commandExists "swww" "swww"
_commandExists "eww" "eww"
_commandExists "magick" "imagemagick"
_commandExists "figlet" "figlet"
echo
echo "Press return to exit"
read

View File

@@ -0,0 +1,32 @@
#!/bin/bash
clear
cat <<"EOF"
____ _ _ _ ____ __ __
| _ \(_)___ __ _| |__ | | ___| _ \| \/ |
| | | | / __|/ _` | '_ \| |/ _ \ | | | |\/| |
| |_| | \__ \ (_| | |_) | | __/ |_| | | | |
|____/|_|___/\__,_|_.__/|_|\___|____/|_| |_|
EOF
echo "Hyprland recommends the start with the tty login."
echo "You can deactivate the current display manager (if exists)."
echo ""
echo "-> Do you really want to deactivate the display manager?"
while true; do
read -p "Do you want to enable the sddm display manager and setup theme? (Yy/Nn): " yn
case $yn in
[Yy]* )
if [ -f /etc/systemd/system/display-manager.service ]; then
sudo rm /etc/systemd/system/display-manager.service
echo "Current display manager removed."
else
echo "No active display manager found."
fi
break;;
[Nn]* )
exit
break;;
* ) echo "Please answer yes or no.";;
esac
done

11
dotfiles/hypr/scripts/eww.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
# _____ ____ __
# / _ \ \ /\ / /\ \ /\ / /
# | __/\ V V / \ V V /
# \___| \_/\_/ \_/\_/
#
EWW=`which eww`
if [[ ! `pidof eww` ]]; then
${EWW} daemon
sleep 0.5
fi

3
dotfiles/hypr/scripts/exit.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
sleep 0.5
killall -9 Hyprland sleep 2

View File

@@ -0,0 +1,24 @@
#!/bin/bash
# ____ _
# / ___| __ _ _ __ ___ ___ _ __ ___ ___ __| | ___
# | | _ / _` | '_ ` _ \ / _ \ '_ ` _ \ / _ \ / _` |/ _ \
# | |_| | (_| | | | | | | __/ | | | | | (_) | (_| | __/
# \____|\__,_|_| |_| |_|\___|_| |_| |_|\___/ \__,_|\___|
#
if [ -f ~/.cache/gamemode ] ;then
hyprctl reload
rm ~/.cache/gamemode
notify-send "Gamemode deactivated" "Animations and blur enabled"
else
hyprctl --batch "\
keyword animations:enabled 0;\
keyword decoration:drop_shadow 0;\
keyword decoration:blur:enabled 0;\
keyword general:gaps_in 0;\
keyword general:gaps_out 0;\
keyword general:border_size 1;\
keyword decoration:rounding 0"
touch ~/.cache/gamemode
notify-send "Gamemode activated" "Animations and blur disabled"
fi

35
dotfiles/hypr/scripts/gtk.sh Executable file
View File

@@ -0,0 +1,35 @@
#!/bin/bash
# ____ _____ _ __
# / ___|_ _| |/ /
# | | _ | | | ' /
# | |_| | | | | . \
# \____| |_| |_|\_\
#
# Source: https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
config="$HOME/.config/gtk-3.0/settings.ini"
if [ ! -f "$config" ]; then exit 1; fi
gnome_schema="org.gnome.desktop.interface"
gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')"
icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')"
cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')"
cursor_size="$(grep 'gtk-cursor-theme-size' "$config" | sed 's/.*\s*=\s*//')"
font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')"
echo $gtk_theme
echo $icon_theme
echo $cursor_theme
echo $cursor_size
echo $font_name
gsettings set "$gnome_schema" gtk-theme "$gtk_theme"
gsettings set "$gnome_schema" icon-theme "$icon_theme"
gsettings set "$gnome_schema" cursor-theme "$cursor_theme"
gsettings set "$gnome_schema" font-name "$font_name"
gsettings set "$gnome_schema" color-scheme "prefer-dark"
# if [ -f ~/dotfiles/hypr/conf/cursor.conf ] ;then
# echo "exec-once = hyprctl setcursor $cursor_theme $cursor_size" > ~/dotfiles/hypr/conf/cursor.conf
# hyprctl setcursor $cursor_theme $cursor_size
# fi

View File

@@ -0,0 +1,25 @@
#!/bin/bash
# _ _ _ _ _
# | | | |_ _ _ __ _ __(_) __| | | ___
# | |_| | | | | '_ \| '__| |/ _` | |/ _ \
# | _ | |_| | |_) | | | | (_| | | __/
# |_| |_|\__, | .__/|_| |_|\__,_|_|\___|
# |___/|_|
#
SERVICE="hypridle"
if [[ "$1" == "status" ]]; then
sleep 1
if pgrep -x "$SERVICE" >/dev/null ;then
echo '{"text": "RUNNING", "class": "active", "tooltip": "Screen locking active"}'
else
echo '{"text": "NOT RUNNING", "class": "notactive", "tooltip": "Screen locking deactivated"}'
fi
fi
if [[ "$1" == "toggle" ]]; then
if pgrep -x "$SERVICE" >/dev/null ;then
killall hypridle
else
hypridle
fi
fi

View File

@@ -0,0 +1,52 @@
#!/bin/bash
# _ _ _ _
# | | | |_ _ _ __ _ __ ___| |__ __ _ __| | ___
# | |_| | | | | '_ \| '__/ __| '_ \ / _` |/ _` |/ _ \
# | _ | |_| | |_) | | \__ \ | | | (_| | (_| | __/
# |_| |_|\__, | .__/|_| |___/_| |_|\__,_|\__,_|\___|
# |___/|_|
#
if [[ "$1" == "rofi" ]]; then
# Open rofi to select the Hyprshade filter for toggle
options="$(hyprshade ls)\noff"
# Open rofi
choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/dotfiles/rofi/config-hyprshade.rasi -i -no-show-icons -l 4 -width 30 -p "Hyprshade")
if [ ! -z $choice ] ;then
echo "hyprshade_filter=\"$choice\"" > ~/dotfiles/.settings/hyprshade.sh
dunstify "Changing Hyprshade to $choice" "Toggle shader with SUPER+SHIFT+S"
fi
else
# Toggle Hyprshade based on the selected filter
hyprshade_filter="blue-light-filter"
# Check if hyprshade.sh settings file exists and load
if [ -f ~/dotfiles/.settings/hyprshade.sh ] ;then
source ~/dotfiles/.settings/hyprshade.sh
fi
# Toggle Hyprshade
if [ "$hyprshade_filter" != "off" ] ;then
if [ -z $(hyprshade current) ] ;then
echo ":: hyprshade is not running"
hyprshade on $hyprshade_filter
notify-send "Hyprshade activated" "with $(hyprshade current)"
echo ":: hyprshade started with $(hyprshade current)"
else
notify-send "Hyprshade deactivated"
echo ":: Current hyprshade $(hyprshade current)"
echo ":: Switching hyprshade off"
hyprshade off
fi
else
if [ -z $(hyprshade current) ] ;then
hyprshade off
fi
echo ":: hyprshade turned off"
fi
fi

View File

@@ -0,0 +1,27 @@
#!/bin/bash
# __ ______ _____ _
# \ \ / / _ \ | ____|_ __ __ _(_)_ __ ___
# \ \ /\ / /| |_) | | _| | '_ \ / _` | | '_ \ / _ \
# \ V V / | __/ | |___| | | | (_| | | | | | __/
# \_/\_/ |_| |_____|_| |_|\__, |_|_| |_|\___|
# |___/
#
wallpaper_engine=$(cat $HOME/dotfiles/.settings/wallpaper-engine.sh)
if [ "$wallpaper_engine" == "swww" ] ;then
# swww
echo ":: Using swww"
swww init
swww-daemon --format xrgb
sleep 0.5
~/dotfiles/hypr/scripts/wallpaper.sh init
elif [ "$wallpaper_engine" == "hyprpaper" ] ;then
# hyprpaper
echo ":: Using hyprpaper"
sleep 0.5
~/dotfiles/hypr/scripts/wallpaper.sh init
else
echo ":: Wallpaper Engine disabled"
~/dotfiles/hypr/scripts/wallpaper.sh init
fi

View File

@@ -0,0 +1,49 @@
#!/bin/bash
# _ _ _ _ _
# | | _____ _ _| |__ (_)_ __ __| (_)_ __ __ _ ___
# | |/ / _ \ | | | '_ \| | '_ \ / _` | | '_ \ / _` / __|
# | < __/ |_| | |_) | | | | | (_| | | | | | (_| \__ \
# |_|\_\___|\__, |_.__/|_|_| |_|\__,_|_|_| |_|\__, |___/
# |___/ |___/
# by Stephan Raabe (2023)
# -----------------------------------------------------
# -----------------------------------------------------
# Get keybindings location based on variation
# -----------------------------------------------------
config_file=$(cat ~/dotfiles/hypr/conf/keybinding.conf)
config_file=${config_file/source = ~/}
config_file=${config_file/source=~/}
# -----------------------------------------------------
# Path to keybindings config file
# -----------------------------------------------------
config_file="/home/$USER$config_file"
echo "Reading from: $config_file"
keybinds=""
# Detect Start String
while read -r line
do
if [[ "$line" == "bind"* ]]; then
line="$(echo "$line" | sed 's/$mainMod/SUPER/g')"
line="$(echo "$line" | sed 's/bind = //g')"
line="$(echo "$line" | sed 's/bindm = //g')"
IFS='#'
read -a strarr <<<"$line"
kb_str=${strarr[0]}
cm_str=${strarr[1]}
IFS=','
read -a kbarr <<<"$kb_str"
item="${kbarr[0]} + ${kbarr[1]}"$'\r'"${cm_str:1}"
keybinds=$keybinds$item$'\n'
fi
done < "$config_file"
sleep 0.2
rofi -dmenu -i -markup -eh 2 -replace -p "Keybinds" -config ~/dotfiles/rofi/config-compact.rasi <<< "$keybinds"

View File

@@ -0,0 +1,2 @@
#!/bin/bash
hyprctl reload

3
dotfiles/hypr/scripts/lock.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
sleep 0.5
hyprlock

View File

@@ -0,0 +1,33 @@
#!/bin/bash
# __ __ _ _ ___ __ _ _
# | \/ | | | || \ \ / / | | __ _ _ _ _ __ ___| |__ ___ _ __
# | |\/| | | | || |\ \ /\ / / | | / _` | | | | '_ \ / __| '_ \ / _ \ '__|
# | | | | |__|__ _\ V V / | |__| (_| | |_| | | | | (__| | | | __/ |
# |_| |_|_____| |_| \_/\_/ |_____\__,_|\__,_|_| |_|\___|_| |_|\___|_|
#
option1="ML4W Dotfiles Settings"
option2="Hyprland Settings"
option3="Change Wallpaper"
option4="Change Waybar Theme"
option5="ML4W Welcome App"
options="$option1\n"
options="$options$option2\n"
options="$options$option3\n"
options="$options$option4\n$option5"
choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/dotfiles/rofi/config-ml4w-launcher.rasi -l 5)
case $choice in
$option1)
$HOME/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage ;;
$option2)
$HOME/dotfiles/apps/ML4W_Hyprland_Settings-x86_64.AppImage ;;
$option3)
$HOME/dotfiles/hypr/scripts/wallpaper.sh select ;;
$option4)
$HOME/dotfiles/waybar/themeswitcher.sh ;;
$option5)
$HOME/dotfiles/apps/ML4W_Welcome-x86_64.AppImage ;;
esac

View File

@@ -0,0 +1,14 @@
#!/bin/bash
if [ ! -f $HOME/.cache/ml4w-welcome-autostart ] ;then
echo ":: Autostart of ML4W Welcome App enabled."
if [ -f $HOME/dotfiles/apps/ML4W_Welcome-x86_64.AppImage ] ;then
echo ":: Starting ML4W Welcome App ..."
sleep 2
$HOME/dotfiles/apps/ML4W_Welcome-x86_64.AppImage
else
echo ":: ML4W Welcome App not found."
fi
else
echo ":: Autostart of ML4W Welcome App disabled."
fi

View File

@@ -0,0 +1,2 @@
#!/bin/bash
hyprctl -j monitors

43
dotfiles/hypr/scripts/power.sh Executable file
View File

@@ -0,0 +1,43 @@
#!/bin/bash
# ____
# | _ \ _____ _____ _ __
# | |_) / _ \ \ /\ / / _ \ '__|
# | __/ (_) \ V V / __/ |
# |_| \___/ \_/\_/ \___|_|
#
if [[ "$1" == "exit" ]]; then
echo ":: Exit"
sleep 0.5
killall -9 Hyprland sleep 2
fi
if [[ "$1" == "lock" ]]; then
echo ":: Lock"
sleep 0.5
hyprlock
fi
if [[ "$1" == "reboot" ]]; then
echo ":: Reboot"
sleep 0.5
systemctl reboot
fi
if [[ "$1" == "shutdown" ]]; then
echo ":: Shutdown"
sleep 0.5
systemctl poweroff
fi
if [[ "$1" == "suspend" ]]; then
echo ":: Suspend"
sleep 0.5
systemctl suspend
fi
if [[ "$1" == "hibernate" ]]; then
echo ":: Hibernate"
sleep 1;
systemctl hibernate
fi

View File

@@ -0,0 +1,3 @@
#!/bin/bash
sleep 0.5
systemctl reboot

View File

@@ -0,0 +1,5 @@
#!/bin/bash
killall hypridle
sleep 1
hypridle &
notify-send "hypridle has been restarted."

View File

@@ -0,0 +1,45 @@
#!/bin/bash
# ____ _ _
# / ___| ___ _ __ ___ ___ _ __ ___| |__ ___ | |_
# \___ \ / __| '__/ _ \/ _ \ '_ \/ __| '_ \ / _ \| __|
# ___) | (__| | | __/ __/ | | \__ \ | | | (_) | |_
# |____/ \___|_| \___|\___|_| |_|___/_| |_|\___/ \__|
#
#
# by Stephan Raabe (2023)
# -----------------------------------------------------
DIR="$HOME/Pictures/screenshots/"
NAME="screenshot_$(date +%d%m%Y_%H%M%S).png"
option2="Selected area"
option3="Fullscreen (delay 3 sec)"
option4="Current display (delay 3 sec)"
options="$option2\n$option3\n$option4"
choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/dotfiles/rofi/config-screenshot.rasi -i -no-show-icons -l 3 -width 30 -p "Take Screenshot")
case $choice in
$option2)
grim -g "$(slurp)" "$DIR$NAME"
xclip -selection clipboard -t image/png -i "$DIR$NAME"
notify-send "Screenshot created and copied to clipboard" "Mode: Selected area"
swappy -f "$DIR$NAME"
;;
$option3)
sleep 3
grim "$DIR$NAME"
xclip -selection clipboard -t image/png -i "$DIR$NAME"
notify-send "Screenshot created and copied to clipboard" "Mode: Fullscreen"
swappy -f "$DIR$NAME"
;;
$option4)
sleep 3
monitor="$(hyprctl monitors | awk '/Monitor/{monitor=$2} /focused: yes/{print monitor; exit}')"
grim -o "$monitor" "$DIR$NAME"
xclip -selection clipboard -t image/png -i "$DIR$NAME"
notify-send "Screenshot created and copied to clipboard" "Mode: Fullscreen"
swappy -f "$DIR$NAME"
;;
esac

View File

@@ -0,0 +1,3 @@
#!/bin/bash
sleep 0.5
systemctl poweroff

View File

@@ -0,0 +1,3 @@
#!/bin/bash
sleep 0.5
systemctl suspend

View File

@@ -0,0 +1,13 @@
#!/bin/bash
cache_file="$HOME/.cache/toggle_animation"
if [[ $(cat $HOME/dotfiles/hypr/conf/animation.conf) == *"disabled"* ]]; then
echo ":: Toggle blocked by disabled.conf variation."
else
if [ -f $cache_file ] ;then
hyprctl keyword animations:enabled true
rm $cache_file
else
hyprctl keyword animations:enabled false
touch $cache_file
fi
fi

View File

@@ -0,0 +1,11 @@
#!/bin/bash
# _ _ _ __ _ _
# / \ | | |/ _| | ___ __ _| |_
# / _ \ | | | |_| |/ _ \ / _` | __|
# / ___ \| | | _| | (_) | (_| | |_
# /_/ \_\_|_|_| |_|\___/ \__,_|\__|
#
# by Stephan Raabe (2023)
# -----------------------------------------------------
hyprctl dispatch workspaceopt allfloat

View File

@@ -0,0 +1,12 @@
#!/bin/bash
# Open rofi to select the Hyprshade filter for toggle
options="$(ls ~/dotfiles/hypr/effects/wallpaper/)\noff"
# Open rofi
choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/dotfiles/rofi/config-themes.rasi -i -no-show-icons -l 5 -width 30 -p "Hyprshade")
if [ ! -z $choice ] ;then
echo "$choice" > ~/dotfiles/.settings/wallpaper-effect.sh
dunstify "Changing Wallpaper Effect to " "$choice"
~/dotfiles/hypr/scripts/wallpaper.sh init
fi

View File

@@ -0,0 +1,185 @@
#!/bin/bash
# _ _
# __ ____ _| | |_ __ __ _ _ __ ___ _ __
# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__|
# \ V V / (_| | | | |_) | (_| | |_) | __/ |
# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_|
# |_| |_|
#
# by Stephan Raabe (2024)
# -----------------------------------------------------
# Cache file for holding the current wallpaper
wallpaper_folder="$HOME/wallpaper"
if [ -f ~/dotfiles/.settings/wallpaper-folder.sh ] ;then
source ~/dotfiles/.settings/wallpaper-folder.sh
fi
used_wallpaper="$HOME/.cache/used_wallpaper"
cache_file="$HOME/.cache/current_wallpaper"
blurred="$HOME/.cache/blurred_wallpaper.png"
square="$HOME/.cache/square_wallpaper.png"
rasi_file="$HOME/.cache/current_wallpaper.rasi"
blur_file="$HOME/dotfiles/.settings/blur.sh"
blur="50x30"
blur=$(cat $blur_file)
# Create cache file if not exists
if [ ! -f $cache_file ] ;then
touch $cache_file
echo "$wallpaper_folder/default.jpg" > "$cache_file"
fi
# Create rasi file if not exists
if [ ! -f $rasi_file ] ;then
touch $rasi_file
echo "* { current-image: url(\"$wallpaper_folder/default.jpg\", height); }" > "$rasi_file"
fi
current_wallpaper=$(cat "$cache_file")
case $1 in
# Load wallpaper from .cache of last session
"init")
sleep 1
if [ -f $cache_file ]; then
wal -q -i $current_wallpaper
else
wal -q -i $wallpaper_folder/
fi
;;
# Select wallpaper with rofi
"select")
sleep 0.2
selected=$( find "$wallpaper_folder" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" \) -exec basename {} \; | sort -R | while read rfile
do
echo -en "$rfile\x00icon\x1f$wallpaper_folder/${rfile}\n"
done | rofi -dmenu -i -replace -config ~/dotfiles/rofi/config-wallpaper.rasi)
if [ ! "$selected" ]; then
echo "No wallpaper selected"
exit
fi
wal -q -i $wallpaper_folder/$selected
;;
# Randomly select wallpaper
*)
wal -q -i $wallpaper_folder/
;;
esac
# -----------------------------------------------------
# Load current pywal color scheme
# -----------------------------------------------------
source "$HOME/.cache/wal/colors.sh"
# -----------------------------------------------------
# get wallpaper image name
# -----------------------------------------------------
newwall=$(echo $wallpaper | sed "s|$wallpaper_folder/||g")
# -----------------------------------------------------
# Reload waybar with new colors
# -----------------------------------------------------
~/dotfiles/waybar/launch.sh
# -----------------------------------------------------
# Set the new wallpaper
# -----------------------------------------------------
transition_type="wipe"
# transition_type="outer"
# transition_type="random"
cp $wallpaper $HOME/.cache/
mv $HOME/.cache/$newwall $used_wallpaper
# Load Wallpaper Effect
if [ -f $HOME/dotfiles/.settings/wallpaper-effect.sh ] ;then
effect=$(cat $HOME/dotfiles/.settings/wallpaper-effect.sh)
if [ ! "$effect" == "off" ] ;then
if [ "$1" == "init" ] ;then
echo ":: Init"
else
dunstify "Using wallpaper effect $effect..." "with image $newwall" -h int:value:10 -h string:x-dunst-stack-tag:wallpaper
fi
source $HOME/dotfiles/hypr/effects/wallpaper/$effect
fi
fi
wallpaper_engine=$(cat $HOME/dotfiles/.settings/wallpaper-engine.sh)
if [ "$wallpaper_engine" == "swww" ] ;then
# swww
echo ":: Using swww"
swww img $used_wallpaper \
--transition-bezier .43,1.19,1,.4 \
--transition-fps=60 \
--transition-type=$transition_type \
--transition-duration=0.7 \
--transition-pos "$( hyprctl cursorpos )"
elif [ "$wallpaper_engine" == "hyprpaper" ] ;then
# hyprpaper
echo ":: Using hyprpaper"
killall hyprpaper
wal_tpl=$(cat $HOME/dotfiles/.settings/hyprpaper.tpl)
output=${wal_tpl//WALLPAPER/$used_wallpaper}
echo "$output" > $HOME/dotfiles/hypr/hyprpaper.conf
hyprpaper &
else
echo ":: Wallpaper Engine disabled"
fi
if [ "$1" == "init" ] ;then
echo ":: Init"
else
sleep 1
dunstify "Changing wallpaper ..." "with image $newwall" -h int:value:25 -h string:x-dunst-stack-tag:wallpaper
fi
# -----------------------------------------------------
# Created blurred wallpaper
# -----------------------------------------------------
if [ "$1" == "init" ] ;then
echo ":: Init"
else
dunstify "Creating blurred version ..." "with image $newwall" -h int:value:50 -h string:x-dunst-stack-tag:wallpaper
fi
magick $used_wallpaper -resize 75% $blurred
echo ":: Resized to 75%"
if [ ! "$blur" == "0x0" ] ;then
magick $blurred -blur $blur $blurred
echo ":: Blurred"
fi
# -----------------------------------------------------
# Created quare wallpaper
# -----------------------------------------------------
if [ "$1" == "init" ] ;then
echo ":: Init"
else
dunstify "Creating square version ..." "with image $newwall" -h int:value:75 -h string:x-dunst-stack-tag:wallpaper
fi
magick $wallpaper -gravity Center -extent 1:1 $square
echo ":: Square version created"
# -----------------------------------------------------
# Write selected wallpaper into .cache files
# -----------------------------------------------------
echo "$wallpaper" > "$cache_file"
echo "* { current-image: url(\"$blurred\", height); }" > "$rasi_file"
# -----------------------------------------------------
# Send notification
# -----------------------------------------------------
if [ "$1" == "init" ] ;then
echo ":: Init"
else
dunstify "Wallpaper procedure complete!" "with image $newwall" -h int:value:100 -h string:x-dunst-stack-tag:wallpaper
fi
echo "DONE!"

27
dotfiles/hypr/scripts/xdg.sh Executable file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
# __ ______ ____
# \ \/ / _ \ / ___|
# \ /| | | | | _
# / \| |_| | |_| |
# /_/\_\____/ \____|
#
# -----------------------------------------------------
sleep 1
# kill all possible running xdg-desktop-portals
killall -e xdg-desktop-portal-hyprland
killall -e xdg-desktop-portal-gnome
killall -e xdg-desktop-portal-kde
killall -e xdg-desktop-portal-lxqt
killall -e xdg-desktop-portal-wlr
killall -e xdg-desktop-portal-gtk
killall xdg-desktop-portal
sleep 1
# start xdg-desktop-portal-hyprland
/usr/libexec/xdg-desktop-portal-hyprland &
sleep 2
# start xdg-desktop-portal
/usr/libexec/xdg-desktop-portal &
sleep 1