diff --git a/.install/hyprland-dotfiles.sh b/.install/hyprland-dotfiles.sh index 6dde76f..3b40982 100644 --- a/.install/hyprland-dotfiles.sh +++ b/.install/hyprland-dotfiles.sh @@ -40,7 +40,7 @@ fi if [ -d ~/dotfiles-versions/$version/swappy ]; then _installSymLink swappy ~/.config/swappy ~/dotfiles/swappy/ ~/.config fi -if [ -d ~/dotfiles-versions/$version/swappy ]; then +if [ -d ~/dotfiles-versions/$version/eww ]; then _installSymLink eww ~/.config/eww ~/dotfiles/eww/ ~/.config fi if [ -d ~/dotfiles-versions/$version/fastfetch ]; then diff --git a/.install/templates/keyboard-default.conf b/.install/templates/keyboard-default.conf index 0a346ab..794e1ee 100644 --- a/.install/templates/keyboard-default.conf +++ b/.install/templates/keyboard-default.conf @@ -8,7 +8,7 @@ input { kb_model = kb_options = numlock_by_default = true - mouse_refocus=false + mouse_refocus = false # For United States # kb_layout = us @@ -28,3 +28,7 @@ input { } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } + +gestures { + workspace_swipe = true +} \ No newline at end of file diff --git a/.install/templates/keyboard-laptop.conf b/.install/templates/keyboard-laptop.conf index e7cab35..1ab5d0f 100644 --- a/.install/templates/keyboard-laptop.conf +++ b/.install/templates/keyboard-laptop.conf @@ -8,7 +8,7 @@ input { kb_model = kb_options = numlock_by_default = true - mouse_refocus=false + mouse_refocus = false # For United States # kb_layout = us @@ -22,9 +22,14 @@ input { # natural_scroll = false # for laptop - natural_scroll = yes + natural_scroll = true middle_button_emulation = true - clickfinger_behavior = 1 + clickfinger_behavior = true + disable_while_typing = true } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } + +gestures { + workspace_swipe = true +} \ No newline at end of file diff --git a/.version/name b/.version/name index a46b5cb..8ac3ac6 100644 --- a/.version/name +++ b/.version/name @@ -1 +1 @@ -2.9.1.1 \ No newline at end of file +2.9.1.2 \ No newline at end of file diff --git a/.version/version b/.version/version index f8cc4c9..c43cfd3 100644 --- a/.version/version +++ b/.version/version @@ -1 +1 @@ -2911 \ No newline at end of file +2912 \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 2cb6682..0e68330 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +Version 2.9.1.2 +https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.9.1.1 +-------------------------------------------------------- +- Workspaces module in waybar updated to enable scroll to change the workspace https://gitlab.com/stephan-raabe/dotfiles/-/merge_requests/114 +- More functions deactivated in Game Mode (SUPER+ALT+G) +- Keybindings rofi menu updated with keybinding description. Open with right mouse click on Apps waybar module +- Fixed bug of ML4W Hyprland Settings App with Hyprland 0.41.0 + Version 2.9.1.1 https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.9.1.1 -------------------------------------------------------- diff --git a/README.md b/README.md index f9265d1..2f50c53 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ML4W Dotfiles 2.9.1.1 +# ML4W Dotfiles 2.9.1.2 An advanced configuration of Hyprland for Arch Linux based distributions. This package includes an installation script to install and setup the required components. @@ -55,6 +55,8 @@ THANK YOU very much for all your support, contributions and ideas: - Don Williams: https://github.com/dwilliam62 - Teodor Orzechowski: https://gitlab.com/sq6gtt - Jamie Deppeler: https://gitlab.com/bknight2k +- Yingjie Wang: https://gitlab.com/GaugeAndGravity +- Daniel Gerber: https://gitlab.com/dan.john.gerber - https://gitlab.com/muee and many more... diff --git a/apps/ML4W_Hyprland_Settings-x86_64.AppImage b/apps/ML4W_Hyprland_Settings-x86_64.AppImage index f8e23e3..1013ec2 100755 Binary files a/apps/ML4W_Hyprland_Settings-x86_64.AppImage and b/apps/ML4W_Hyprland_Settings-x86_64.AppImage differ diff --git a/hypr/conf/keybindings/default.conf b/hypr/conf/keybindings/default.conf index bc88632..638118c 100644 --- a/hypr/conf/keybindings/default.conf +++ b/hypr/conf/keybindings/default.conf @@ -7,89 +7,88 @@ $mainMod = SUPER # Applications -bind = $mainMod, RETURN, exec, ~/dotfiles/.settings/terminal.sh -bind = $mainMod, B, exec, ~/dotfiles/.settings/browser.sh +bind = $mainMod, RETURN, exec, ~/dotfiles/.settings/terminal.sh # Open the terminal +bind = $mainMod, B, exec, ~/dotfiles/.settings/browser.sh # Open the browser +bind = $mainMod, E, exec, ~/dotfiles/.settings/filemanager.sh # Open the filemanager # Windows -bind = $mainMod, Q, killactive -bind = $mainMod, F, fullscreen -bind = $mainMod, E, exec, ~/dotfiles/.settings/filemanager.sh -bind = $mainMod, T, togglefloating -bind = $mainMod SHIFT, T, exec, ~/dotfiles/hypr/scripts/toggleallfloat.sh -bind = $mainMod, J, togglesplit -bind = $mainMod, left, movefocus, l -bind = $mainMod, right, movefocus, r -bind = $mainMod, up, movefocus, u -bind = $mainMod, down, movefocus, d -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow -bind = $mainMod SHIFT, right, resizeactive, 100 0 -bind = $mainMod SHIFT, left, resizeactive, -100 0 -bind = $mainMod SHIFT, up, resizeactive, 0 -100 -bind = $mainMod SHIFT, down, resizeactive, 0 100 -bind = $mainMod, G, togglegroup +bind = $mainMod, Q, killactive # Kill active window +bind = $mainMod, F, fullscreen # Set active window to fullscreen +bind = $mainMod, T, togglefloating # Toggle active windows into floating mode +bind = $mainMod SHIFT, T, exec, ~/dotfiles/hypr/scripts/toggleallfloat.sh # Toggle all windows into floating mode +bind = $mainMod, J, togglesplit # Toggle split +bind = $mainMod, left, movefocus, l # Move focus left +bind = $mainMod, right, movefocus, r # Move focus right +bind = $mainMod, up, movefocus, u # Move focus up +bind = $mainMod, down, movefocus, d # Move focus down +bindm = $mainMod, mouse:272, movewindow # Move window with the mouse +bindm = $mainMod, mouse:273, resizewindow # Resize window with the mouse +bind = $mainMod SHIFT, right, resizeactive, 100 0 # Increase window width with keyboard +bind = $mainMod SHIFT, left, resizeactive, -100 0 # Reduce window width with keyboard +bind = $mainMod SHIFT, down, resizeactive, 0 100 # Increase window height with keyboard +bind = $mainMod SHIFT, up, resizeactive, 0 -100 # Reduce window height with keyboard +bind = $mainMod, G, togglegroup # Toggle window group # Actions -bind = $mainMod SHIFT, A, exec, ~/dotfiles/hypr/scripts/toggle-animations.sh -bind = $mainMod, PRINT, exec, ~/dotfiles/hypr/scripts/screenshot.sh -bind = $mainMod CTRL, Q, exec, wlogout -bind = $mainMod SHIFT, W, exec, ~/dotfiles/hypr/scripts/wallpaper.sh -bind = $mainMod CTRL, W, exec, ~/dotfiles/hypr/scripts/wallpaper.sh select -bind = $mainMod CTRL, RETURN, exec, rofi -show drun -replace -i -bind = $mainMod CTRL, H, exec, ~/dotfiles/hypr/scripts/keybindings.sh -bind = $mainMod SHIFT, B, exec, ~/dotfiles/waybar/launch.sh -bind = $mainMod CTRL, B, exec, ~/dotfiles/waybar/toggle.sh -bind = $mainMod SHIFT, R, exec, ~/dotfiles/hypr/scripts/loadconfig.sh -bind = $mainMod CTRL, C, exec, ~/dotfiles/scripts/cliphist.sh -bind = $mainMod, V, exec, ~/dotfiles/scripts/cliphist.sh -bind = $mainMod CTRL, T, exec, ~/dotfiles/waybar/themeswitcher.sh -bind = $mainMod CTRL, S, exec, ~/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage -bind = $mainMod CTRL, P, exec, hyprpicker -a -bind = $mainMod SHIFT, S, exec, ~/dotfiles/hypr/scripts/hyprshade.sh -bind = $mainMod ALT, G, exec, ~/dotfiles/hypr/scripts/gamemode.sh +bind = $mainMod SHIFT, A, exec, ~/dotfiles/hypr/scripts/toggle-animations.sh # Toggle animations +bind = $mainMod, PRINT, exec, ~/dotfiles/hypr/scripts/screenshot.sh # Take a screenshot +bind = $mainMod CTRL, Q, exec, wlogout # Start wlogout +bind = $mainMod SHIFT, W, exec, ~/dotfiles/hypr/scripts/wallpaper.sh # Change the wallpaper +bind = $mainMod CTRL, W, exec, ~/dotfiles/hypr/scripts/wallpaper.sh select # Open wallpaper selector +bind = $mainMod CTRL, RETURN, exec, rofi -show drun -replace -i # Open application launcher +bind = $mainMod CTRL, H, exec, ~/dotfiles/hypr/scripts/keybindings.sh # Show keybindings +bind = $mainMod SHIFT, B, exec, ~/dotfiles/waybar/launch.sh # Reload waybar +bind = $mainMod CTRL, B, exec, ~/dotfiles/waybar/toggle.sh # Toggle waybar +bind = $mainMod SHIFT, R, exec, ~/dotfiles/hypr/scripts/loadconfig.sh # Reload hyprland config +bind = $mainMod, V, exec, ~/dotfiles/scripts/cliphist.sh # Open clipboard manager +bind = $mainMod CTRL, T, exec, ~/dotfiles/waybar/themeswitcher.sh # Open waybar theme switcher +bind = $mainMod CTRL, S, exec, ~/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app +bind = $mainMod SHIFT, S, exec, ~/dotfiles/hypr/scripts/hyprshade.sh # Toggle screenshader +bind = $mainMod ALT, G, exec, ~/dotfiles/hypr/scripts/gamemode.sh # Toggle game mode # Workspaces -bind = $mainMod, 1, workspace, 1 -bind = $mainMod, 2, workspace, 2 -bind = $mainMod, 3, workspace, 3 -bind = $mainMod, 4, workspace, 4 -bind = $mainMod, 5, workspace, 5 -bind = $mainMod, 6, workspace, 6 -bind = $mainMod, 7, workspace, 7 -bind = $mainMod, 8, workspace, 8 -bind = $mainMod, 9, workspace, 9 -bind = $mainMod, 0, workspace, 10 -bind = $mainMod SHIFT, 1, movetoworkspace, 1 -bind = $mainMod SHIFT, 2, movetoworkspace, 2 -bind = $mainMod SHIFT, 3, movetoworkspace, 3 -bind = $mainMod SHIFT, 4, movetoworkspace, 4 -bind = $mainMod SHIFT, 5, movetoworkspace, 5 -bind = $mainMod SHIFT, 6, movetoworkspace, 6 -bind = $mainMod SHIFT, 7, movetoworkspace, 7 -bind = $mainMod SHIFT, 8, movetoworkspace, 8 -bind = $mainMod SHIFT, 9, movetoworkspace, 9 -bind = $mainMod SHIFT, 0, movetoworkspace, 10 -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 -bind = $mainMod CTRL, down, workspace, empty - -# Fn keys -bind = , XF86MonBrightnessUp, exec, brightnessctl -q s +10% -bind = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%- -bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% -bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% -bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle -bind = , XF86AudioPlay, exec, playerctl play-pause -bind = , XF86AudioPause, exec, playerctl pause -bind = , XF86AudioNext, exec, playerctl next -bind = , XF86AudioPrev, exec, playerctl previous -bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle -bind = , XF86Calculator, exec, qalculate-gtk -bind = , XF86Lock, exec, hyprlock -bind = , XF86Tools, exec, alacritty --class dotfiles-floating -e ~/dotfiles/hypr/settings/settings.sh +bind = $mainMod, 1, workspace, 1 # Open workspace 1 +bind = $mainMod, 2, workspace, 2 # Open workspace 2 +bind = $mainMod, 3, workspace, 3 # Open workspace 3 +bind = $mainMod, 4, workspace, 4 # Open workspace 4 +bind = $mainMod, 5, workspace, 5 # Open workspace 5 +bind = $mainMod, 6, workspace, 6 # Open workspace 6 +bind = $mainMod, 7, workspace, 7 # Open workspace 7 +bind = $mainMod, 8, workspace, 8 # Open workspace 8 +bind = $mainMod, 9, workspace, 9 # Open workspace 9 +bind = $mainMod, 0, workspace, 10 # Open workspace 10 +bind = $mainMod SHIFT, 1, movetoworkspace, 1 # Move active window to workspace 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 # Move active window to workspace 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 # Move active window to workspace 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 # Move active window to workspace 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 # Move active window to workspace 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 # Move active window to workspace 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 # Move active window to workspace 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 # Move active window to workspace 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 # Move active window to workspace 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Move active window to workspace 10 +bind = $mainMod, mouse_down, workspace, e+1 # Open next workspace +bind = $mainMod, mouse_up, workspace, e-1 # Open previous workspace +bind = $mainMod CTRL, down, workspace, empty # Open the next empty workspace # Passthrough SUPER KEY to Virtual Machine -bind = $mainMod, P, submap, passthru +bind = $mainMod, P, submap, passthru # Passthrough SUPER key to virtual machine submap = passthru -bind = SUPER, Escape, submap, reset +bind = SUPER, Escape, submap, reset # Get SUPER key back from virtual machine submap = reset + +# Fn keys +bind = , XF86MonBrightnessUp, exec, brightnessctl -q s +10% # Increase brightness by 10% +bind = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%- # Reduce brightness by 10% +bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% # Increase volume by 5% +bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% # Reduce volume by 5% +bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # Toggle mute +bind = , XF86AudioPlay, exec, playerctl play-pause # Audio play pause +bind = , XF86AudioPause, exec, playerctl pause # Audio pause +bind = , XF86AudioNext, exec, playerctl next # Audio next +bind = , XF86AudioPrev, exec, playerctl previous # Audio previous +bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # Toggle microphone +bind = , XF86Calculator, exec, qalculate-gtk # Open calculator +bind = , XF86Lock, exec, hyprlock # Open screenlock +bind = , XF86Tools, exec, alacritty --class dotfiles-floating -e ~/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app + diff --git a/hypr/conf/ml4w.conf b/hypr/conf/ml4w.conf index 902ea31..8c90684 100644 --- a/hypr/conf/ml4w.conf +++ b/hypr/conf/ml4w.conf @@ -22,9 +22,9 @@ windowrulev2 = float,class:(ml4w-dotfiles-settings.py) windowrulev2 = size 400 500,class:(ml4w-dotfiles-settings.py) windowrulev2 = move 10% 20%,class:(ml4w-dotfiles-settings.py) -windowrulev2 = float,class:(com.ml4w.hyprlandsettings) -windowrulev2 = size 700 600,class:(com.ml4w.hyprlandsettings) -windowrulev2 = center,class:(com.ml4w.hyprlandsettings) +windowrulev2 = float,class:(com.ml4w.hyprland.settings) +windowrulev2 = size 700 600,class:(com.ml4w.hyprland.settings) +windowrulev2 = center,class:(com.ml4w.hyprland.settings) windowrulev2 = float,class:(ml4w-hyprland-settings.py) windowrulev2 = size 700 600,class:(ml4w-hyprland-settings.py) @@ -37,4 +37,3 @@ windowrulev2 = center,class:(dotfiles-floating) env = APPIMAGELAUNCHER_DISABLE,1 env = XCURSOR_SIZE,24 env = XDG_CURRENT_DESKTOP,Hyprland - diff --git a/hypr/scripts/gamemode.sh b/hypr/scripts/gamemode.sh index 3ed36ce..815a780 100755 --- a/hypr/scripts/gamemode.sh +++ b/hypr/scripts/gamemode.sh @@ -7,13 +7,18 @@ # if [ -f ~/.cache/gamemode ] ;then - hyprctl keyword animations:enabled true - hyprctl keyword decoration:blur:enabled true + hyprctl reload rm ~/.cache/gamemode notify-send "Gamemode deactivated" "Animations and blur enabled" else - hyprctl keyword animations:enabled false - hyprctl keyword decoration:blur:enabled false - touch ~/.cache/gamemode + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword decoration:drop_shadow 0;\ + keyword decoration:blur:enabled 0;\ + keyword general:gaps_in 0;\ + keyword general:gaps_out 0;\ + keyword general:border_size 1;\ + keyword decoration:rounding 0" + touch ~/.cache/gamemode notify-send "Gamemode activated" "Animations and blur disabled" fi diff --git a/hypr/scripts/keybindings.sh b/hypr/scripts/keybindings.sh index bcf5dff..d4edd07 100755 --- a/hypr/scripts/keybindings.sh +++ b/hypr/scripts/keybindings.sh @@ -21,13 +21,29 @@ config_file=${config_file/source=~/} config_file="/home/$USER$config_file" echo "Reading from: $config_file" -# ----------------------------------------------------- -# Parse keybindings -# ----------------------------------------------------- -keybinds=$(grep -oP '(?<=bind = ).*' $config_file) -keybinds=$(echo "$keybinds" | sed 's/$mainMod/SUPER/g'| sed 's/,\([^,]*\)$/ = \1/' | sed 's/, exec//g' | sed 's/^,//g') -# ----------------------------------------------------- -# Show keybindings in rofi -# ----------------------------------------------------- +keybinds="" + +# Detect Start String +while read -r line +do + if [[ "$line" == "bind"* ]]; then + + line="$(echo "$line" | sed 's/$mainMod/SUPER/g')" + line="$(echo "$line" | sed 's/bind = //g')" + line="$(echo "$line" | sed 's/bindm = //g')" + + IFS='#' + read -a strarr <<<"$line" + kb_str=${strarr[0]} + cm_str=${strarr[1]} + + IFS=',' + read -a kbarr <<<"$kb_str" + + item="${kbarr[0]} + ${kbarr[1]}"$'\r'"${cm_str:1}" + keybinds=$keybinds$item$'\n' + fi +done < "$config_file" + sleep 0.2 -rofi -dmenu -i -replace -p "Keybinds" -config ~/dotfiles/rofi/config-compact.rasi <<< "$keybinds" \ No newline at end of file +rofi -dmenu -i -markup -eh 2 -replace -p "Keybinds" -config ~/dotfiles/rofi/config-compact.rasi <<< "$keybinds" \ No newline at end of file diff --git a/nvim/init.vim b/nvim/init.vim index 79c22b5..7aeaed9 100644 --- a/nvim/init.vim +++ b/nvim/init.vim @@ -31,3 +31,13 @@ set ttyfast " Speed up scrolling in Vim " set spell " enable spell check (may need to download language package) " set noswapfile " disable creating swap file " set backupdir=~/.cache/vim " Directory to store backup files. + +hi NonText ctermbg=none guibg=NONE +hi Normal guibg=NONE ctermbg=NONE +hi NormalNC guibg=NONE ctermbg=NONE +hi SignColumn ctermbg=NONE ctermfg=NONE guibg=NONE + +hi Pmenu ctermbg=NONE ctermfg=NONE guibg=NONE +hi FloatBorder ctermbg=NONE ctermfg=NONE guibg=NONE +hi NormalFloat ctermbg=NONE ctermfg=NONE guibg=NONE +hi TabLine ctermbg=None ctermfg=None guibg=None diff --git a/rofi/config-wallpaper.rasi b/rofi/config-wallpaper.rasi index b5091fb..82c1f5e 100644 --- a/rofi/config-wallpaper.rasi +++ b/rofi/config-wallpaper.rasi @@ -153,11 +153,12 @@ listview { spacing: 10px; padding: 10px; margin: 0px; - fixed-height: true; - fixed-columns: true; + fixed-height: true; + fixed-columns: true; background-color: @background; border: 0px; border-radius: 0px; + flow: horizontal; } /* ---- Element ---- */ diff --git a/waybar/modules.json b/waybar/modules.json index 64b2096..6955894 100644 --- a/waybar/modules.json +++ b/waybar/modules.json @@ -11,6 +11,8 @@ { // Workspaces "hyprland/workspaces" : { + "on-scroll-up": "hyprctl dispatch workspace r-1", + "on-scroll-down": "hyprctl dispatch workspace r+1", "on-click": "activate", "active-only": false, "all-outputs": true, @@ -138,14 +140,14 @@ "custom/filemanager": { "format": "", "on-click": "~/dotfiles/.settings/filemanager.sh", - "tooltip-format": "Open the filemanager" + "tooltip-format": "Open filemanager" }, // Browser Launcher "custom/browser": { "format": "", "on-click": "~/dotfiles/.settings/browser.sh", - "tooltip-format": "Open the browser" + "tooltip-format": "Open browser" }, // ChatGPT Launcher @@ -159,7 +161,7 @@ "custom/calculator": { "format": "", "on-click": "qalculate-gtk", - "tooltip": false + "tooltip-format": "Open calculator" }, // Windows VM