diff --git a/.config/hypr/conf/hypr/colors.conf b/.config/hypr/conf/hypr/colors.conf new file mode 100644 index 0000000..2ad5d0a --- /dev/null +++ b/.config/hypr/conf/hypr/colors.conf @@ -0,0 +1,100 @@ + +$background = rgba(111318ff) + +$error = rgba(ffb4abff) + +$error_container = rgba(93000aff) + +$inverse_on_surface = rgba(2e3036ff) + +$inverse_primary = rgba(425e91ff) + +$inverse_surface = rgba(e2e2e9ff) + +$on_background = rgba(e2e2e9ff) + +$on_error = rgba(690005ff) + +$on_error_container = rgba(ffdad6ff) + +$on_primary = rgba(0c305fff) + +$on_primary_container = rgba(d7e3ffff) + +$on_primary_fixed = rgba(001b3fff) + +$on_primary_fixed_variant = rgba(284677ff) + +$on_secondary = rgba(283041ff) + +$on_secondary_container = rgba(dae2f9ff) + +$on_secondary_fixed = rgba(131c2bff) + +$on_secondary_fixed_variant = rgba(3e4759ff) + +$on_surface = rgba(e2e2e9ff) + +$on_surface_variant = rgba(c4c6d0ff) + +$on_tertiary = rgba(3f2844ff) + +$on_tertiary_container = rgba(fad8fdff) + +$on_tertiary_fixed = rgba(29132eff) + +$on_tertiary_fixed_variant = rgba(573e5cff) + +$outline = rgba(8e9099ff) + +$outline_variant = rgba(44474eff) + +$primary = rgba(abc7ffff) + +$primary_container = rgba(284677ff) + +$primary_fixed = rgba(d7e3ffff) + +$primary_fixed_dim = rgba(abc7ffff) + +$scrim = rgba(000000ff) + +$secondary = rgba(bec6dcff) + +$secondary_container = rgba(3e4759ff) + +$secondary_fixed = rgba(dae2f9ff) + +$secondary_fixed_dim = rgba(bec6dcff) + +$shadow = rgba(000000ff) + +$source_color = rgba(012a5bff) + +$surface = rgba(111318ff) + +$surface_bright = rgba(37393eff) + +$surface_container = rgba(1e2025ff) + +$surface_container_high = rgba(282a2fff) + +$surface_container_highest = rgba(33353aff) + +$surface_container_low = rgba(191c20ff) + +$surface_container_lowest = rgba(0c0e13ff) + +$surface_dim = rgba(111318ff) + +$surface_tint = rgba(abc7ffff) + +$surface_variant = rgba(44474eff) + +$tertiary = rgba(ddbce0ff) + +$tertiary_container = rgba(573e5cff) + +$tertiary_fixed = rgba(fad8fdff) + +$tertiary_fixed_dim = rgba(ddbce0ff) diff --git a/.config/hypr/conf/hypr/conf/animation.conf b/.config/hypr/conf/hypr/conf/animation.conf new file mode 100644 index 0000000..a210389 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/animation.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/animations/default.conf diff --git a/.config/hypr/conf/hypr/conf/animations/animations-classic.conf b/.config/hypr/conf/hypr/conf/animations/animations-classic.conf new file mode 100644 index 0000000..4c33b0b --- /dev/null +++ b/.config/hypr/conf/hypr/conf/animations/animations-classic.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# Animations +# name "Classic" +# ----------------------------------------------------- +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 +} diff --git a/.config/hypr/conf/hypr/conf/animations/animations-dynamic.conf b/.config/hypr/conf/hypr/conf/animations/animations-dynamic.conf new file mode 100644 index 0000000..d703dd3 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/animations/animations-dynamic.conf @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# Animations +# name "Dynamic" +# ----------------------------------------------------- +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 +} diff --git a/.config/hypr/conf/hypr/conf/animations/animations-end4.conf b/.config/hypr/conf/hypr/conf/animations/animations-end4.conf new file mode 100644 index 0000000..4147d90 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/animations/animations-end4.conf @@ -0,0 +1,39 @@ + +# name "End-4" +# credit https://github.com/end-4/dots-hyprland + +animations { + enabled = true + # Animation curves + + 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 = menu_decel, 0.1, 1, 0, 1 + bezier = menu_accel, 0.38, 0.04, 1, 0.07 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + bezier = softAcDecel, 0.26, 0.26, 0.15, 1 + bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration + # Animation configs + animation = windows, 1, 3, md3_decel, popin 60% + animation = windowsIn, 1, 3, md3_decel, popin 60% + animation = windowsOut, 1, 3, md3_accel, popin 60% + animation = border, 1, 10, default + animation = fade, 1, 3, md3_decel + # animation = layers, 1, 2, md3_decel, slide + animation = layersIn, 1, 3, menu_decel, slide + animation = layersOut, 1, 1.6, menu_accel + animation = fadeLayersIn, 1, 2, menu_decel + animation = fadeLayersOut, 1, 4.5, menu_accel + animation = workspaces, 1, 7, menu_decel, slide + # animation = workspaces, 1, 2.5, softAcDecel, slide + # animation = workspaces, 1, 7, menu_decel, slidefade 15% + # animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15% + animation = specialWorkspace, 1, 3, md3_decel, slidevert +} diff --git a/.config/hypr/conf/hypr/conf/animations/animations-fast.conf b/.config/hypr/conf/hypr/conf/animations/animations-fast.conf new file mode 100644 index 0000000..4eecc45 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/animations/animations-fast.conf @@ -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 +} diff --git a/.config/hypr/conf/hypr/conf/animations/animations-high.conf b/.config/hypr/conf/hypr/conf/animations/animations-high.conf new file mode 100644 index 0000000..e403420 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/animations/animations-high.conf @@ -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 +} diff --git a/.config/hypr/conf/hypr/conf/animations/animations-moving.conf b/.config/hypr/conf/hypr/conf/animations/animations-moving.conf new file mode 100644 index 0000000..20ec046 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/animations/animations-moving.conf @@ -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 +} diff --git a/.config/hypr/conf/hypr/conf/animations/default.conf b/.config/hypr/conf/hypr/conf/animations/default.conf new file mode 100644 index 0000000..4147d90 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/animations/default.conf @@ -0,0 +1,39 @@ + +# name "End-4" +# credit https://github.com/end-4/dots-hyprland + +animations { + enabled = true + # Animation curves + + 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 = menu_decel, 0.1, 1, 0, 1 + bezier = menu_accel, 0.38, 0.04, 1, 0.07 + bezier = easeInOutCirc, 0.85, 0, 0.15, 1 + bezier = easeOutCirc, 0, 0.55, 0.45, 1 + bezier = easeOutExpo, 0.16, 1, 0.3, 1 + bezier = softAcDecel, 0.26, 0.26, 0.15, 1 + bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration + # Animation configs + animation = windows, 1, 3, md3_decel, popin 60% + animation = windowsIn, 1, 3, md3_decel, popin 60% + animation = windowsOut, 1, 3, md3_accel, popin 60% + animation = border, 1, 10, default + animation = fade, 1, 3, md3_decel + # animation = layers, 1, 2, md3_decel, slide + animation = layersIn, 1, 3, menu_decel, slide + animation = layersOut, 1, 1.6, menu_accel + animation = fadeLayersIn, 1, 2, menu_decel + animation = fadeLayersOut, 1, 4.5, menu_accel + animation = workspaces, 1, 7, menu_decel, slide + # animation = workspaces, 1, 2.5, softAcDecel, slide + # animation = workspaces, 1, 7, menu_decel, slidefade 15% + # animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15% + animation = specialWorkspace, 1, 3, md3_decel, slidevert +} diff --git a/.config/hypr/conf/hypr/conf/animations/disabled.conf b/.config/hypr/conf/hypr/conf/animations/disabled.conf new file mode 100644 index 0000000..204b96f --- /dev/null +++ b/.config/hypr/conf/hypr/conf/animations/disabled.conf @@ -0,0 +1,7 @@ +# ----------------------------------------------------- +# Animations +# name "Default" +# ----------------------------------------------------- +animations { + enabled = false +} diff --git a/.config/hypr/conf/hypr/conf/animations/standard.conf b/.config/hypr/conf/hypr/conf/animations/standard.conf new file mode 100644 index 0000000..cd01434 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/animations/standard.conf @@ -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 +} diff --git a/.config/hypr/conf/hypr/conf/autostart.conf b/.config/hypr/conf/hypr/conf/autostart.conf new file mode 100644 index 0000000..66e2c90 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/autostart.conf @@ -0,0 +1,46 @@ +# ___ __ __ __ +# / _ |__ __/ /____ ___ / /____ _____/ /_ +# / __ / // / __/ _ \(_-v0.41, now configured on variable cursor section +env = WLR_RENDERER_ALLOW_SOFTWARE,1 + +# nvidia firefox (for hardware acceleration on FF)? +# check this post https://github.com/elFarto/nvidia-vaapi-driver#configuration +env = MOZ_DISABLE_RDD_SANDBOX,1 +env = EGL_PLATFORM,wayland + +cursor { + no_hardware_cursors = true +} diff --git a/.config/hypr/conf/hypr/conf/keybinding.conf b/.config/hypr/conf/hypr/conf/keybinding.conf new file mode 100644 index 0000000..3176a7a --- /dev/null +++ b/.config/hypr/conf/hypr/conf/keybinding.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/keybindings/patrick.conf diff --git a/.config/hypr/conf/hypr/conf/keybindings/default.conf b/.config/hypr/conf/hypr/conf/keybindings/default.conf new file mode 100644 index 0000000..332badf --- /dev/null +++ b/.config/hypr/conf/hypr/conf/keybindings/default.conf @@ -0,0 +1,124 @@ +# ----------------------------------------------------- +# Key bindings +# name: "Default" +# ----------------------------------------------------- + +# SUPER KEY +$mainMod = SUPER +$HYPRSCRIPTS = ~/.config/hypr/scripts +$SCRIPTS = ~/.config/ml4w/scripts + +# Applications +bind = $mainMod, RETURN, exec, ~/.config/ml4w/settings/terminal.sh # Open the terminal +bind = $mainMod, B, exec, ~/.config/ml4w/settings/browser.sh # Open the browser +bind = $mainMod, E, exec, ~/.config/ml4w/settings/filemanager.sh # Open the filemanager +bind = $mainMod CTRL, E, exec, ~/.config/ml4w/settings/emojipicker.sh # Open the emoji picker +bind = $mainMod CTRL, C, exec, ~/.config/ml4w/settings/calculator.sh # Open the calculator + +# Windows +bind = $mainMod, Q, killactive # Kill active window +bind = $mainMod SHIFT, Q, exec, hyprctl activewindow | grep pid | tr -d 'pid:' | xargs kill # Quit active window and all open instances +bind = $mainMod, F, fullscreen, 0 # Set active window to fullscreen +bind = $mainMod, M, fullscreen, 1 # Maximize Window +bind = $mainMod, T, togglefloating # Toggle active windows into floating mode +bind = $mainMod SHIFT, T, workspaceopt, allfloat # 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 +bind = $mainMod, K, swapsplit # Swapsplit +bind = $mainMod ALT, left, swapwindow, l # Swap tiled window left +bind = $mainMod ALT, right, swapwindow, r # Swap tiled window right +bind = $mainMod ALT, up, swapwindow, u # Swap tiled window up +bind = $mainMod ALT, down, swapwindow, d # Swap tiled window down +binde = ALT,Tab,cyclenext # Cycle between windows +binde = ALT,Tab,bringactivetotop # Bring active window to the top + +# Actions +bind = $mainMod CTRL, R, exec, hyprctl reload # Reload Hyprland configuration +bind = $mainMod SHIFT, A, exec, $HYPRSCRIPTS/toggle-animations.sh # Toggle animations +bind = $mainMod, PRINT, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod SHIFT, S, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod CTRL, Q, exec, ~/.config/ml4w/scripts/wlogout.sh # Start wlogout +bind = $mainMod SHIFT, W, exec, waypaper --random # Change the wallpaper +bind = $mainMod CTRL, W, exec, waypaper # Open wallpaper selector +bind = $mainMod ALT, W, exec, $HYPRSCRIPTS/wallpaper-automation.sh # Start random wallpaper script +bind = $mainMod CTRL, RETURN, exec, pkill rofi || rofi -show drun -replace -i # Open application launcher +bind = $mainMod CTRL, K, exec, $HYPRSCRIPTS/keybindings.sh # Show keybindings +bind = $mainMod SHIFT, B, exec, ~/.config/waybar/launch.sh # Reload waybar +bind = $mainMod CTRL, B, exec, ~/.config/waybar/toggle.sh # Toggle waybar +bind = $mainMod SHIFT, R, exec, $HYPRSCRIPTS/loadconfig.sh # Reload hyprland config +bind = $mainMod, V, exec, $SCRIPTS/cliphist.sh # Open clipboard manager +bind = $mainMod CTRL, T, exec, ~/.config/waybar/themeswitcher.sh # Open waybar theme switcher +bind = $mainMod CTRL, S, exec, flatpak run com.ml4w.settings # Open ML4W Dotfiles Settings app +bind = $mainMod SHIFT, H, exec, $HYPRSCRIPTS/hyprshade.sh # Toggle screenshader +bind = $mainMod ALT, G, exec, $HYPRSCRIPTS/gamemode.sh # Toggle game mode +bind = $mainMod CTRL, L, exec, ~/.config/hypr/scripts/power.sh lock # Start wlogout + +# 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, Tab, workspace, m+1 # Open next workspace +bind = $mainMod SHIFT, Tab, workspace, m-1 # Open previous workspace + +bind = $mainMod CTRL, 1, exec, $HYPRSCRIPTS/moveTo.sh 1 # Move all windows to workspace 1 +bind = $mainMod CTRL, 2, exec, $HYPRSCRIPTS/moveTo.sh 2 # Move all windows to workspace 2 +bind = $mainMod CTRL, 3, exec, $HYPRSCRIPTS/moveTo.sh 3 # Move all windows to workspace 3 +bind = $mainMod CTRL, 4, exec, $HYPRSCRIPTS/moveTo.sh 4 # Move all windows to workspace 4 +bind = $mainMod CTRL, 5, exec, $HYPRSCRIPTS/moveTo.sh 5 # Move all windows to workspace 5 +bind = $mainMod CTRL, 6, exec, $HYPRSCRIPTS/moveTo.sh 6 # Move all windows to workspace 6 +bind = $mainMod CTRL, 7, exec, $HYPRSCRIPTS/moveTo.sh 7 # Move all windows to workspace 7 +bind = $mainMod CTRL, 8, exec, $HYPRSCRIPTS/moveTo.sh 8 # Move all windows to workspace 8 +bind = $mainMod CTRL, 9, exec, $HYPRSCRIPTS/moveTo.sh 9 # Move all windows to workspace 9 +bind = $mainMod CTRL, 0, exec, $HYPRSCRIPTS/moveTo.sh 10 # Move all windows 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 + +# 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-mute @DEFAULT_SINK@ 0 && pactl set-sink-volume @DEFAULT_SINK@ +5% # Increase volume by 5% +bind = , XF86AudioLowerVolume, exec, pactl set-sink-mute @DEFAULT_SINK@ 0 && pactl set-sink-volume @DEFAULT_SINK@ -5% # Reduce volume by 5% +bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_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, ~/.config/ml4w/settings/calculator.sh # Open calculator +bind = , XF86Lock, exec, hyprlock # Open screenlock +bind = , XF86Tools, exec, flatpak run com.ml4w.settings # Open ML4W Dotfiles Settings app + +bind = , code:238, exec, brightnessctl -d smc::kbd_backlight s +10 +bind = , code:237, exec, brightnessctl -d smc::kbd_backlight s 10- + diff --git a/.config/hypr/conf/hypr/conf/keybindings/fr.conf b/.config/hypr/conf/hypr/conf/keybindings/fr.conf new file mode 100644 index 0000000..9d57159 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/keybindings/fr.conf @@ -0,0 +1,123 @@ +# ----------------------------------------------------- +# Key bindings +# name: "Default" +# ----------------------------------------------------- + +# SUPER KEY +$mainMod = SUPER +$HYPRSCRIPTS = ~/.config/hypr/scripts +$SCRIPTS = ~/.config/ml4w/scripts + +# Applications +bind = $mainMod, RETURN, exec, ~/.config/ml4w/settings/terminal.sh # Open the terminal +bind = $mainMod, B, exec, ~/.config/ml4w/settings/browser.sh # Open the browser +bind = $mainMod, E, exec, ~/.config/ml4w/settings/filemanager.sh # Open the filemanager +bind = $mainMod CTRL, E, exec, ~/.config/ml4w/settings/emojipicker.sh # Open the emoji picker +bind = $mainMod CTRL, C, exec, ~/.config/ml4w/settings/calculator.sh # Open the calculator + +# Windows +bind = $mainMod, Q, killactive # Kill active window +bind = $mainMod SHIFT, Q, exec, hyprctl activewindow | grep pid | tr -d 'pid:' | xargs kill # Quit active window and all open instances +bind = $mainMod, F, fullscreen, 0 # Set active window to fullscreen +bind = $mainMod, M, fullscreen, 1 # Maximize Window +bind = $mainMod, T, togglefloating # Toggle active windows into floating mode +bind = $mainMod SHIFT, T, workspaceopt, allfloat # 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 +bind = $mainMod, K, swapsplit # Swapsplit +bind = $mainMod ALT, left, swapwindow, l # Swap tiled window left +bind = $mainMod ALT, right, swapwindow, r # Swap tiled window right +bind = $mainMod ALT, up, swapwindow, u # Swap tiled window up +bind = $mainMod ALT, down, swapwindow, d # Swap tiled window down +binde = ALT,Tab,cyclenext # Cycle between windows +binde = ALT,Tab,bringactivetotop # Bring active window to the top + +# Actions +bind = $mainMod CTRL, R, exec, hyprctl reload # Reload Hyprland configuration +bind = $mainMod SHIFT, A, exec, $HYPRSCRIPTS/toggle-animations.sh # Toggle animations +bind = $mainMod, PRINT, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod SHIFT, S, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod CTRL, Q, exec, ~/.config/ml4w/scripts/wlogout.sh # Start wlogout +bind = $mainMod SHIFT, W, exec, waypaper --random # Change the wallpaper +bind = $mainMod CTRL, W, exec, waypaper # Open wallpaper selector +bind = $mainMod ALT, W, exec, $HYPRSCRIPTS/wallpaper-automation.sh # Start random wallpaper script +bind = $mainMod CTRL, RETURN, exec, pkill rofi || rofi -show drun -replace -i # Open application launcher +bind = $mainMod CTRL, K, exec, $HYPRSCRIPTS/keybindings.sh # Show keybindings +bind = $mainMod SHIFT, B, exec, ~/.config/waybar/launch.sh # Reload waybar +bind = $mainMod CTRL, B, exec, ~/.config/waybar/toggle.sh # Toggle waybar +bind = $mainMod SHIFT, R, exec, $HYPRSCRIPTS/loadconfig.sh # Reload hyprland config +bind = $mainMod, V, exec, $SCRIPTS/cliphist.sh # Open clipboard manager +bind = $mainMod CTRL, T, exec, ~/.config/waybar/themeswitcher.sh # Open waybar theme switcher +bind = $mainMod CTRL, S, exec, flatpak run com.ml4w.settings # Open ML4W Dotfiles Settings app +bind = $mainMod SHIFT, H, exec, $HYPRSCRIPTS/hyprshade.sh # Toggle screenshader +bind = $mainMod ALT, G, exec, $HYPRSCRIPTS/gamemode.sh # Toggle game mode +bind = $mainMod CTRL, L, exec, ~/.config/hypr/scripts/power.sh lock # Start wlogout + +# Workspaces +bind = $mainMod, ampersand, workspace, 1 # Open workspace 1 +bind = $mainMod, eacute, workspace, 2 # Open workspace 2 +bind = $mainMod, quotedbl, workspace, 3 # Open workspace 3 +bind = $mainMod, apostrophe, workspace, 4 # Open workspace 4 +bind = $mainMod, parenleft, workspace, 5 # Open workspace 5 +bind = $mainMod, minus, workspace, 6 # Open workspace 6 +bind = $mainMod, egrave, workspace, 7 # Open workspace 7 +bind = $mainMod, underscore, workspace, 8 # Open workspace 8 +bind = $mainMod, ccedilla, workspace, 9 # Open workspace 9 +bind = $mainMod, agrave, workspace, 10 # Open workspace 10 + +bind = $mainMod SHIFT, ampersand, movetoworkspace, 1 # Move active window to workspace 1 +bind = $mainMod SHIFT, eacute, movetoworkspace, 2 # Move active window to workspace 2 +bind = $mainMod SHIFT, quotedbl, movetoworkspace, 3 # Move active window to workspace 3 +bind = $mainMod SHIFT, apostrophe, movetoworkspace, 4 # Move active window to workspace 4 +bind = $mainMod SHIFT, parenleft, movetoworkspace, 5 # Move active window to workspace 5 +bind = $mainMod SHIFT, minus, movetoworkspace, 6 # Move active window to workspace 6 +bind = $mainMod SHIFT, egrave, movetoworkspace, 7 # Move active window to workspace 7 +bind = $mainMod SHIFT, underscore, movetoworkspace, 8 # Move active window to workspace 8 +bind = $mainMod SHIFT, ccedilla, movetoworkspace, 9 # Move active window to workspace 9 +bind = $mainMod SHIFT, agrave, movetoworkspace, 10 # Move active window to workspace 10 + +bind = $mainMod, Tab, workspace, m+1 # Open next workspace +bind = $mainMod SHIFT, Tab, workspace, m-1 # Open previous workspace + +bind = $mainMod CTRL, ampersand, exec, $HYPRSCRIPTS/moveTo.sh 1 # Move all windows to workspace 1 +bind = $mainMod CTRL, eacute, exec, $HYPRSCRIPTS/moveTo.sh 2 # Move all windows to workspace 2 +bind = $mainMod CTRL, quotedbl, exec, $HYPRSCRIPTS/moveTo.sh 3 # Move all windows to workspace 3 +bind = $mainMod CTRL, apostrophe, exec, $HYPRSCRIPTS/moveTo.sh 4 # Move all windows to workspace 4 +bind = $mainMod CTRL, parenleft, exec, $HYPRSCRIPTS/moveTo.sh 5 # Move all windows to workspace 5 +bind = $mainMod CTRL, minus, exec, $HYPRSCRIPTS/moveTo.sh 6 # Move all windows to workspace 6 +bind = $mainMod CTRL, egrave, exec, $HYPRSCRIPTS/moveTo.sh 7 # Move all windows to workspace 7 +bind = $mainMod CTRL, underscore, exec, $HYPRSCRIPTS/moveTo.sh 8 # Move all windows to workspace 8 +bind = $mainMod CTRL, ccedilla, exec, $HYPRSCRIPTS/moveTo.sh 9 # Move all windows to workspace 9 +bind = $mainMod CTRL, agrave, exec, $HYPRSCRIPTS/moveTo.sh 10 # Move all windows 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 + +# 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, ~/.config/ml4w/settings/calculator.sh # Open calculator +bind = , XF86Lock, exec, hyprlock # Open screenlock +bind = , XF86Tools, exec, alacritty --class dotfiles-floating -e ~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app + +bind = , code:238, exec, brightnessctl -d smc::kbd_backlight s +10 +bind = , code:237, exec, brightnessctl -d smc::kbd_backlight s 10- diff --git a/.config/hypr/conf/hypr/conf/keybindings/patrick.conf b/.config/hypr/conf/hypr/conf/keybindings/patrick.conf new file mode 100644 index 0000000..7968590 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/keybindings/patrick.conf @@ -0,0 +1,133 @@ +# ----------------------------------------------------- +# Key bindings +# name: "Default" +# ----------------------------------------------------- + +# SUPER KEY +$mainMod = SUPER +$HYPRSCRIPTS = ~/.config/hypr/scripts + +# DEFAULTS +$terminal = kitty +$browser = zen-browser +$filemanager = thunar + +# Applications +bind = $mainMod, RETURN, exec, $terminal +bind = $mainMod, B, exec, $browser +bind = $mainMod SHIFT, RETURN, exec, $filemanager +bind = $mainMod, C, exec, [floating] ~/.config/ml4w/settings/calculator.sh # Open the calculator + +# Custom +bind = $mainMod, M, exec, marktext +bind = $mainMod, A, exec, flatpak run com.jeffser.Alpaca +bind = $mainMod, E, exec, flatpak run it.mijorus.smile +# bind = $mainMod, Print, exec, grim -g "$(slurp)" - | wl-copy && wl-paste > ~/Pictures/Screenshot-$(date +%F_%T).png +bind = $mainMod SHIFT, Print, exec, grim - | wl-copy && wl-paste > ~/Pictures/Screenshot-$(date +%F_%T).png + +# Windows +bind = $mainMod, Q, killactive # Kill active window +bind = $mainMod SHIFT, Q, exec, hyprctl activewindow | grep pid | tr -d 'pid:' | xargs kill # Quit active window and all open instances +bind = $mainMod, F, fullscreen, 0 # Set active window to fullscreen +bind = $mainMod, M, fullscreen, 1 # Maximize Window +bind = $mainMod, T, togglefloating # Toggle active windows into floating mode +bind = $mainMod SHIFT, T, workspaceopt, allfloat # 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 +bind = $mainMod, K, swapsplit # Swapsplit +bind = $mainMod ALT, left, swapwindow, l # Swap tiled window left +bind = $mainMod ALT, right, swapwindow, r # Swap tiled window right +bind = $mainMod ALT, up, swapwindow, u # Swap tiled window up +bind = $mainMod ALT, down, swapwindow, d # Swap tiled window down +binde = ALT,Tab,cyclenext # Cycle between windows +binde = ALT,Tab,bringactivetotop # Bring active window to the top + +# Actions +bind = $mainMod CTRL, R, exec, hyprctl reload # Reload Hyprland configuration +bind = $mainMod SHIFT, A, exec, $HYPRSCRIPTS/toggle-animations.sh # Toggle animations +bind = $mainMod, PRINT, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod SHIFT, S, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshot +bind = $mainMod CTRL, Q, exec, ~/.config/ml4w/scripts/wlogout.sh # Start wlogout +bind = $mainMod SHIFT, W, exec, waypaper --random # Change the wallpaper +bind = $mainMod CTRL, W, exec, waypaper # Open wallpaper selector +bind = $mainMod ALT, W, exec, $HYPRSCRIPTS/wallpaper-automation.sh # Start random wallpaper script +bind = $mainMod CTRL, RETURN, exec, pkill rofi || rofi -show drun -replace -i # Open application launcher +bind = $mainMod CTRL, K, exec, $HYPRSCRIPTS/keybindings.sh # Show keybindings +bind = $mainMod SHIFT, B, exec, ~/.config/waybar/launch.sh # Reload waybar +bind = $mainMod CTRL, B, exec, ~/.config/waybar/toggle.sh # Toggle waybar +bind = $mainMod SHIFT, R, exec, $HYPRSCRIPTS/loadconfig.sh # Reload hyprland config +bind = $mainMod, V, exec, $SCRIPTS/cliphist.sh # Open clipboard manager +bind = $mainMod CTRL, T, exec, ~/.config/waybar/themeswitcher.sh # Open waybar theme switcher +bind = $mainMod CTRL, S, exec, flatpak run com.ml4w.settings # Open ML4W Dotfiles Settings app +bind = $mainMod SHIFT, H, exec, $HYPRSCRIPTS/hyprshade.sh # Toggle screenshader +bind = $mainMod ALT, G, exec, $HYPRSCRIPTS/gamemode.sh # Toggle game mode +bind = $mainMod CTRL, L, exec, ~/.config/hypr/scripts/power.sh lock # Start wlogout + +# 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, Tab, workspace, m+1 # Open next workspace +bind = $mainMod SHIFT, Tab, workspace, m-1 # Open previous workspace + +bind = $mainMod CTRL, 1, exec, $HYPRSCRIPTS/moveTo.sh 1 # Move all windows to workspace 1 +bind = $mainMod CTRL, 2, exec, $HYPRSCRIPTS/moveTo.sh 2 # Move all windows to workspace 2 +bind = $mainMod CTRL, 3, exec, $HYPRSCRIPTS/moveTo.sh 3 # Move all windows to workspace 3 +bind = $mainMod CTRL, 4, exec, $HYPRSCRIPTS/moveTo.sh 4 # Move all windows to workspace 4 +bind = $mainMod CTRL, 5, exec, $HYPRSCRIPTS/moveTo.sh 5 # Move all windows to workspace 5 +bind = $mainMod CTRL, 6, exec, $HYPRSCRIPTS/moveTo.sh 6 # Move all windows to workspace 6 +bind = $mainMod CTRL, 7, exec, $HYPRSCRIPTS/moveTo.sh 7 # Move all windows to workspace 7 +bind = $mainMod CTRL, 8, exec, $HYPRSCRIPTS/moveTo.sh 8 # Move all windows to workspace 8 +bind = $mainMod CTRL, 9, exec, $HYPRSCRIPTS/moveTo.sh 9 # Move all windows to workspace 9 +bind = $mainMod CTRL, 0, exec, $HYPRSCRIPTS/moveTo.sh 10 # Move all windows 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 + +# 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-mute @DEFAULT_SINK@ 0 && pactl set-sink-volume @DEFAULT_SINK@ +5% # Increase volume by 5% +bind = , XF86AudioLowerVolume, exec, pactl set-sink-mute @DEFAULT_SINK@ 0 && pactl set-sink-volume @DEFAULT_SINK@ -5% # Reduce volume by 5% +bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_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, ~/.config/ml4w/settings/calculator.sh # Open calculator +bind = , XF86Lock, exec, hyprlock # Open screenlock +bind = , XF86Tools, exec, $(cat ~/.config/ml4w/settings/terminal.sh) --class dotfiles-floating -e ~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app + +bind = , code:238, exec, brightnessctl -d smc::kbd_backlight s +10 +bind = , code:237, exec, brightnessctl -d smc::kbd_backlight s 10- diff --git a/.config/hypr/conf/hypr/conf/keyboard.conf b/.config/hypr/conf/hypr/conf/keyboard.conf new file mode 100644 index 0000000..ac450db --- /dev/null +++ b/.config/hypr/conf/hypr/conf/keyboard.conf @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# Keyboard Layout +# https://wiki.hyprland.org/Configuring/Variables/#input +# ----------------------------------------------------- + +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + numlock_by_default = true + follow_mouse = 1 + mouse_refocus=false + touchpad { + natural_scroll = false + scroll_factor = 1.0 # Touchpad scroll factor + } + sensitivity = 0 # Pointer speed: -1.0 - 1.0, 0 means no modification. +} diff --git a/.config/hypr/conf/hypr/conf/layout.conf b/.config/hypr/conf/hypr/conf/layout.conf new file mode 100644 index 0000000..25474ce --- /dev/null +++ b/.config/hypr/conf/hypr/conf/layout.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/layouts/default.conf diff --git a/.config/hypr/conf/hypr/conf/layouts/default.conf b/.config/hypr/conf/hypr/conf/layouts/default.conf new file mode 100644 index 0000000..995731b --- /dev/null +++ b/.config/hypr/conf/hypr/conf/layouts/default.conf @@ -0,0 +1,23 @@ +# ----------------------------------------------------- +# Layouts +# ----------------------------------------------------- + +dwindle { + pseudotile = true + preserve_split = true +} + +master { + # Commented out due to compatibility reasons + # new_status = master +} + +gestures { + workspace_swipe = false +} + +binds { + workspace_back_and_forth = true + allow_workspace_cycles = true + pass_mouse_when_bound = false +} diff --git a/.config/hypr/conf/hypr/conf/layouts/laptop.conf b/.config/hypr/conf/hypr/conf/layouts/laptop.conf new file mode 100644 index 0000000..603fb79 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/layouts/laptop.conf @@ -0,0 +1,30 @@ +# ----------------------------------------------------- +# Layouts +# ----------------------------------------------------- + +dwindle { + pseudotile = true + preserve_split = true +} + +master { + # Commented out due to compatibility reasons + # new_status = master +} + +gestures { + workspace_swipe = true + workspace_swipe_fingers = 3 + workspace_swipe_distance = 500 + workspace_swipe_invert = true + workspace_swipe_min_speed_to_force = 30 + workspace_swipe_cancel_ratio = 0.5 + workspace_swipe_create_new = true + workspace_swipe_forever = true +} + +binds { + workspace_back_and_forth = true + allow_workspace_cycles = true + pass_mouse_when_bound = false +} diff --git a/.config/hypr/conf/hypr/conf/misc.conf b/.config/hypr/conf/hypr/conf/misc.conf new file mode 100644 index 0000000..c8fa891 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/misc.conf @@ -0,0 +1,9 @@ +# ----------------------------------------------------- +# Misc settings +# ----------------------------------------------------- + +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + initial_workspace_tracking = 1 +} diff --git a/.config/hypr/conf/hypr/conf/ml4w.conf b/.config/hypr/conf/hypr/conf/ml4w.conf new file mode 100644 index 0000000..9731229 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/ml4w.conf @@ -0,0 +1,138 @@ +# __ _____ _____ __ _____ ___ +# / |/ / / / / / | /| / / / ___/__ ___ / _/ +# / /|_/ / /_/_ _/ |/ |/ / / /__/ _ \/ _ \/ _/ +# /_/ /_/____//_/ |__/|__/ \___/\___/_//_/_/ +# + +# Pavucontrol floating +windowrule = float,class:(.*org.pulseaudio.pavucontrol.*) +windowrule = size 700 600,class:(.*org.pulseaudio.pavucontrol.*) +windowrule = center,class:(.*org.pulseaudio.pavucontrol.*) +windowrule = pin,class:(.*org.pulseaudio.pavucontrol.*) + +# OpenAI ChatGPT floating +windowrule = float,title:(ChatGPT.*) +windowrule = float,title:(.*chat.openai.com.*) +windowrule = size 500 50%,title:(.*chat.openai.com.*) +windowrule = move 20 70,title:(.*chat.openai.com.*) + +# Waypaper +windowrule = float,class:(.*waypaper.*) +windowrule = size 900 700,class:(.*waypaper.*) +windowrule = center,class:(.*waypaper.*) +windowrule = pin,class:(.*waypaper.*) + +# SwayNC +layerrule = blur, swaync-control-center +layerrule = blur, swaync-notification-window +layerrule = ignorezero, swaync-control-center +layerrule = ignorezero, swaync-notification-window +layerrule = ignorealpha 0.5, swaync-control-center +layerrule = ignorealpha 0.5, swaync-notification-window + +# ML4W Calendar floating +windowrule = float,class:(com.ml4w.calendar) +windowrule = move 100%-w-16 66,class:(com.ml4w.calendar) +windowrule = pin, class:(com.ml4w.calendar) +windowrule = size 400 400,class:(com.ml4w.calendar) + +# ML4W Sidebar floating +windowrule = float,class:(com.ml4w.sidebar) +windowrule = move 100%-w-16 66,class:(com.ml4w.sidebar) +windowrule = pin, class:(com.ml4w.sidebar) +windowrule = size 400 740,class:(com.ml4w.sidebar) + +# ML4W Welcome App floating +windowrule = float,class:(com.ml4w.welcome) +windowrule = size 700 600,class:(com.ml4w.welcome) +windowrule = center,class:(com.ml4w.welcome) +windowrule = pin,class:(com.ml4w.welcome) + +# ML4W Settings App floating +windowrule = float,class:(com.ml4w.settings) +windowrule = size 800 600,class:(com.ml4w.settings) +windowrule = move 10% 20%,class:(com.ml4w.settings) + +# Blueman Manager +windowrule = float,class:(blueman-manager) +windowrule = size 800 600,class:(blueman-manager) +windowrule = center,class:(blueman-manager) + +# nwg-look +windowrule = float,class:(nwg-look) +windowrule = size 700 600,class:(nwg-look) +windowrule = move 10% 20%,class:(nwg-look) +windowrule = pin,class:(nwg-look) + +# nwg-displays +windowrule = float,class:(nwg-displays) +windowrule = size 900 600,class:(nwg-displays) +windowrule = move 10% 20%,class:(nwg-displays) +windowrule = pin,class:(nwg-displays) + +# System Mission Center +windowrule = float, class:(io.missioncenter.MissionCenter) +windowrule = pin, class:(io.missioncenter.MissionCenter) +windowrule = center, class:(io.missioncenter.MissionCenter) +windowrule = size 900 600, class:(io.missioncenter.MissionCenter) + +# System Mission Center Preference Window +windowrule = float, class:(missioncenter), title:^(Preferences)$ +windowrule = pin, class:(missioncenter), title:^(Preferences)$ +windowrule = center, class:(missioncenter), title:^(Preferences)$ + +# Gnome Calculator +windowrule = float,class:(org.gnome.Calculator) +windowrule = size 700 600,class:(org.gnome.Calculator) +windowrule = center,class:(org.gnome.Calculator) + +# Emoji Picker Smile +windowrule = float,class:(it.mijorus.smile) +windowrule = pin, class:(it.mijorus.smile) +windowrule = move 100%-w-40 90,class:(it.mijorus.smile) + +# Hyprland Share Picker +windowrule = float, class:(hyprland-share-picker) +windowrule = pin, class:(hyprland-share-picker) +windowrule = center, title:class:(hyprland-share-picker) +windowrule = size 600 400,class:(hyprland-share-picker) + +# General floating +windowrule = float,class:(dotfiles-floating) +windowrule = size 1000 700,class:(dotfiles-floating) +windowrule = center,class:(dotfiles-floating) + +# Floating for Ghostty +windowrule = float,class:(ml4w.dotfiles.floating) +windowrule = size 1000 700,class:(ml4w.dotfiles.floating) +windowrule = center,class:(ml4w.dotfiles.floating) +windowrule = pin, class:(ml4w.dotfiles.floating) + +# XDG Desktop Portal +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland + +# QT +env = QT_QPA_PLATFORM,wayland;xcb +env = QT_QPA_PLATFORMTHEME,qt6ct +env = QT_QPA_PLATFORMTHEME,qt5ct +env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 +env = QT_AUTO_SCREEN_SCALE_FACTOR,1 + +# GDK +env = GDK_SCALE,1 + +# Toolkit Backend +env = GDK_BACKEND,wayland,x11,* +env = CLUTTER_BACKEND,wayland + +# Mozilla +env = MOZ_ENABLE_WAYLAND,1 + +# Set the cursor size for xcursor +env = XCURSOR_SIZE,24 + +# Ozone +env = OZONE_PLATFORM,wayland +env = ELECTRON_OZONE_PLATFORM_HINT,wayland diff --git a/.config/hypr/conf/hypr/conf/monitor.conf b/.config/hypr/conf/hypr/conf/monitor.conf new file mode 100644 index 0000000..0ccc26d --- /dev/null +++ b/.config/hypr/conf/hypr/conf/monitor.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/monitors/1920x1080.conf diff --git a/.config/hypr/conf/hypr/conf/monitors/1366x768.conf b/.config/hypr/conf/hypr/conf/monitors/1366x768.conf new file mode 100644 index 0000000..eb9f6f0 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/monitors/1366x768.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1366x768" +# ----------------------------------------------------- + +monitor=,1366x768,auto,1 diff --git a/.config/hypr/conf/hypr/conf/monitors/1440x1080.conf b/.config/hypr/conf/hypr/conf/monitors/1440x1080.conf new file mode 100644 index 0000000..5d25ce3 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/monitors/1440x1080.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1440x1080" +# ----------------------------------------------------- + +monitor=,1440x1080,auto,1 diff --git a/.config/hypr/conf/hypr/conf/monitors/1600x900.conf b/.config/hypr/conf/hypr/conf/monitors/1600x900.conf new file mode 100644 index 0000000..69c7eb8 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/monitors/1600x900.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1600x900" +# ----------------------------------------------------- + +monitor=,1600x900,auto,1 diff --git a/.config/hypr/conf/hypr/conf/monitors/1920x1080.conf b/.config/hypr/conf/hypr/conf/monitors/1920x1080.conf new file mode 100644 index 0000000..47cc1d6 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/monitors/1920x1080.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1920x1080" +# ----------------------------------------------------- + +monitor=,1920x1080@75,auto,1 diff --git a/.config/hypr/conf/hypr/conf/monitors/1920x1200.conf b/.config/hypr/conf/hypr/conf/monitors/1920x1200.conf new file mode 100644 index 0000000..8ed321c --- /dev/null +++ b/.config/hypr/conf/hypr/conf/monitors/1920x1200.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "1920x1200" +# ----------------------------------------------------- + +monitor=,1920x1200,auto,1 diff --git a/.config/hypr/conf/hypr/conf/monitors/2560x1440.conf b/.config/hypr/conf/hypr/conf/monitors/2560x1440.conf new file mode 100644 index 0000000..b4c9526 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/monitors/2560x1440.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "2560x1440" +# ----------------------------------------------------- + +monitor=,2560x1440,auto,1 diff --git a/.config/hypr/conf/hypr/conf/monitors/2560x1440@120.conf b/.config/hypr/conf/hypr/conf/monitors/2560x1440@120.conf new file mode 100644 index 0000000..e218ed0 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/monitors/2560x1440@120.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "2560x1440@120" +# ----------------------------------------------------- + +monitor=,2560x1440@120,auto,1 diff --git a/.config/hypr/conf/hypr/conf/monitors/2560x1440@120x125.conf b/.config/hypr/conf/hypr/conf/monitors/2560x1440@120x125.conf new file mode 100644 index 0000000..0fa5ddb --- /dev/null +++ b/.config/hypr/conf/hypr/conf/monitors/2560x1440@120x125.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "2560x1440@120x125" +# ----------------------------------------------------- + +monitor=,2560x1440@120,auto,1.25 diff --git a/.config/hypr/conf/hypr/conf/monitors/3440x1440.conf b/.config/hypr/conf/hypr/conf/monitors/3440x1440.conf new file mode 100644 index 0000000..4eb9c8c --- /dev/null +++ b/.config/hypr/conf/hypr/conf/monitors/3440x1440.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "3440x1440" +# ----------------------------------------------------- + +monitor=,3440x1440,auto,1 diff --git a/.config/hypr/conf/hypr/conf/monitors/default.conf b/.config/hypr/conf/hypr/conf/monitors/default.conf new file mode 100644 index 0000000..5c16fb7 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/monitors/default.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "Default" +# ----------------------------------------------------- + +monitor=,preferred,auto,1 diff --git a/.config/hypr/conf/hypr/conf/monitors/highres.conf b/.config/hypr/conf/hypr/conf/monitors/highres.conf new file mode 100644 index 0000000..68cc043 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/monitors/highres.conf @@ -0,0 +1,6 @@ +# ----------------------------------------------------- +# Monitor Setup +# name: "Highres" +# ----------------------------------------------------- + +monitor=,highres,auto,1 diff --git a/.config/hypr/conf/hypr/conf/monitors/nwg-displays.conf b/.config/hypr/conf/hypr/conf/monitors/nwg-displays.conf new file mode 100644 index 0000000..953cdff --- /dev/null +++ b/.config/hypr/conf/hypr/conf/monitors/nwg-displays.conf @@ -0,0 +1,2 @@ +source = ~/.config/hypr/monitors.conf +source = ~/.config/hypr/workspaces.conf \ No newline at end of file diff --git a/.config/hypr/conf/hypr/conf/restorevariations.sh b/.config/hypr/conf/hypr/conf/restorevariations.sh new file mode 100755 index 0000000..d6f0abf --- /dev/null +++ b/.config/hypr/conf/hypr/conf/restorevariations.sh @@ -0,0 +1,43 @@ +#!/bin/bash +clear +cat <<"EOF" + ___ __ + / _ \___ ___ / /____ _______ + / , _/ -_|_-~/.config/hypr/conf/keybinding.conf + echo "Hyprland keybinding.conf restored!" + + echo "source = ~/.config/hypr/conf/environments/default.conf" >~/.config/hypr/conf/environment.conf + echo "Hyprland environment.conf restored!" + + echo "source = ~/.config/hypr/conf/windowrules/default.conf" >~/.config/hypr/conf/windowrule.conf + echo "Hyprland windowrule.conf restored!" + + echo "source = ~/.config/hypr/conf/animations/default.conf" >~/.config/hypr/conf/animation.conf + echo "Hyprland animation.conf restored!" + + echo "source = ~/.config/hypr/conf/decorations/default.conf" >~/.config/hypr/conf/decoration.conf + echo "Hyprland decoration.conf restored!" + + echo "source = ~/.config/hypr/conf/windows/default.conf" >~/.config/hypr/conf/window.conf + echo "Hyprland window.conf restored!" + + echo "source = ~/.config/hypr/conf/monitors/default.conf" >~/.config/hypr/conf/monitor.conf + echo "Hyprland monitor.conf restored!" + + echo + echo ":: Restore done!" +else + echo ":: Restore canceled!" + exit +fi diff --git a/.config/hypr/conf/hypr/conf/window.conf b/.config/hypr/conf/hypr/conf/window.conf new file mode 100644 index 0000000..47e5ce2 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/window.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/windows/patrick-windows.conf diff --git a/.config/hypr/conf/hypr/conf/windowrule.conf b/.config/hypr/conf/hypr/conf/windowrule.conf new file mode 100644 index 0000000..a03ddb4 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/windowrule.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/windowrules/default.conf diff --git a/.config/hypr/conf/hypr/conf/windowrules/default.conf b/.config/hypr/conf/hypr/conf/windowrules/default.conf new file mode 100644 index 0000000..17c0a04 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/windowrules/default.conf @@ -0,0 +1,26 @@ +# ----------------------------------------------------- +# Window rules +# ----------------------------------------------------- + +# windowrule = tile, title:^(Microsoft-edge)$ +# windowrule = tile, title:^(Brave-browser)$ +# windowrule = tile, title:^(Chromium)$ +windowrule = float, title:^(pavucontrol)$ +windowrule = float, title:^(blueman-manager)$ +windowrule = float, title:^(nm-connection-editor)$ +windowrule = float, title:^(Qalculate!)$ + +# Workspaces +windowrule = workspace 2, class:^(thunar)$ +windowrule = workspace 4, title:^(Zen Browser)$ + +# Browser Picture in Picture +windowrule = float, title:^(Picture-in-Picture)$ +windowrule = pin, title:^(Picture-in-Picture)$ +windowrule = move 69.5% 4%, title:^(Picture-in-Picture)$ + +# idleinhibit +windowrule = idleinhibit fullscreen,class:([window]) # Available modes: none, always, focus, fullscreen + +# Custom +windowrule = opacity 0.9, class:^(thunar)$ diff --git a/.config/hypr/conf/hypr/conf/windows/border-1-reverse.conf b/.config/hypr/conf/hypr/conf/windows/border-1-reverse.conf new file mode 100644 index 0000000..c8b46ef --- /dev/null +++ b/.config/hypr/conf/hypr/conf/windows/border-1-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 1 + col.active_border = $color8 + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/.config/hypr/conf/hypr/conf/windows/border-1.conf b/.config/hypr/conf/hypr/conf/windows/border-1.conf new file mode 100644 index 0000000..a8c9178 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/windows/border-1.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 1 + col.active_border = $color11 + col.inactive_border = $color8 + layout = dwindle + resize_on_border = true +} diff --git a/.config/hypr/conf/hypr/conf/windows/border-2-reverse.conf b/.config/hypr/conf/hypr/conf/windows/border-2-reverse.conf new file mode 100644 index 0000000..293afe7 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/windows/border-2-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 2 + col.active_border = $color8 + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/.config/hypr/conf/hypr/conf/windows/border-2.conf b/.config/hypr/conf/hypr/conf/windows/border-2.conf new file mode 100644 index 0000000..8b58764 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/windows/border-2.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 2 + col.active_border = $color11 + col.inactive_border = $color8 + layout = dwindle + resize_on_border = true +} diff --git a/.config/hypr/conf/hypr/conf/windows/border-3-reverse.conf b/.config/hypr/conf/hypr/conf/windows/border-3-reverse.conf new file mode 100644 index 0000000..5b10142 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/windows/border-3-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 3 + col.active_border = $color8 + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/.config/hypr/conf/hypr/conf/windows/border-3.conf b/.config/hypr/conf/hypr/conf/windows/border-3.conf new file mode 100644 index 0000000..905f57b --- /dev/null +++ b/.config/hypr/conf/hypr/conf/windows/border-3.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 3 + col.active_border = $color11 + col.inactive_border = $color8 + layout = dwindle + resize_on_border = true +} diff --git a/.config/hypr/conf/hypr/conf/windows/border-4-reverse.conf b/.config/hypr/conf/hypr/conf/windows/border-4-reverse.conf new file mode 100644 index 0000000..0fd83ec --- /dev/null +++ b/.config/hypr/conf/hypr/conf/windows/border-4-reverse.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 4 + col.active_border = $color8 + col.inactive_border = $color11 + layout = dwindle + resize_on_border = true +} diff --git a/.config/hypr/conf/hypr/conf/windows/border-4.conf b/.config/hypr/conf/hypr/conf/windows/border-4.conf new file mode 100644 index 0000000..d2f4da3 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/windows/border-4.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 4 + col.active_border = $color11 + col.inactive_border = $color8 + layout = dwindle + resize_on_border = true +} diff --git a/.config/hypr/conf/hypr/conf/windows/default.conf b/.config/hypr/conf/hypr/conf/windows/default.conf new file mode 100644 index 0000000..905f57b --- /dev/null +++ b/.config/hypr/conf/hypr/conf/windows/default.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# General window layout and colors +# name: "Default" +# ----------------------------------------------------- + +general { + gaps_in = 10 + gaps_out = 14 + border_size = 3 + col.active_border = $color11 + col.inactive_border = $color8 + layout = dwindle + resize_on_border = true +} diff --git a/.config/hypr/conf/hypr/conf/windows/no-border-more-gaps.conf b/.config/hypr/conf/hypr/conf/windows/no-border-more-gaps.conf new file mode 100644 index 0000000..d5240ac --- /dev/null +++ b/.config/hypr/conf/hypr/conf/windows/no-border-more-gaps.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# 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 = $color8 + layout = dwindle + resize_on_border = true +} diff --git a/.config/hypr/conf/hypr/conf/windows/no-border.conf b/.config/hypr/conf/hypr/conf/windows/no-border.conf new file mode 100644 index 0000000..62a0652 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/windows/no-border.conf @@ -0,0 +1,14 @@ +# ----------------------------------------------------- +# 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 = $color8 + layout = dwindle + resize_on_border = true +} diff --git a/.config/hypr/conf/hypr/conf/windows/patrick-windows.conf b/.config/hypr/conf/hypr/conf/windows/patrick-windows.conf new file mode 100644 index 0000000..4f0f708 --- /dev/null +++ b/.config/hypr/conf/hypr/conf/windows/patrick-windows.conf @@ -0,0 +1,9 @@ +general { + gaps_in = 10 + gaps_out = 14 + border_size = 3 + col.active_border = rgba(66688DFF) + col.inactive_border = rgba(1E2049FF) + layout = dwindle + resize_on_border = true +} diff --git a/.config/hypr/conf/hypr/conf/workspace.conf b/.config/hypr/conf/hypr/conf/workspace.conf new file mode 100644 index 0000000..821f5ed --- /dev/null +++ b/.config/hypr/conf/hypr/conf/workspace.conf @@ -0,0 +1 @@ +source = ~/.config/hypr/conf/workspaces/default.conf diff --git a/.config/hypr/conf/hypr/conf/workspaces/default.conf b/.config/hypr/conf/hypr/conf/workspaces/default.conf new file mode 100644 index 0000000..32d04ac --- /dev/null +++ b/.config/hypr/conf/hypr/conf/workspaces/default.conf @@ -0,0 +1,23 @@ +# ----------------------------------------------------- +# General workspace rules +# name: "Default" +# ----------------------------------------------------- + +# Assigning workspace to a certain monitor. Below are just examples +# workspace = 1, monitor:eDP-1 +# workspace = 2, monitor:eDP-1 +# workspace = 3, monitor:eDP-1 +# workspace = 4, monitor:eDP-1 +# workspace = 5, monitor:DP-2 +# workspace = 6, monitor:DP-2 +# workspace = 7, monitor:DP-2 +# workspace = 8, monitor:DP-2 + +# Example rules (from https://wiki.hyprland.org/Configuring/Workspace-Rules/) +# workspace = 3, rounding:false, decorate:false +# workspace = name:coding, rounding:false, decorate:false, gapsin:0, gapsout:0, border:false, decorate:false, monitor:DP-1 +# workspace = 8,bordersize:8 +# workspace = name:Hello, monitor:DP-1, default:true +# workspace = name:gaming, monitor:desc:Chimei Innolux Corporation 0x150C, default:true +# workspace = 5, on-created-empty:[float] firefox +# workspace = special:scratchpad, on-created-empty:foot diff --git a/.config/hypr/conf/hypr/effects/wallpaper/blackwhite b/.config/hypr/conf/hypr/effects/wallpaper/blackwhite new file mode 100644 index 0000000..0f985b3 --- /dev/null +++ b/.config/hypr/conf/hypr/effects/wallpaper/blackwhite @@ -0,0 +1 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/conf/hypr/effects/wallpaper/blackwhite-blur b/.config/hypr/conf/hypr/effects/wallpaper/blackwhite-blur new file mode 100644 index 0000000..85a5a51 --- /dev/null +++ b/.config/hypr/conf/hypr/effects/wallpaper/blackwhite-blur @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -blur "50x30" $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/conf/hypr/effects/wallpaper/blackwhite-brightness40 b/.config/hypr/conf/hypr/effects/wallpaper/blackwhite-brightness40 new file mode 100644 index 0000000..97cafb6 --- /dev/null +++ b/.config/hypr/conf/hypr/effects/wallpaper/blackwhite-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/conf/hypr/effects/wallpaper/blackwhite-brightness60 b/.config/hypr/conf/hypr/effects/wallpaper/blackwhite-brightness60 new file mode 100644 index 0000000..3dc7788 --- /dev/null +++ b/.config/hypr/conf/hypr/effects/wallpaper/blackwhite-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/conf/hypr/effects/wallpaper/blackwhite-brightness80 b/.config/hypr/conf/hypr/effects/wallpaper/blackwhite-brightness80 new file mode 100644 index 0000000..67bb0ce --- /dev/null +++ b/.config/hypr/conf/hypr/effects/wallpaper/blackwhite-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -set colorspace Gray -separate -average $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/conf/hypr/effects/wallpaper/blur1 b/.config/hypr/conf/hypr/effects/wallpaper/blur1 new file mode 100644 index 0000000..f401e1a --- /dev/null +++ b/.config/hypr/conf/hypr/effects/wallpaper/blur1 @@ -0,0 +1 @@ +magick $wallpaper -blur "50x30" $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/conf/hypr/effects/wallpaper/blur1-brightness40 b/.config/hypr/conf/hypr/effects/wallpaper/blur1-brightness40 new file mode 100644 index 0000000..d79704a --- /dev/null +++ b/.config/hypr/conf/hypr/effects/wallpaper/blur1-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/conf/hypr/effects/wallpaper/blur1-brightness60 b/.config/hypr/conf/hypr/effects/wallpaper/blur1-brightness60 new file mode 100644 index 0000000..73028f6 --- /dev/null +++ b/.config/hypr/conf/hypr/effects/wallpaper/blur1-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/conf/hypr/effects/wallpaper/blur1-brightness80 b/.config/hypr/conf/hypr/effects/wallpaper/blur1-brightness80 new file mode 100644 index 0000000..c1984aa --- /dev/null +++ b/.config/hypr/conf/hypr/effects/wallpaper/blur1-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -blur "50x30" $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/conf/hypr/effects/wallpaper/blur2 b/.config/hypr/conf/hypr/effects/wallpaper/blur2 new file mode 100644 index 0000000..cb13630 --- /dev/null +++ b/.config/hypr/conf/hypr/effects/wallpaper/blur2 @@ -0,0 +1 @@ +magick $wallpaper -blur "10x30" $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/conf/hypr/effects/wallpaper/negate b/.config/hypr/conf/hypr/effects/wallpaper/negate new file mode 100644 index 0000000..971c7aa --- /dev/null +++ b/.config/hypr/conf/hypr/effects/wallpaper/negate @@ -0,0 +1 @@ +magick $wallpaper -negate $used_wallpaper \ No newline at end of file diff --git a/.config/hypr/conf/hypr/effects/wallpaper/negate-brightness40 b/.config/hypr/conf/hypr/effects/wallpaper/negate-brightness40 new file mode 100644 index 0000000..f6b8bd8 --- /dev/null +++ b/.config/hypr/conf/hypr/effects/wallpaper/negate-brightness40 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -60% $used_wallpaper diff --git a/.config/hypr/conf/hypr/effects/wallpaper/negate-brightness60 b/.config/hypr/conf/hypr/effects/wallpaper/negate-brightness60 new file mode 100644 index 0000000..bf45cd6 --- /dev/null +++ b/.config/hypr/conf/hypr/effects/wallpaper/negate-brightness60 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -40% $used_wallpaper diff --git a/.config/hypr/conf/hypr/effects/wallpaper/negate-brightness80 b/.config/hypr/conf/hypr/effects/wallpaper/negate-brightness80 new file mode 100644 index 0000000..2d342c1 --- /dev/null +++ b/.config/hypr/conf/hypr/effects/wallpaper/negate-brightness80 @@ -0,0 +1,2 @@ +magick $wallpaper -negate $used_wallpaper +magick $used_wallpaper -brightness-contrast -20% $used_wallpaper diff --git a/.config/hypr/conf/hypr/hypridle.conf b/.config/hypr/conf/hypr/hypridle.conf new file mode 100644 index 0000000..1d2ba37 --- /dev/null +++ b/.config/hypr/conf/hypr/hypridle.conf @@ -0,0 +1,35 @@ +general { + lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. + # lock_cmd = playerctl --all-players pause && pidof hyprlock || hyprlock # pause all system audio and avoid starting multiple hyprlock instances. + before_sleep_cmd = loginctl lock-session # lock before suspend. + after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. +} + +#listener { +# timeout = 480 # 8min. +# on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor. +# on-resume = brightnessctl -r # monitor backlight restore. +#} + +# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight. +# listener { +# timeout = 480 # 8min. +# on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight. +# on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight. +# } + +listener { + timeout = 1800 # 10min + on-timeout = loginctl lock-session # lock screen when timeout has passed +} + +listener { + timeout = 3600 # 11min + on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed + on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected after timeout has fired. +} + +listener { + timeout = 4800 # 30min + on-timeout = systemctl suspend # suspend pc +} diff --git a/.config/hypr/conf/hypr/hyprland.conf b/.config/hypr/conf/hypr/hyprland.conf new file mode 100644 index 0000000..36261a8 --- /dev/null +++ b/.config/hypr/conf/hypr/hyprland.conf @@ -0,0 +1,78 @@ +# _ _ _ _ +# | | | |_ _ _ __ _ __| | __ _ _ __ __| | +# | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` | +# | _ | |_| | |_) | | | | (_| | | | | (_| | +# |_| |_|\__, | .__/|_| |_|\__,_|_| |_|\__,_| +# |___/|_| +# +# ----------------------------------------------------- +# IMPORTANT: Don't overwrite ML4W configuration. +# Create your own custom configuration variation instead. +# https://github.com/mylinuxforwork/dotfiles/wiki/Configuration-Variations + +# ----------------------------------------------------- +# Monitor +# ----------------------------------------------------- +source = ~/.config/hypr/conf/monitor.conf + +# ----------------------------------------------------- +# Cursor +# ----------------------------------------------------- +source = ~/.config/hypr/conf/cursor.conf + +# ----------------------------------------------------- +# Environment +# ----------------------------------------------------- +source = ~/.config/hypr/conf/environment.conf + +# ----------------------------------------------------- +# Keyboard +# ----------------------------------------------------- +source = ~/.config/hypr/conf/keyboard.conf + +# ----------------------------------------------------- +# Load pywal color file +# ----------------------------------------------------- +source = ~/.config/hypr/colors.conf +$color8 = $on_primary_fixed +$color11 = $on_surface + +# ----------------------------------------------------- +# Autostart +# ----------------------------------------------------- +source = ~/.config/hypr/conf/autostart.conf + +# ----------------------------------------------------- +# Load configuration files +# ----------------------------------------------------- +source = ~/.config/hypr/conf/window.conf +source = ~/.config/hypr/conf/decoration.conf +source = ~/.config/hypr/conf/layout.conf +source = ~/.config/hypr/conf/workspace.conf +source = ~/.config/hypr/conf/misc.conf +source = ~/.config/hypr/conf/keybinding.conf +source = ~/.config/hypr/conf/windowrule.conf + +# ----------------------------------------------------- +# Animation +# ----------------------------------------------------- +source = ~/.config/hypr/conf/animation.conf + +# ----------------------------------------------------- +# Environment for xdg-desktop-portal-hyprland +# ----------------------------------------------------- +#exec-once=dbus-update-activation-environment --all WAYLAND_DISPLAY XDG_CURRENT_DESKTOP +#env = XDG_CURRENT_DESKTOP,hyprland +exec-once = /usr/lib/xdg-desktop-portal-hyprland + + +# ----------------------------------------------------- +# ML4W Configuration +# ----------------------------------------------------- +# source = ~/.config/hypr/conf/ml4w.conf + +# ----------------------------------------------------- +# Custom +# ----------------------------------------------------- +source = ~/.config/hypr/conf/custom.conf + diff --git a/.config/hypr/conf/hypr/hyprlock.conf b/.config/hypr/conf/hypr/hyprlock.conf new file mode 100644 index 0000000..913a281 --- /dev/null +++ b/.config/hypr/conf/hypr/hyprlock.conf @@ -0,0 +1,98 @@ +# _ _ _ +# | |__ _ _ _ __ _ __| | ___ ___| | __ +# | '_ \| | | | '_ \| '__| |/ _ \ / __| |/ / +# | | | | |_| | |_) | | | | (_) | (__| < +# |_| |_|\__, | .__/|_| |_|\___/ \___|_|\_\ +# |___/|_| +# + +source = colors.conf + +general { + ignore_empty_input = true +} + +background { + monitor = + path = $HOME/.config/ml4w/cache/blurred_wallpaper.png # only png supported for now +} + +input-field { + monitor = + size = 200, 50 + outline_thickness = 3 + dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8 + dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0 + dots_center = true + dots_rounding = -1 # -1 default circle, -2 follow input-field rounding + outer_color = $on_primary + inner_color = $on_surface + font_color = $surface + fade_on_empty = true + fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered. + placeholder_text = Input Password... # Text rendered in the input box when it's empty. + hide_input = false + rounding = 40 # -1 means complete rounding (circle/oval) + check_color = $primary + fail_color = $error # if authentication failed, changes outer_color and fail message color + fail_text = $FAIL ($ATTEMPTS) # can be set to empty + fail_transition = 300 # transition time in ms between normal outer_color and fail_color + capslock_color = -1 + numlock_color = -1 + bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above) + invert_numlock = false # change color if numlock is off + swap_font_color = false # see below + position = 0, -20 + halign = center + valign = center + shadow_passes = 10 + shadow_size = 20 + shadow_color = $shadow + shadow_boost = 1.6 +} + +label { + monitor = + #clock + text = cmd[update:1000] echo "$TIME" + color = $on_surface + font_size = 55 + font_family = Fira Semibold + position = -100, 70 + halign = right + valign = bottom + shadow_passes = 5 + shadow_size = 10 +} + +label { + monitor = + text = $USER + color = $on_surface + font_size = 20 + font_family = Fira Semibold + position = -100, 160 + halign = right + valign = bottom + shadow_passes = 5 + shadow_size = 10 +} + +image { + monitor = + path = $HOME/.config/ml4w/cache/square_wallpaper.png + size = 280 # lesser side if not 1:1 ratio + rounding = 40 # negative values mean circle + border_size = 4 + border_color = $primary + rotate = 0 # degrees, counter-clockwise + reload_time = -1 # seconds between reloading, 0 to reload with SIGUSR2 +# reload_cmd = # command to get new path. if empty, old path will be used. don't run "follow" commands like tail -F + position = 0, 200 + halign = center + valign = center + shadow_passes = 10 + shadow_size = 20 + shadow_color = $shadow + shadow_boost = 1.6 +} diff --git a/.config/hypr/conf/hypr/hyprpaper.conf b/.config/hypr/conf/hypr/hyprpaper.conf new file mode 100644 index 0000000..9d2c1a3 --- /dev/null +++ b/.config/hypr/conf/hypr/hyprpaper.conf @@ -0,0 +1,3 @@ +preload = $HOME/.config/hypr/wallpapers/endeavouros.png +wallpaper = ,$HOME/.config/hypr/wallpapers/endeavouros.png +splash = false diff --git a/.config/hypr/conf/hypr/scripts/cleanup.sh b/.config/hypr/conf/hypr/scripts/cleanup.sh new file mode 100755 index 0000000..8aaf0d6 --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/cleanup.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# ____ _ +# / ___| | ___ __ _ _ __ _ _ _ __ +# | | | |/ _ \/ _` | '_ \| | | | '_ \ +# | |___| | __/ (_| | | | | |_| | |_) | +# \____|_|\___|\__,_|_| |_|\__,_| .__/ +# |_| +# + +# Remove gamemode flag +if [ -f ~/.cache/gamemode ]; then + rm ~/.cache/gamemode + echo ":: ~/.cache/gamemode removed" +fi diff --git a/.config/hypr/conf/hypr/scripts/diagnosis.sh b/.config/hypr/conf/hypr/scripts/diagnosis.sh new file mode 100755 index 0000000..752e4c7 --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/diagnosis.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# ____ _ _ +# | _ \(_) __ _ __ _ _ __ ___ ___(_)___ +# | | | | |/ _` |/ _` | '_ \ / _ \/ __| / __| +# | |_| | | (_| | (_| | | | | (_) \__ \ \__ \ +# |____/|_|\__,_|\__, |_| |_|\___/|___/_|___/ +# |___/ +# + +clear +sleep 0.5 +figlet -f smslant "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 "hyprshade" "hyprshade" +_commandExists "wal" "python-pywal" +_commandExists "gum" "gum" +_commandExists "wlogout" "wlogout" +_commandExists "ags" "ags" +_commandExists "magick" "imagemagick" +_commandExists "figlet" "figlet" +_commandExists "waypaper" "waypaper" + +echo +echo "Press return to exit" +read \ No newline at end of file diff --git a/.config/hypr/conf/hypr/scripts/disabledm.sh b/.config/hypr/conf/hypr/scripts/disabledm.sh new file mode 100755 index 0000000..7abe7c3 --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/disabledm.sh @@ -0,0 +1,26 @@ +#!/bin/bash +clear +figlet -f smslant "Disable DM" +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 diff --git a/.config/hypr/conf/hypr/scripts/gamemode.sh b/.config/hypr/conf/hypr/scripts/gamemode.sh new file mode 100755 index 0000000..283f9a4 --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/gamemode.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# ____ _ +# / ___| __ _ _ __ ___ ___ _ __ ___ ___ __| | ___ +# | | _ / _` | '_ ` _ \ / _ \ '_ ` _ \ / _ \ / _` |/ _ \ +# | |_| | (_| | | | | | | __/ | | | | | (_) | (_| | __/ +# \____|\__,_|_| |_| |_|\___|_| |_| |_|\___/ \__,_|\___| +# +# + +if [ -f $HOME/.config/ml4w/settings/gamemode-enabled ]; then + hyprctl reload + rm $HOME/.config/ml4w/settings/gamemode-enabled + notify-send "Gamemode deactivated" "Animations and blur enabled" +else + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword decoration:shadow:enabled 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 $HOME/.config/ml4w/settings/gamemode-enabled + notify-send "Gamemode activated" "Animations and blur disabled" +fi diff --git a/.config/hypr/conf/hypr/scripts/gtk.sh b/.config/hypr/conf/hypr/scripts/gtk.sh new file mode 100755 index 0000000..5229899 --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/gtk.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# _____________ __ +# / ___/_ __/ //_/ +# / (_ / / / / ,< +# \___/ /_/ /_/|_| +# +# Source: https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland + +# Check that settings file exists +config="$HOME/.config/gtk-3.0/settings.ini" +if [ ! -f "$config" ]; then exit 1; fi + +# Read settings file +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*//')" +prefer_dark_theme="$(grep 'gtk-application-prefer-dark-theme' "$config" | sed 's/.*\s*=\s*//')" +terminal=$(cat $HOME/.config/ml4w/settings/terminal.sh) + +# Echo value for debugging +echo "GTK-Theme:" $gtk_theme +echo "Icon Theme:" $icon_theme +echo "Cursor Theme:" $cursor_theme +echo "Cursor Size:" $cursor_size +if [ $prefer_dark_theme == "0" ]; then + prefer_dark_theme_value="prefer-light" +else + prefer_dark_theme_value="prefer-dark" +fi +echo "Color Theme:" $prefer_dark_theme_value +echo "Font Name:" $font_name +echo "Terminal:" $terminal + +# Update gsettings +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_theme_value" + +# Update cursor for Hyprland +if [ -f ~/.config/hypr/conf/cursor.conf ]; then + echo "exec-once = hyprctl setcursor $cursor_theme $cursor_size" >~/.config/hypr/conf/cursor.conf + hyprctl setcursor $cursor_theme $cursor_size +fi + +# Update gsettings for open any terminal +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal terminal "$terminal" +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal use-generic-terminal-name "true" +gsettings set com.github.stunkymonkey.nautilus-open-any-terminal keybindings "t" \ No newline at end of file diff --git a/.config/hypr/conf/hypr/scripts/hypridle.sh b/.config/hypr/conf/hypr/scripts/hypridle.sh new file mode 100755 index 0000000..9922697 --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/hypridle.sh @@ -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\nLeft: Deactivate"}' + else + echo '{"text": "NOT RUNNING", "class": "notactive", "tooltip": "Screen locking deactivated\nLeft: Activate"}' + fi +fi +if [[ "$1" == "toggle" ]]; then + if pgrep -x "$SERVICE" >/dev/null; then + killall hypridle + else + hypridle + fi +fi diff --git a/.config/hypr/conf/hypr/scripts/hyprshade.sh b/.config/hypr/conf/hypr/scripts/hyprshade.sh new file mode 100755 index 0000000..3430103 --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/hyprshade.sh @@ -0,0 +1,56 @@ +#!/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 ~/.config/rofi/config-hyprshade.rasi -i -no-show-icons -l 4 -width 30 -p "Hyprshade") + if [ ! -z $choice ]; then + echo "hyprshade_filter=\"$choice\"" >~/.config/ml4w/settings/hyprshade.sh + if [ "$choice" == "off" ]; then + hyprshade off + notify-send "Hyprshade deactivated" + echo ":: hyprshade turned off" + else + notify-send "Changing Hyprshade to $choice" "Toggle shader with SUPER+SHIFT+S" + fi + fi + +else + + # Toggle Hyprshade based on the selected filter + hyprshade_filter="blue-light-filter-50" + + # Check if hyprshade.sh settings file exists and load + if [ -f ~/.config/ml4w/settings/hyprshade.sh ]; then + source ~/.config/ml4w/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 + hyprshade off + echo ":: hyprshade turned off" + fi + +fi diff --git a/.config/hypr/conf/hypr/scripts/init-wallpaper-engine.sh b/.config/hypr/conf/hypr/scripts/init-wallpaper-engine.sh new file mode 100755 index 0000000..483704e --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/init-wallpaper-engine.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# __ ______ _____ _ +# \ \ / / _ \ | ____|_ __ __ _(_)_ __ ___ +# \ \ /\ / /| |_) | | _| | '_ \ / _` | | '_ \ / _ \ +# \ V V / | __/ | |___| | | | (_| | | | | | __/ +# \_/\_/ |_| |_____|_| |_|\__, |_|_| |_|\___| +# |___/ +# + +wallpaper_engine=$(cat $HOME/.config/ml4w/settings/wallpaper-engine.sh) +if [ "$wallpaper_engine" == "swww" ]; then + # swww + echo ":: Using swww" + swww init + swww-daemon --format xrgb + sleep 0.5 + ~/.config/hypr/scripts/wallpaper.sh init +elif [ "$wallpaper_engine" == "hyprpaper" ]; then + # hyprpaper + echo ":: Using hyprpaper" + sleep 0.5 + ~/.config/hypr/scripts/wallpaper.sh init +else + echo ":: Wallpaper Engine disabled" + ~/.config/hypr/scripts/wallpaper.sh init +fi diff --git a/.config/hypr/conf/hypr/scripts/keybindings.sh b/.config/hypr/conf/hypr/scripts/keybindings.sh new file mode 100755 index 0000000..e6f25e2 --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/keybindings.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# _ _ _ _ _ +# | | _____ _ _| |__ (_)_ __ __| (_)_ __ __ _ ___ +# | |/ / _ \ | | | '_ \| | '_ \ / _` | | '_ \ / _` / __| +# | < __/ |_| | |_) | | | | | (_| | | | | | (_| \__ \ +# |_|\_\___|\__, |_.__/|_|_| |_|\__,_|_|_| |_|\__, |___/ +# |___/ |___/ +# +# ----------------------------------------------------- +# Get keybindings location based on variation +# ----------------------------------------------------- +config_file=$(<~/.config/hypr/conf/keybinding.conf) +config_file=${config_file//source = ~//home/$USER} + +# ----------------------------------------------------- +# Path to keybindings config file +# ----------------------------------------------------- +echo "Reading from: $config_file" + +keybinds=$(awk -F'[=#]' ' + $1 ~ /^bind/ { + # Replace the string "$mainMod" with "SUPER" (for the super key) + gsub(/\$mainMod/, "SUPER", $0) + + # Remove "bind" and extra spaces, if any, at the beginning of the line + gsub(/^bind[[:space:]]*=+[[:space:]]*/, "", $0) + + # Split the keybinding part (e.g., "Mod1,Return") using a comma + split($1, kbarr, ",") + + # Format the keybinding and associated command and prepare for output: + # Concatenate the two keybinding keys (e.g., "Mod1" + "Return") and append the command + print kbarr[1] " + " kbarr[2] "\r" $2 + } +' "$config_file") + +sleep 0.2 +rofi -dmenu -i -markup -eh 2 -replace -p "Keybinds" -config ~/.config/rofi/config-compact.rasi <<<"$keybinds" diff --git a/.config/hypr/conf/hypr/scripts/loadconfig.sh b/.config/hypr/conf/hypr/scripts/loadconfig.sh new file mode 100755 index 0000000..825fc1b --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/loadconfig.sh @@ -0,0 +1,2 @@ +#!/bin/bash +hyprctl reload diff --git a/.config/hypr/conf/hypr/scripts/ml4w-autostart.sh b/.config/hypr/conf/hypr/scripts/ml4w-autostart.sh new file mode 100755 index 0000000..0566294 --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/ml4w-autostart.sh @@ -0,0 +1,25 @@ +#!/bin/bash +if [ -f ~/.config/ml4w/version/compare.sh ] ;then + $HOME/.config/ml4w/version/compare.sh +fi + +if [ ! -f ~/.cache/ml4w-post-install ] ;then + if [ ! -f $HOME/.cache/ml4w-welcome-autostart ] ;then + echo ":: Autostart of ML4W Welcome App enabled." + if [ -f $HOME/.config/ml4w/apps/ML4W_Welcome-x86_64.AppImage ] ;then + echo ":: Starting ML4W Welcome App ..." + sleep 2 + $HOME/.config/ml4w/apps/ML4W_Welcome-x86_64.AppImage + else + echo ":: ML4W Welcome App not found." + fi + + else + echo ":: Autostart of ML4W Welcome App disabled." + fi +else + rm ~/.cache/ml4w-post-install + terminal=$(cat ~/.config/ml4w/settings/terminal.sh) + $terminal --class dotfiles-floating -e ~/.config/ml4w/postinstall.sh + $HOME/.config/ml4w/apps/ML4W_Welcome-x86_64.AppImage +fi diff --git a/.config/hypr/conf/hypr/scripts/moveTo.sh b/.config/hypr/conf/hypr/scripts/moveTo.sh new file mode 100755 index 0000000..a42030e --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/moveTo.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# __ __ _ +# | \/ | _____ _____ | |_ ___ +# | |\/| |/ _ \ \ / / _ \ | __/ _ \ +# | | | | (_) \ V / __/ | || (_) | +# |_| |_|\___/ \_/ \___| \__\___/ +# + +# Function to log messages (useful for debugging) +log_message() { + # echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> ~/moveto_log.txt + echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" +} + +# Get the target workspace from the argument +target_workspace=$1 + +# Check if a target workspace was provided +if [ -z "$target_workspace" ]; then + log_message "Error: No target workspace provided" + exit 1 +fi + +# Get the current active workspace +current_workspace=$(hyprctl activewindow -j | jq '.workspace.id') + +if [ -z "$current_workspace" ]; then + log_message "Error: Couldn't determine current workspace" + exit 1 +fi + +log_message "Moving from workspace $current_workspace to $target_workspace" + +# Get all window addresses in the current workspace +window_addresses=$(hyprctl clients -j | jq -r ".[] | select(.workspace.id == $current_workspace) | .address") + +# Move each window to the target workspace +for address in $window_addresses; do + log_message "Moving window $address to workspace $target_workspace" + hyprctl dispatch movetoworkspacesilent "$target_workspace,address:$address" +done + +log_message "Finished moving windows" + +# Switch to the target workspace +hyprctl dispatch workspace "$target_workspace" + +log_message "Switched to workspace $target_workspace" diff --git a/.config/hypr/conf/hypr/scripts/power.sh b/.config/hypr/conf/hypr/scripts/power.sh new file mode 100755 index 0000000..d0069db --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/power.sh @@ -0,0 +1,77 @@ +#!/bin/bash +# ___ +# / _ \___ _ _____ ____ +# / ___/ _ \ |/|/ / -_) __/ +# /_/ \___/__,__/\__/_/ +# + +terminate_clients() { + TIMEOUT=5 + # Get a list of all client PIDs in the current Hyprland session + client_pids=$(hyprctl clients -j | jq -r '.[] | .pid') + + # Send SIGTERM (kill -15) to each client PID and wait for termination + for pid in $client_pids; do + echo ":: Sending SIGTERM to PID $pid" + kill -15 $pid + done + + start_time=$(date +%s) + for pid in $client_pids; do + # Wait for the process to terminate + while kill -0 $pid 2>/dev/null; do + current_time=$(date +%s) + elapsed_time=$((current_time - start_time)) + + if [ $elapsed_time -ge $TIMEOUT ]; then + echo ":: Timeout reached." + return 0 + fi + + echo ":: Waiting for PID $pid to terminate..." + sleep 1 + done + + echo ":: PID $pid has terminated." + done +} + +if [[ "$1" == "exit" ]]; then + echo ":: Exit" + terminate_clients + sleep 0.5 + hyprctl dispatch exit + sleep 2 +fi + +if [[ "$1" == "lock" ]]; then + echo ":: Lock" + sleep 0.5 + hyprlock +fi + +if [[ "$1" == "reboot" ]]; then + echo ":: Reboot" + terminate_clients + sleep 0.5 + systemctl reboot +fi + +if [[ "$1" == "shutdown" ]]; then + echo ":: Shutdown" + terminate_clients + 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 diff --git a/.config/hypr/conf/hypr/scripts/restart-hypridle.sh b/.config/hypr/conf/hypr/scripts/restart-hypridle.sh new file mode 100755 index 0000000..0fe49fe --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/restart-hypridle.sh @@ -0,0 +1,5 @@ +#!/bin/bash +killall hypridle +sleep 1 +hypridle & +notify-send "hypridle has been restarted." diff --git a/.config/hypr/conf/hypr/scripts/screenshot.sh b/.config/hypr/conf/hypr/scripts/screenshot.sh new file mode 100755 index 0000000..9e16793 --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/screenshot.sh @@ -0,0 +1,225 @@ +#!/bin/bash +# ____ _ _ +# / ___| ___ _ __ ___ ___ _ __ ___| |__ ___ | |_ +# \___ \ / __| '__/ _ \/ _ \ '_ \/ __| '_ \ / _ \| __| +# ___) | (__| | | __/ __/ | | \__ \ | | | (_) | |_ +# |____/ \___|_| \___|\___|_| |_|___/_| |_|\___/ \__| +# +# Based on https://github.com/hyprwm/contrib/blob/main/grimblast/screenshot.sh +# ----------------------------------------------------- + +# Screenshots will be stored in $HOME by default. +# The screenshot will be moved into the screenshot directory + +# Add this to ~/.config/user-dirs.dirs to save screenshots in a custom folder: +# XDG_SCREENSHOTS_DIR="$HOME/Screenshots" + +prompt='Screenshot' +mesg="DIR: ~/Screenshots" + +# Screenshot Filename +source ~/.config/ml4w/settings/screenshot-filename.sh + +# Screenshot Folder +source ~/.config/ml4w/settings/screenshot-folder.sh + +# Screenshot Editor +export GRIMBLAST_EDITOR="$(cat ~/.config/ml4w/settings/screenshot-editor.sh)" + +# Example for keybindings +# bind = SUPER, p, exec, grimblast save active +# bind = SUPER SHIFT, p, exec, grimblast save area +# bind = SUPER ALT, p, exec, grimblast save output +# bind = SUPER CTRL, p, exec, grimblast save screen + +# Options +option_1="Immediate" +option_2="Delayed" + +option_capture_1="Capture Everything" +option_capture_2="Capture Active Display" +option_capture_3="Capture Selection" + +option_time_1="5s" +option_time_2="10s" +option_time_3="20s" +option_time_4="30s" +option_time_5="60s" +#option_time_4="Custom (in seconds)" # Roadmap or someone contribute :) + +list_col='1' +list_row='2' + +copy='Copy' +save='Save' +copy_save='Copy & Save' +edit='Edit' + +# Rofi CMD +rofi_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 2 -width 30 -p "Take screenshot" +} + +# Pass variables to rofi dmenu +run_rofi() { + echo -e "$option_1\n$option_2" | rofi_cmd +} + +#### +# Choose Timer +# CMD +timer_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 5 -width 30 -p "Choose timer" +} + +# Ask for confirmation +timer_exit() { + echo -e "$option_time_1\n$option_time_2\n$option_time_3\n$option_time_4\n$option_time_5" | timer_cmd +} + +# Confirm and execute +timer_run() { + selected_timer="$(timer_exit)" + if [[ "$selected_timer" == "$option_time_1" ]]; then + countdown=5 + ${1} + elif [[ "$selected_timer" == "$option_time_2" ]]; then + countdown=10 + ${1} + elif [[ "$selected_timer" == "$option_time_3" ]]; then + countdown=20 + ${1} + elif [[ "$selected_timer" == "$option_time_4" ]]; then + countdown=30 + ${1} + elif [[ "$selected_timer" == "$option_time_5" ]]; then + countdown=60 + ${1} + else + exit + fi +} +### + +#### +# Chose Screenshot Type +# CMD +type_screenshot_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 3 -width 30 -p "Type of screenshot" +} + +# Ask for confirmation +type_screenshot_exit() { + echo -e "$option_capture_1\n$option_capture_2\n$option_capture_3" | type_screenshot_cmd +} + +# Confirm and execute +type_screenshot_run() { + selected_type_screenshot="$(type_screenshot_exit)" + if [[ "$selected_type_screenshot" == "$option_capture_1" ]]; then + option_type_screenshot=screen + ${1} + elif [[ "$selected_type_screenshot" == "$option_capture_2" ]]; then + option_type_screenshot=output + ${1} + elif [[ "$selected_type_screenshot" == "$option_capture_3" ]]; then + option_type_screenshot=area + ${1} + else + exit + fi +} +### + +#### +# Choose to save or copy photo +# CMD +copy_save_editor_cmd() { + rofi -dmenu -replace -config ~/.config/rofi/config-screenshot.rasi -i -no-show-icons -l 4 -width 30 -p "How to save" +} + +# Ask for confirmation +copy_save_editor_exit() { + echo -e "$copy\n$save\n$copy_save\n$edit" | copy_save_editor_cmd +} + +# Confirm and execute +copy_save_editor_run() { + selected_chosen="$(copy_save_editor_exit)" + if [[ "$selected_chosen" == "$copy" ]]; then + option_chosen=copy + ${1} + elif [[ "$selected_chosen" == "$save" ]]; then + option_chosen=save + ${1} + elif [[ "$selected_chosen" == "$copy_save" ]]; then + option_chosen=copysave + ${1} + elif [[ "$selected_chosen" == "$edit" ]]; then + option_chosen=edit + ${1} + else + exit + fi +} +### + +timer() { + if [[ $countdown -gt 10 ]]; then + notify-send -t 1000 "Taking screenshot in ${countdown} seconds" + countdown_less_10=$((countdown - 10)) + sleep $countdown_less_10 + countdown=10 + fi + while [[ $countdown -ne 0 ]]; do + notify-send -t 1000 "Taking screenshot in ${countdown} seconds" + countdown=$((countdown - 1)) + sleep 1 + done +} + +# take shots +takescreenshot() { + sleep 1 + grimblast --notify "$option_chosen" "$option_type_screenshot" $NAME + if [ -f $HOME/$NAME ]; then + if [ -d $screenshot_folder ]; then + mv $HOME/$NAME $screenshot_folder/ + fi + fi +} + +takescreenshot_timer() { + sleep 1 + timer + sleep 1 + grimblast --notify "$option_chosen" "$option_type_screenshot" $NAME + if [ -f $HOME/$NAME ]; then + if [ -d $screenshot_folder ]; then + mv $HOME/$NAME $screenshot_folder/ + fi + fi +} + +# Execute Command +run_cmd() { + if [[ "$1" == '--opt1' ]]; then + type_screenshot_run + copy_save_editor_run "takescreenshot" + elif [[ "$1" == '--opt2' ]]; then + timer_run + type_screenshot_run + copy_save_editor_run "takescreenshot_timer" + fi +} + +# Actions +chosen="$(run_rofi)" +case ${chosen} in + $option_1) + run_cmd --opt1 + ;; + $option_2) + run_cmd --opt2 + ;; +esac diff --git a/.config/hypr/conf/hypr/scripts/systeminfo.sh b/.config/hypr/conf/hypr/scripts/systeminfo.sh new file mode 100755 index 0000000..21ad25e --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/systeminfo.sh @@ -0,0 +1,8 @@ +#!/bin/bash +clear +figlet -f smslant "Systeminfo" +echo +setsid hyprctl systeminfo +echo +echo "Press return to exit" +read diff --git a/.config/hypr/conf/hypr/scripts/toggle-animations.sh b/.config/hypr/conf/hypr/scripts/toggle-animations.sh new file mode 100755 index 0000000..5b89d8b --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/toggle-animations.sh @@ -0,0 +1,13 @@ +#!/bin/bash +cache_file="$HOME/.cache/toggle_animation" +if [[ $(cat $HOME/.config/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 diff --git a/.config/hypr/conf/hypr/scripts/toggleallfloat.sh b/.config/hypr/conf/hypr/scripts/toggleallfloat.sh new file mode 100755 index 0000000..dab23c5 --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/toggleallfloat.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# _ _ _ __ _ _ +# / \ | | |/ _| | ___ __ _| |_ +# / _ \ | | | |_| |/ _ \ / _` | __| +# / ___ \| | | _| | (_) | (_| | |_ +# /_/ \_\_|_|_| |_|\___/ \__,_|\__| +# + +hyprctl dispatch workspaceopt allfloat +notify-send "Windows on this workspace toggled to floating/tiling" diff --git a/.config/hypr/conf/hypr/scripts/wallpaper-automation.sh b/.config/hypr/conf/hypr/scripts/wallpaper-automation.sh new file mode 100755 index 0000000..0db6e40 --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/wallpaper-automation.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# _ _ __ ______ +# / \ _ _| |_ ___ \ \ / / _ \ +# / _ \| | | | __/ _ \ \ \ /\ / /| |_) | +# / ___ \ |_| | || (_) | \ V V / | __/ +# /_/ \_\__,_|\__\___/ \_/\_/ |_| +# + +sec=$(cat ~/.config/ml4w/settings/wallpaper-automation.sh) +_setWallpaperRandomly() { + waypaper --random + echo ":: Next wallpaper in 60 seconds..." + sleep $sec + _setWallpaperRandomly +} + +if [ ! -f ~/.config/ml4w/cache/wallpaper-automation ]; then + touch ~/.config/ml4w/cache/wallpaper-automation + echo ":: Start wallpaper automation script" + notify-send "Wallpaper automation process started" "Wallpaper will be changed every $sec seconds." + _setWallpaperRandomly +else + rm ~/.config/ml4w/cache/wallpaper-automation + notify-send "Wallpaper automation process stopped." + echo ":: Wallpaper automation script process $wp stopped" + wp=$(pgrep -f wallpaper-automation.sh) + kill -KILL $wp +fi diff --git a/.config/hypr/conf/hypr/scripts/wallpaper-cache.sh b/.config/hypr/conf/hypr/scripts/wallpaper-cache.sh new file mode 100755 index 0000000..5351e18 --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/wallpaper-cache.sh @@ -0,0 +1,5 @@ +#!/bin/bash +generated_versions="$HOME/.config/ml4w/cache/wallpaper-generated" +rm $generated_versions/* +echo ":: Wallpaper cache cleared" +notify-send "Wallpaper cache cleared" diff --git a/.config/hypr/conf/hypr/scripts/wallpaper-effects.sh b/.config/hypr/conf/hypr/scripts/wallpaper-effects.sh new file mode 100755 index 0000000..e861e6c --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/wallpaper-effects.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# __ ______ _____ __ __ _ +# \ \ / / _ \ | ____|/ _|/ _| ___ ___| |_ ___ +# \ \ /\ / /| |_) | | _| | |_| |_ / _ \/ __| __/ __| +# \ V V / | __/ | |___| _| _| __/ (__| |_\__ \ +# \_/\_/ |_| |_____|_| |_| \___|\___|\__|___/ +# + +# Get current wallpaper +cache_file="$HOME/.config/ml4w/cache/current_wallpaper" + +if [ $1 == "reload" ]; then + # Releod wallpaper with current effect + waypaper --wallpaper $(cat $cache_file) +else + # Open rofi to select the Hyprshade filter for toggle + options="$(ls ~/.config/hypr/effects/wallpaper/)\noff" + + # Open rofi + choice=$(echo -e "$options" | rofi -dmenu -replace -config ~/.config/rofi/config-themes.rasi -i -no-show-icons -l 5 -width 30 -p "Hyprshade") + if [ ! -z $choice ]; then + echo "$choice" >~/.config/ml4w/settings/wallpaper-effect.sh + notify-send "Changing Wallpaper Effect to " "$choice" + waypaper --wallpaper $(cat $cache_file) + fi +fi diff --git a/.config/hypr/conf/hypr/scripts/wallpaper-restore.sh b/.config/hypr/conf/hypr/scripts/wallpaper-restore.sh new file mode 100755 index 0000000..8125c7a --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/wallpaper-restore.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# _ _ +# __ ____ _| | |_ __ __ _ _ __ ___ _ __ +# \ \ /\ / / _` | | | '_ \ / _` | '_ \ / _ \ '__| +# \ V V / (_| | | | |_) | (_| | |_) | __/ | +# \_/\_/ \__,_|_|_| .__/ \__,_| .__/ \___|_| +# |_| |_| +# +# ----------------------------------------------------- +# Restore last wallpaper +# ----------------------------------------------------- + +# ----------------------------------------------------- +# Set defaults +# ----------------------------------------------------- + +defaultwallpaper="$HOME/wallpaper/default.jpg" +cachefile="$HOME/.config/ml4w/cache/current_wallpaper" + +# ----------------------------------------------------- +# Get current wallpaper +# ----------------------------------------------------- + +if [ -f "$cachefile" ]; then + sed -i "s|~|$HOME|g" "$cachefile" + wallpaper=$(cat $cachefile) + if [ -f $wallpaper ]; then + echo ":: Wallpaper $wallpaper exists" + else + echo ":: Wallpaper $wallpaper does not exist. Using default." + wallpaper=$defaultwallpaper + fi +else + echo ":: $cachefile does not exist. Using default wallpaper." + wallpaper=$defaultwallpaper +fi + +# ----------------------------------------------------- +# Set wallpaper +# ----------------------------------------------------- + +echo ":: Setting wallpaper with source image $wallpaper" +waypaper --wallpaper "$wallpaper" diff --git a/.config/hypr/conf/hypr/scripts/wallpaper.sh b/.config/hypr/conf/hypr/scripts/wallpaper.sh new file mode 100755 index 0000000..0476de0 --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/wallpaper.sh @@ -0,0 +1,190 @@ +#!/bin/bash +# _ __ ____ +# | | /| / /__ _/ / /__ ___ ____ ___ ____ +# | |/ |/ / _ `/ / / _ \/ _ `/ _ \/ -_) __/ +# |__/|__/\_,_/_/_/ .__/\_,_/ .__/\__/_/ +# /_/ /_/ +# ----------------------------------------------------- +# Check to use wallpaper cache +# ----------------------------------------------------- + +if [ -f ~/.config/ml4w/settings/wallpaper_cache ]; then + use_cache=1 + echo ":: Using Wallpaper Cache" +else + use_cache=0 + echo ":: Wallpaper Cache disabled" +fi + +# ----------------------------------------------------- +# Set defaults +# ----------------------------------------------------- + +force_generate=0 +generatedversions="$HOME/.config/ml4w/cache/wallpaper-generated" +waypaperrunning=$HOME/.config/ml4w/cache/waypaper-running +cachefile="$HOME/.config/ml4w/cache/current_wallpaper" +blurredwallpaper="$HOME/.config/ml4w/cache/blurred_wallpaper.png" +squarewallpaper="$HOME/.config/ml4w/cache/square_wallpaper.png" +rasifile="$HOME/.config/ml4w/cache/current_wallpaper.rasi" +blurfile="$HOME/.config/ml4w/settings/blur.sh" +defaultwallpaper="$HOME/wallpaper/default.jpg" +wallpapereffect="$HOME/.config/ml4w/settings/wallpaper-effect.sh" +blur="50x30" +blur=$(cat $blurfile) + +# Ensures that the script only run once if wallpaper effect enabled +if [ -f $waypaperrunning ]; then + rm $waypaperrunning + exit +fi + +# Create folder with generated versions of wallpaper if not exists +if [ ! -d $generatedversions ]; then + mkdir $generatedversions +fi + +# ----------------------------------------------------- +# Get selected wallpaper +# ----------------------------------------------------- + +if [ -z $1 ]; then + if [ -f $cachefile ]; then + wallpaper=$(cat $cachefile) + else + wallpaper=$defaultwallpaper + fi +else + wallpaper=$1 +fi +used_wallpaper=$wallpaper +echo ":: Setting wallpaper with source image $wallpaper" +tmpwallpaper=$wallpaper + +# ----------------------------------------------------- +# Copy path of current wallpaper to cache file +# ----------------------------------------------------- + +if [ ! -f $cachefile ]; then + touch $cachefile +fi +echo "$wallpaper" >$cachefile +echo ":: Path of current wallpaper copied to $cachefile" + +# ----------------------------------------------------- +# Get wallpaper filename +# ----------------------------------------------------- +wallpaperfilename=$(basename $wallpaper) +echo ":: Wallpaper Filename: $wallpaperfilename" + +# ----------------------------------------------------- +# Wallpaper Effects +# ----------------------------------------------------- + +if [ -f $wallpapereffect ]; then + effect=$(cat $wallpapereffect) + if [ ! "$effect" == "off" ]; then + used_wallpaper=$generatedversions/$effect-$wallpaperfilename + if [ -f $generatedversions/$effect-$wallpaperfilename ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ]; then + echo ":: Use cached wallpaper $effect-$wallpaperfilename" + else + echo ":: Generate new cached wallpaper $effect-$wallpaperfilename with effect $effect" + notify-send --replace-id=1 "Using wallpaper effect $effect..." "with image $wallpaperfilename" -h int:value:33 + source $HOME/.config/hypr/effects/wallpaper/$effect + fi + echo ":: Loading wallpaper $generatedversions/$effect-$wallpaperfilename with effect $effect" + echo ":: Setting wallpaper with $used_wallpaper" + touch $waypaperrunning + waypaper --wallpaper $used_wallpaper + else + echo ":: Wallpaper effect is set to off" + fi +else + effect="off" +fi + +# ----------------------------------------------------- +# Execute matugen +# ----------------------------------------------------- + +echo ":: Execute matugen with $used_wallpaper" +$HOME/.cargo/bin/matugen image $used_wallpaper -m "dark" + +# ----------------------------------------------------- +# Execute wallust +# ----------------------------------------------------- + +echo ":: Execute wallust with $used_wallpaper" +$HOME/.cargo/bin/wallust run $used_wallpaper + +# ----------------------------------------------------- +# Walcord (NOT SUPPORTED) +# ----------------------------------------------------- + +if type walcord >/dev/null 2>&1; then + walcord +fi + +# ----------------------------------------------------- +# Reload Waybar +# ----------------------------------------------------- + +sleep 2 +$HOME/.config/waybar/launch.sh +# killall -SIGUSR2 waybar + +# ----------------------------------------------------- +# Reload nwg-dock-hyprland +# ----------------------------------------------------- + +$HOME/.config/nwg-dock-hyprland/launch.sh & + +# ----------------------------------------------------- +# Update Pywalfox +# ----------------------------------------------------- + +if type pywalfox >/dev/null 2>&1; then + pywalfox update +fi + +# ----------------------------------------------------- +# Update SwayNC +# ----------------------------------------------------- +sleep 0.1 +swaync-client -rs + +# ----------------------------------------------------- +# Created blurred wallpaper +# ----------------------------------------------------- + +if [ -f $generatedversions/blur-$blur-$effect-$wallpaperfilename.png ] && [ "$force_generate" == "0" ] && [ "$use_cache" == "1" ]; then + echo ":: Use cached wallpaper blur-$blur-$effect-$wallpaperfilename" +else + echo ":: Generate new cached wallpaper blur-$blur-$effect-$wallpaperfilename with blur $blur" + # notify-send --replace-id=1 "Generate new blurred version" "with blur $blur" -h int:value:66 + magick $used_wallpaper -resize 75% $blurredwallpaper + echo ":: Resized to 75%" + if [ ! "$blur" == "0x0" ]; then + magick $blurredwallpaper -blur $blur $blurredwallpaper + cp $blurredwallpaper $generatedversions/blur-$blur-$effect-$wallpaperfilename.png + echo ":: Blurred" + fi +fi +cp $generatedversions/blur-$blur-$effect-$wallpaperfilename.png $blurredwallpaper + +# ----------------------------------------------------- +# Create rasi file +# ----------------------------------------------------- + +if [ ! -f $rasifile ]; then + touch $rasifile +fi +echo "* { current-image: url(\"$blurredwallpaper\", height); }" >"$rasifile" + +# ----------------------------------------------------- +# Created square wallpaper +# ----------------------------------------------------- + +echo ":: Generate new cached wallpaper square-$wallpaperfilename" +magick $tmpwallpaper -gravity Center -extent 1:1 $squarewallpaper +cp $squarewallpaper $generatedversions/square-$wallpaperfilename.png diff --git a/.config/hypr/conf/hypr/scripts/xdg.sh b/.config/hypr/conf/hypr/scripts/xdg.sh new file mode 100755 index 0000000..00a4af6 --- /dev/null +++ b/.config/hypr/conf/hypr/scripts/xdg.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# __ ______ ____ +# \ \/ / _ \ / ___| +# \ /| | | | | _ +# / \| |_| | |_| | +# /_/\_\____/ \____| +# + +# Setup Timers +_sleep1="0.1" +_sleep2="0.5" +_sleep3="2" + +# 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 -e xdg-desktop-portal + +# Set required environment variables +dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=hyprland + +# Stop all services +systemctl --user stop pipewire +systemctl --user stop wireplumber +systemctl --user stop xdg-desktop-portal +systemctl --user stop xdg-desktop-portal-gnome +systemctl --user stop xdg-desktop-portal-kde +systemctl --user stop xdg-desktop-portal-wlr +systemctl --user stop xdg-desktop-portal-hyprland +sleep $_sleep1 + +# Start xdg-desktop-portal-hyprland +/usr/lib/xdg-desktop-portal-hyprland & +sleep $_sleep1 + +# Start xdg-desktop-portal-gtk +if [ -f /usr/lib/xdg-desktop-portal-gtk ]; then + /usr/lib/xdg-desktop-portal-gtk & + sleep $_sleep1 +fi + +# Start xdg-desktop-portal +/usr/lib/xdg-desktop-portal & +sleep $_sleep2 + +# Start required services +systemctl --user start pipewire +systemctl --user start wireplumber +systemctl --user start xdg-desktop-portal +systemctl --user start xdg-desktop-portal-hyprland + +# Run waybar +sleep $_sleep3 +~/.config/waybar/launch.sh diff --git a/.config/hypr/conf/hypr/shaders/blue-light-filter-25.glsl b/.config/hypr/conf/hypr/shaders/blue-light-filter-25.glsl new file mode 100644 index 0000000..149b143 --- /dev/null +++ b/.config/hypr/conf/hypr/shaders/blue-light-filter-25.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.25; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/.config/hypr/conf/hypr/shaders/blue-light-filter-50.glsl b/.config/hypr/conf/hypr/shaders/blue-light-filter-50.glsl new file mode 100644 index 0000000..ac5ea21 --- /dev/null +++ b/.config/hypr/conf/hypr/shaders/blue-light-filter-50.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.5; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/.config/hypr/conf/hypr/shaders/blue-light-filter-75.glsl b/.config/hypr/conf/hypr/shaders/blue-light-filter-75.glsl new file mode 100644 index 0000000..c8c1b23 --- /dev/null +++ b/.config/hypr/conf/hypr/shaders/blue-light-filter-75.glsl @@ -0,0 +1,43 @@ +// from https://github.com/hyprwm/Hyprland/issues/1140#issuecomment-1335128437 + +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +const float temperature = 3000.0; +const float temperatureStrength = 0.75; + +#define WithQuickAndDirtyLuminancePreservation +const float LuminancePreservationFactor = 1.0; + +// function from https://www.shadertoy.com/view/4sc3D7 +// valid from 1000 to 40000 K (and additionally 0 for pure full white) +vec3 colorTemperatureToRGB(const in float temperature) { + // values from: http://blenderartists.org/forum/showthread.php?270332-OSL-Goodness&p=2268693&viewfull=1#post2268693 + mat3 m = (temperature <= 6500.0) ? mat3(vec3(0.0, -2902.1955373783176, -8257.7997278925690), + vec3(0.0, 1669.5803561666639, 2575.2827530017594), + vec3(1.0, 1.3302673723350029, 1.8993753891711275)) + : mat3(vec3(1745.0425298314172, 1216.6168361476490, -8257.7997278925690), + vec3(-2666.3474220535695, -2173.1012343082230, 2575.2827530017594), + vec3(0.55995389139931482, 0.70381203140554553, 1.8993753891711275)); + return mix(clamp(vec3(m[0] / (vec3(clamp(temperature, 1000.0, 40000.0)) + m[1]) + m[2]), vec3(0.0), vec3(1.0)), + vec3(1.0), smoothstep(1000.0, 0.0, temperature)); +} + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + + // RGB + vec3 color = vec3(pixColor[0], pixColor[1], pixColor[2]); + +#ifdef WithQuickAndDirtyLuminancePreservation + color *= mix(1.0, dot(color, vec3(0.2126, 0.7152, 0.0722)) / max(dot(color, vec3(0.2126, 0.7152, 0.0722)), 1e-5), + LuminancePreservationFactor); +#endif + + color = mix(color, color * colorTemperatureToRGB(temperature), temperatureStrength); + + vec4 outCol = vec4(color, pixColor[3]); + + gl_FragColor = outCol; +} diff --git a/.config/hypr/conf/hypr/shaders/invert-colors.glsl b/.config/hypr/conf/hypr/shaders/invert-colors.glsl new file mode 100644 index 0000000..a504901 --- /dev/null +++ b/.config/hypr/conf/hypr/shaders/invert-colors.glsl @@ -0,0 +1,8 @@ +precision highp float; +varying vec2 v_texcoord; +uniform sampler2D tex; + +void main() { + vec4 pixColor = texture2D(tex, v_texcoord); + gl_FragColor = vec4(1.0 - pixColor.r, 1.0 - pixColor.g, 1.0 - pixColor.b, pixColor.a); +} diff --git a/.config/hypr/conf/hypr/wallpapers/endeavouros.png b/.config/hypr/conf/hypr/wallpapers/endeavouros.png new file mode 100644 index 0000000..c581289 Binary files /dev/null and b/.config/hypr/conf/hypr/wallpapers/endeavouros.png differ diff --git a/.config/hypr/conf/hypr/wallpapers/void.png b/.config/hypr/conf/hypr/wallpapers/void.png new file mode 100644 index 0000000..6ccbd45 Binary files /dev/null and b/.config/hypr/conf/hypr/wallpapers/void.png differ diff --git a/.config/hypr/conf/windowrules/default.conf b/.config/hypr/conf/windowrules/default.conf index 8ee42f1..17c0a04 100644 --- a/.config/hypr/conf/windowrules/default.conf +++ b/.config/hypr/conf/windowrules/default.conf @@ -2,13 +2,17 @@ # Window rules # ----------------------------------------------------- -windowrule = tile, title:^(Microsoft-edge)$ -windowrule = tile, title:^(Brave-browser)$ -windowrule = tile, title:^(Chromium)$ +# windowrule = tile, title:^(Microsoft-edge)$ +# windowrule = tile, title:^(Brave-browser)$ +# windowrule = tile, title:^(Chromium)$ windowrule = float, title:^(pavucontrol)$ windowrule = float, title:^(blueman-manager)$ windowrule = float, title:^(nm-connection-editor)$ -windowrule = float, title:^(qalculate-gtk)$ +windowrule = float, title:^(Qalculate!)$ + +# Workspaces +windowrule = workspace 2, class:^(thunar)$ +windowrule = workspace 4, title:^(Zen Browser)$ # Browser Picture in Picture windowrule = float, title:^(Picture-in-Picture)$ @@ -17,3 +21,6 @@ windowrule = move 69.5% 4%, title:^(Picture-in-Picture)$ # idleinhibit windowrule = idleinhibit fullscreen,class:([window]) # Available modes: none, always, focus, fullscreen + +# Custom +windowrule = opacity 0.9, class:^(thunar)$ diff --git a/.config/hypr/wallpapers/endeavouros.png b/.config/hypr/wallpapers/endeavouros.png old mode 100755 new mode 100644 index e5c8aaa..c581289 Binary files a/.config/hypr/wallpapers/endeavouros.png and b/.config/hypr/wallpapers/endeavouros.png differ diff --git a/.config/qBittorrent/categories.json b/.config/qBittorrent/categories.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/.config/qBittorrent/categories.json @@ -0,0 +1,2 @@ +{ +} diff --git a/.config/qBittorrent/lockfile b/.config/qBittorrent/lockfile new file mode 100644 index 0000000..e69de29 diff --git a/.config/qBittorrent/qBittorrent-data.conf b/.config/qBittorrent/qBittorrent-data.conf new file mode 100644 index 0000000..c882169 --- /dev/null +++ b/.config/qBittorrent/qBittorrent-data.conf @@ -0,0 +1,2 @@ +[Stats] +AllStats="@Variant(\0\0\0\x1c\0\0\0\x2\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0\x44\0L\0\0\0\x4\0\0\0J\x92IM0\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0U\0L\0\0\0\x4\0\0\0\x13\xbcQ\x10=)" diff --git a/.config/qBittorrent/qBittorrent.conf b/.config/qBittorrent/qBittorrent.conf new file mode 100644 index 0000000..090c30b --- /dev/null +++ b/.config/qBittorrent/qBittorrent.conf @@ -0,0 +1,83 @@ +[AboutDialog] +Size=@Size(545 373) + +[AddNewTorrentDialog] +DialogSize=@Size(930 1009) +DownloadPathHistory= +RememberLastSavePath=false +SavePathHistory=/home/patrick/Downloads + +[Application] +FileLogger\Age=1 +FileLogger\AgeType=1 +FileLogger\Backup=true +FileLogger\DeleteOld=true +FileLogger\Enabled=true +FileLogger\MaxSizeBytes=66560 +FileLogger\Path=/home/patrick/.local/share/qBittorrent/logs +GUI\Notifications\TorrentAdded=false + +[BitTorrent] +Session\MaxActiveDownloads=1 +Session\Port=8906 +Session\QueueingSystemEnabled=true +Session\SSL\Port=6494 +Session\StartPaused=false + +[CookiesDialog] +Size=@Size(618 369) + +[Core] +AutoDeleteAddedTorrentFile=Never + +[DownloadFromURLDialog] +Size=@Size(544 220) + +[GUI] +DownloadTrackerFavicon=false +Log\Enabled=false +MainWindow\FiltersSidebarWidth=228 +Qt6\AddNewTorrentDialog\SplitterState=@ByteArray(\0\0\0\xff\0\0\0\x1\0\0\0\x2\0\0\x1\xc2\0\0\x1\x9e\0\xff\xff\xff\xff\x1\0\0\0\x1\0) +Qt6\AddNewTorrentDialog\TreeHeaderState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x6\x34\0\0\0\x3\0\0\0\x5\0\0\0\x64\0\0\0\x4\0\0\0\x64\0\0\0\x2\0\0\0\x64\0\0\x1\xaf\0\0\0\x6\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x6\0\0\0\xa1\0\0\0\x1\0\0\0\0\0\0\0\x8d\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\x81\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\x64\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x1) +Qt6\CookiesDialog\ViewState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x2$\0\0\0\x5\x1\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x5\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x94\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\x64\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x1) +Qt6\TorrentProperties\FilesListState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x6\x64\0\0\0\x6\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x6\0\0\x1\xdc\0\0\0\x1\0\0\0\0\0\0\0\xb1\0\0\0\x1\0\0\0\0\0\0\0\x8d\0\0\0\x1\0\0\0\0\0\0\0\x8d\0\0\0\x1\0\0\0\0\0\0\0\x8d\0\0\0\x1\0\0\0\0\0\0\x2\x30\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\x64\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x1) +Qt6\TorrentProperties\PeerListState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\xf@@\0\0\0\x2\0\0\0\xe\0\0\0\x64\0\0\0\x6\0\0\0\x64\0\0\x5\x14\0\0\0\xf\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\xf\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x1) +Qt6\TorrentProperties\TrackerListState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4L\0\0\0\v\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\v\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x1) +Qt6\TransferList\HeaderState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0%\b\x90\xff\x7f\x1f\0\0\0\x17\0\0\0\x13\0\0\0\x64\0\0\0\x17\0\0\0\x64\0\0\0!\0\0\0\x64\0\0\0\x18\0\0\0\x64\0\0\0$\0\0\0\x64\0\0\0\x1d\0\0\0\x64\0\0\0\"\0\0\0\x64\0\0\0\f\0\0\0\x64\0\0\0\xf\0\0\0\x64\0\0\0\x1b\0\0\0\x64\0\0\0\x14\0\0\0\x64\0\0\0\x16\0\0\0\x64\0\0\0 \0\0\0\x64\0\0\0\x12\0\0\0\x64\0\0\0\x3\0\0\0\x64\0\0\0#\0\0\0\x64\0\0\0\x1a\0\0\0\x64\0\0\0\x1c\0\0\0\x64\0\0\0\x10\0\0\0\x64\0\0\0\x1e\0\0\0\x64\0\0\0\x15\0\0\0\x64\0\0\0\x11\0\0\0\x64\0\0\0\x19\0\0\0\x64\0\0\x6\x8c\0\0\0%\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0%\0\0\0\x37\0\0\0\x1\0\0\0\0\0\0\x1\xa5\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\x64\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x1) +StartUpWindowState=Hidden +UIThemeDialog\Size=@Size(451 348) + +[LegalNotice] +Accepted=true + +[MainWindow] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x3\xa1\0\0\x3\xf0\0\0\0\0\0\0\0\0\0\0\x3\xa1\0\0\x3\xf0\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x3\xa1\0\0\x3\xf0) + +[Meta] +MigrationVersion=8 + +[OptionsDialog] +HorizontalSplitterSizes=147, 606 +LastViewedPage=0 +Size=@Size(779 591) + +[Preferences] +Advanced\TrayIconStyle=MonoDark +General\CloseToTrayNotified=true +General\CustomUIThemePath=/home/patrick/.config/qBittorrent/themes/darkstylesheet.qbtheme +General\Locale=en +General\MinimizeToTray=true +General\MinimizeToTrayNotified=true +General\UseCustomUITheme=true + +[RSS] +AutoDownloader\DownloadRepacks=true +AutoDownloader\SmartEpisodeFilter=s(\\d+)e(\\d+), (\\d+)x(\\d+), "(\\d{4}[.\\-]\\d{1,2}[.\\-]\\d{1,2})", "(\\d{1,2}[.\\-]\\d{1,2}[.\\-]\\d{4})" + +[TorrentProperties] +CurrentTab=4 +SplitterSizes="262,626" +Visible=true + +[TransferListFilters] +selectedFilterIndex=1 diff --git a/.config/qBittorrent/rss/feeds.json b/.config/qBittorrent/rss/feeds.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/.config/qBittorrent/rss/feeds.json @@ -0,0 +1,2 @@ +{ +} diff --git a/.config/qBittorrent/rss/storage.lock b/.config/qBittorrent/rss/storage.lock new file mode 100644 index 0000000..e69de29 diff --git a/.config/qBittorrent/themes/darkstylesheet.qbtheme b/.config/qBittorrent/themes/darkstylesheet.qbtheme new file mode 100644 index 0000000..4242e79 Binary files /dev/null and b/.config/qBittorrent/themes/darkstylesheet.qbtheme differ diff --git a/.config/qBittorrent/watched_folders.json b/.config/qBittorrent/watched_folders.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/.config/qBittorrent/watched_folders.json @@ -0,0 +1,2 @@ +{ +} diff --git a/.zshrc b/.zshrc index 416f276..2736135 100644 --- a/.zshrc +++ b/.zshrc @@ -112,7 +112,7 @@ alias xi="sudo xbps-install -Sy" alias xu="sudo xbps-install -Syu" alias xr="sudo xbps-remove -y" alias xq="sudo xbps-query -Rs" -alias pi="paru -S" +alias pi="paru -Syu" alias py="paru -Syy" alias pu="paru -Syyu" alias pr="paru -Rns" @@ -124,6 +124,13 @@ alias fi="sudo flatpak install" alias fr="sudo flatpak remove" alias fu="sudo flatpak update" alias se="sudoedit" -alias rb="sudo reboot" -alias sd="sudo shutdown -h now" + +# Void +# alias rb="sudo reboot" +# alias sd="sudo shutdown -h now" + + +# Arch +alias rb="reboot" +alias sd="shutdown now"