diff --git a/README.md b/README.md index b7254bf..e4a571d 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,9 @@ System-level config (e.g. pacman options) lives in `system/` and is installed wi ~/Projects/dotfiles/system/install.sh ``` +Full documentation (every config, keybinding and script) lives in the Outline wiki's +**Dotfiles** collection: https://outline.twhomelab.co.uk/collection/dotfiles-frMIfJi2Hf + ## πŸ“¦ Programs List of programs and tools I use. @@ -67,12 +70,12 @@ List of programs and tools I use. | Component | Program | |-------------------|------------| |πŸͺŸ Windows Manager | [hyprland](https://github.com/hyprwm/Hyprland) | -|πŸ–₯️ Terminal | [foot](https://codeberg.org/dnkl/foot) | -|🐚 Shell | [zsh](https://github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH) / [theme](https://github.com/ohmyzsh/ohmyzsh/blob/master/themes/refined.zsh-theme) | +|πŸ–₯️ Terminal | [foot](https://codeberg.org/dnkl/foot) / [ghostty](https://ghostty.org/) (system updater) | +|🐚 Shell | [zsh](https://github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH) + oh-my-zsh / [oh-my-posh](https://ohmyposh.dev/) prompt (`.config/ohmyposh/zen.toml`) | |πŸ“ File Manager | [thunar](https://wiki.archlinux.org/title/Thunar) | |πŸ“ Editor | [vs code](https://github.com/microsoft/vscode) / [neovim (changing to soon)](https://github.com/neovim/neovim) | |🌐 Browser | [zen](https://github.com/zen-browser/desktop) / [firefox](https://github.com/topics/firefox-browser) / [startpage](https://blog-bucket-personal.s3.eu-west-2.amazonaws.com/Screenshot_02-May_08-44-23_6614.png) | -|πŸ“Š Bar | [waybar](https://github.com/Alexays/Waybar) / [quickshell](https://quickshell.org/) | +|πŸ“Š Bar | [quickshell](https://quickshell.org/) (waybar retired, config kept) | |πŸš€ Launcher | [rofi](https://github.com/davatorium/rofi) | |πŸ”’ Lockscreen | [hyprlock](https://github.com/hyprwm/hyprlock) | |πŸšͺ Login Menu | [sddm](https://github.com/sddm/sddm) | diff --git a/bootstrap.sh b/bootstrap.sh index 013fc0f..10da5b5 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -124,6 +124,24 @@ for app in $(packages installer); do esac done +step "oh-my-zsh and plugins" +# .zshrc sources ~/.oh-my-zsh/oh-my-zsh.sh and loads two custom plugins from it. +# A plain clone is all oh-my-zsh needs; its installer would also write a template +# ~/.zshrc, which then conflicts with the stowed one. +if [[ ! -d "$HOME/.oh-my-zsh" ]]; then + git clone --depth 1 https://github.com/ohmyzsh/ohmyzsh.git "$HOME/.oh-my-zsh" +else + echo "oh-my-zsh: already installed" +fi +zsh_custom="$HOME/.oh-my-zsh/custom/plugins" +for plugin in zsh-autosuggestions zsh-syntax-highlighting; do + if [[ -d "$zsh_custom/$plugin" ]]; then + echo "$plugin: already installed" + else + git clone --depth 1 "https://github.com/zsh-users/$plugin" "$zsh_custom/$plugin" + fi +done + # --- Optional: SVT-AV1 essential + ffmpeg rebuild ---------------------------- if [[ $svt_av1 == ask ]]; then @@ -151,7 +169,7 @@ sudo systemctl enable "${units[@]}" step "Linking dotfiles with stow" # Create real parent dirs first, otherwise stow symlinks the whole directory # (e.g. ~/.config) into the repo and every app's files end up in git -mkdir -p "$HOME/.config" "$HOME/.local/bin" "$HOME/.local/share" "$HOME/Pictures" +mkdir -p "$HOME/.config" "$HOME/.local/bin" "$HOME/.local/share/fonts" "$HOME/Pictures" # Sunshine keeps credentials and logs beside its config; those must stay out of git mkdir -p "$HOME/.config/sunshine" mkdir -p -m 700 "$HOME/.ssh" @@ -165,4 +183,7 @@ if [[ "$(getent passwd "$USER" | cut -d: -f7)" != */zsh ]]; then chsh -s /usr/bin/zsh fi +# Picks up the stowed fonts in ~/.local/share/fonts (SF Pro Display for hyprlock) +fc-cache -f "$HOME/.local/share/fonts" >/dev/null + step "Done β€” reboot to load drivers and start Hyprland" diff --git a/dotfiles/.config/fastfetch/config-v2.jsonc b/dotfiles/.config/fastfetch/config-v2.jsonc index cee27fd..ace5f00 100644 --- a/dotfiles/.config/fastfetch/config-v2.jsonc +++ b/dotfiles/.config/fastfetch/config-v2.jsonc @@ -1,7 +1,7 @@ { "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", "logo": { - //"source": "~/.config/fastfetch/nixos.png", + //"source": "~/.config/fastfetch/arch.png", //"type": "kitty-direct", "height": 15, "width": 30, diff --git a/dotfiles/.config/gtk-3.0/settings.ini b/dotfiles/.config/gtk-3.0/settings.ini index 1db9b6c..bead104 100644 --- a/dotfiles/.config/gtk-3.0/settings.ini +++ b/dotfiles/.config/gtk-3.0/settings.ini @@ -2,7 +2,7 @@ gtk-theme-name=HyprFlux-Compact gtk-icon-theme-name=Papirus-Dark gtk-font-name=Adwaita Sans 11 -gtk-cursor-theme-name=Future-black Cursors +gtk-cursor-theme-name=Bibata-Modern-Classic gtk-cursor-theme-size=24 gtk-toolbar-style=GTK_TOOLBAR_ICONS gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR diff --git a/dotfiles/.config/gtk-4.0/settings.ini b/dotfiles/.config/gtk-4.0/settings.ini index c187090..cec2582 100644 --- a/dotfiles/.config/gtk-4.0/settings.ini +++ b/dotfiles/.config/gtk-4.0/settings.ini @@ -2,6 +2,6 @@ gtk-theme-name=HyprFlux-Compact gtk-icon-theme-name=Papirus-Dark gtk-font-name=Adwaita Sans 11 -gtk-cursor-theme-name=Future-black Cursors +gtk-cursor-theme-name=Bibata-Modern-Classic gtk-cursor-theme-size=24 gtk-application-prefer-dark-theme=1 diff --git a/dotfiles/.config/hypr/UserConfigs/00-Readme b/dotfiles/.config/hypr/UserConfigs/00-Readme deleted file mode 100644 index 91a0a55..0000000 --- a/dotfiles/.config/hypr/UserConfigs/00-Readme +++ /dev/null @@ -1,6 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# HyprFlux Dots - -Settings have been massivily modified as to work in a more simple mannor - -I will update the Hyprland-Dots wiki for guidance. Make sure to check out changelogs as well diff --git a/dotfiles/.config/hypr/UserConfigs/ENVariables.conf b/dotfiles/.config/hypr/UserConfigs/ENVariables.conf deleted file mode 100644 index 6e4718c..0000000 --- a/dotfiles/.config/hypr/UserConfigs/ENVariables.conf +++ /dev/null @@ -1,92 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# Environment variables. See https://wiki.hyprland.org/Configuring/Environment-variables/ - -# Set your defaults editor through ENV in ~/.config/hypr/UserConfigs/01-UserDefaults.conf - -# environment-variables -# Toolkit Backend Variables -env = GDK_BACKEND,wayland,x11,* -env = QT_QPA_PLATFORM,wayland;xcb -env = CLUTTER_BACKEND,wayland - -#Run SDL2 applications on Wayland. -#Remove or set to x11 if games that provide older versions of SDL cause compatibility issues -#env = SDL_VIDEODRIVER,wayland - -# xdg Specifications -env = XDG_CURRENT_DESKTOP,Hyprland -env = XDG_SESSION_DESKTOP,Hyprland -env = XDG_SESSION_TYPE,wayland - -# QT Variables -env = QT_AUTO_SCREEN_SCALE_FACTOR,1 -env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 -env = QT_QPA_PLATFORMTHEME,qt5ct -env = QT_QPA_PLATFORMTHEME,qt6ct - -# hyprland-qt-support -env = QT_QUICK_CONTROLS_STYLE,org.hyprland.style - -# xwayland apps scale fix (useful if you are use monitor scaling). -# Set same value if you use scaling in Monitors.conf -# 1 is 100% 1.5 is 150% -# see https://wiki.hyprland.org/Configuring/XWayland/ -env = GDK_SCALE,1 -env = QT_SCALE_FACTOR,1 - -# Bibata-Modern-Ice-Cursor -# NOTE! You must have the hyprcursor version to activate this. -# https://wiki.hyprland.org/Hypr-Ecosystem/hyprcursor/ -env = HYPRCURSOR_THEME,Bibata-Modern-Classic -env = HYPRCURSOR_SIZE,24 - -# firefox -env = MOZ_ENABLE_WAYLAND,1 - -# electron >28 apps (may help) ## -# https://www.electronjs.org/docs/latest/api/environment-variables -env = ELECTRON_OZONE_PLATFORM_HINT,auto # auto selects Wayland if possible, X11 otherwise - -# NVIDIA -# This is from Hyprland Wiki. Below will be activated nvidia gpu detected -# See hyprland wiki https://wiki.hyprland.org/Nvidia/#environment-variables - -env = LIBVA_DRIVER_NAME,nvidia -env = __GLX_VENDOR_LIBRARY_NAME,nvidia -env = NVD_BACKEND,direct -env = GSK_RENDERER,ngl - -# additional ENV's for nvidia. Caution, activate with care -#env = GBM_BACKEND,nvidia-drm - -#env = __GL_GSYNC_ALLOWED,1 #adaptive Vsync -#env = __NV_PRIME_RENDER_OFFLOAD,1 -#env = __VK_LAYER_NV_optimus,NVIDIA_only -#env = WLR_DRM_NO_ATOMIC,1 - -# FOR VM and POSSIBLY NVIDIA -# LIBGL_ALWAYS_SOFTWARE software mesa rendering -#env = LIBGL_ALWAYS_SOFTWARE,1 # Warning. May cause hyprland to crash -#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 - -#### Aquamarine Environment Variables #### ( Hyprland > 0.45 ) -# https://wiki.hyprland.org/Configuring/Environment-variables/#aquamarine-environment-variables----ref-httpsgithubcomhyprwmaquamarineblobmaindocsenvmd--- -# env = AQ_TRACE,1 # Enables more verbose logging. -# env = AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0 # Set an explicit list of DRM devices (GPUs) to use. It’s a colon-separated list of paths, with the first being the primary. E.g. /dev/dri/card1:/dev/dri/card0 -# env = AQ_MGPU_NO_EXPLICIT,1 # Disables explicit syncing on mgpu buffers -# env = AQ_NO_MODIFIERS,1 # Disables modifiers for DRM buffers - -#### Hyprland Environment Variables #### -# https://wiki.hyprland.org/Configuring/Environment-variables/#hyprland-environment-variables -# env = HYPRLAND_TRACE,1 # Enables more verbose logging. -# env = HYPRLAND_NO_RT,1 # Disables realtime priority setting by Hyprland. -# env = HYPRLAND_NO_SD_NOTIFY,1 # If systemd, disables the 'sd_notify' calls. -# env = HYPRLAND_NO_SD_VARS,1 # Disables management of variables in systemd and dbus activation environments. - -# Bitwarden SSH agent (so GUI apps like VS Code see it, not just shells) -env = SSH_AUTH_SOCK,/home/thomas/.bitwarden-ssh-agent.sock diff --git a/dotfiles/.config/hypr/UserConfigs/Keybinds.conf b/dotfiles/.config/hypr/UserConfigs/Keybinds.conf deleted file mode 100644 index a07f83b..0000000 --- a/dotfiles/.config/hypr/UserConfigs/Keybinds.conf +++ /dev/null @@ -1,209 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# This is where you put your own keybinds. Be Mindful to check as well ~/.config/hypr/configs/Keybinds.conf to avoid conflict -# if you think I should replace the Pre-defined Keybinds in ~/.config/hypr/configs/Keybinds.conf , submit an issue or let me know in DC and present me a valid reason as to why, such as conflicting with global shortcuts, etc etc - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more settings and variables -# See also Laptops.conf for laptops keybinds - -# /* ---- ✴️ Variables ✴️ ---- */ # -$mainMod = SUPER -$scriptsDir = $HOME/.config/hypr/scripts -$UserScripts = $HOME/.config/hypr/UserScripts - -# settings for User defaults apps - set your default terminal and file manager on this file -$edit=${EDITOR:-nvim} - -# These two are for UserKeybinds.conf & Waybar Modules -$term = foot # Terminal -$files = thunar # File Manager - -# Default Search Engine for ROFI Search (SUPER S) -$Search_Engine = "https://www.google.com/search?q={}" - -# common shortcuts -bind = $mainMod, SPACE, exec, .config/rofi/launchers/type-4/launcher.sh # desktop overview (if installed) -bind = $mainMod, Q, killactive, # close active (not kill) -bind = $mainMod SHIFT, Q, exec, $scriptsDir/KillActiveProcess.sh # Kill active process -bind = $mainMod, Return, exec, $term #terminal -bind = $mainMod, F, exec, $files #file manager -bind = $mainMod, B, exec, zen-browser # Launch Zen Browser New Everytime -bind = $mainMod, V, exec, $scriptsDir/ClipManager.sh # Clipboard Manager -bind = $mainMod, C, exec, code --ozone-platform=x11 # Visual Studio Code -bind = $mainMod, O, exec, obsidian --ozone-platform=x11 # Obsidian -bind = $mainMod, X, exec, vesktop # Vesktop(Discord) -bind = $mainMod, M, exec, fdm # Free Downlaod Manager -bind = $mainMod, W, exec, waypaper # Wayland Wallpaper Setter -bind = $mainMod, L, exec, hyprlock # Screen Locker -bind = $mainMod, DELETE, exec, ~/.config/rofi/powermenu/type-2/powermenu.sh # Power Menu -bind = $mainMod, S, exec, cd /home/thomas/hyprmod && uv run hyprmod # Hyprmod - A Hyprland settings manager (if installed) -bind = $mainMod SHIFT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofirrr -bind = $mainMod, N, exec, swaync-client -t -sw # swayNC notification panel - -# FEATURES / EXTRAS -bind = $mainMod SHIFT, F, fullscreen # whole full screen -bind = $mainMod SHIFT, SPACE, togglefloating, #Float Mode - - -# Desktop zooming or magnifier -bind = $mainMod ALT, mouse_down, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor * 2.0}')" -bind = $mainMod ALT, mouse_up, exec, hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor / 2.0}')" - -## NOTES for ja (Hyprland version 0.39 (Ubuntu 24.04)) -#bind = $mainMod ALT, mouse_down, exec, hyprctl keyword misc:cursor_zoom_factor "$(hyprctl getoption misc:cursor_zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor * 2.0}')" -#bind = $mainMod ALT, mouse_up, exec, hyprctl keyword misc:cursor_zoom_factor "$(hyprctl getoption misc:cursor_zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor / 2.0}')" - -# Waybar / Bar related -bind = $mainMod CTRL ALT, B, exec, pkill -SIGUSR1 waybar # Toggle hide/show waybar - -# FEATURES / EXTRAS (UserScripts) -bind = $mainMod SHIFT, A, exec, $scriptsDir/Animations.sh #hyprland animations menu -bind = $mainMod SHIFT, Z, exec, $UserScripts/ZshChangeTheme.sh # Change oh-my-zsh theme - -####################################################################################################################################### -#Default Keybinds# -####################################################################################################################################### - - -bind = CTRL ALT, Delete, exec, hyprctl dispatch exit 0 # exit Hyprland - -# Master Layout -bind = $mainMod CTRL, D, layoutmsg, removemaster -bind = $mainMod, I, layoutmsg, addmaster -bind = $mainMod, J, layoutmsg, cyclenext -bind = $mainMod, K, layoutmsg, cycleprev -bind = $mainMod CTRL, Return, layoutmsg, swapwithmaster - -# Dwindle Layout -bind = $mainMod, P, pseudo, # dwindle - -# Special Keys / Hot Keys -bindel = , xf86audioraisevolume, exec, $scriptsDir/Volume.sh --inc # volume up -bindel = , xf86audiolowervolume, exec, $scriptsDir/Volume.sh --dec # volume down -bindl = , xf86AudioMicMute, exec, $scriptsDir/Volume.sh --toggle-mic # mic mute -bindl = , xf86audiomute, exec, $scriptsDir/Volume.sh --toggle # mute -bindl = , xf86Sleep, exec, systemctl suspend # sleep button -bindl = , xf86Rfkill, exec, $scriptsDir/AirplaneMode.sh # Airplane mode - -# media controls using keyboards -bindl = , xf86AudioPlayPause, exec, $scriptsDir/MediaCtrl.sh --pause -bindl = , xf86AudioPause, exec, $scriptsDir/MediaCtrl.sh --pause -bindl = , xf86AudioPlay, exec, $scriptsDir/MediaCtrl.sh --pause -bindl = , xf86AudioNext, exec, $scriptsDir/MediaCtrl.sh --nxt -bindl = , xf86AudioPrev, exec, $scriptsDir/MediaCtrl.sh --prv -bindl = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop - -# Resize windows -binde = $mainMod SHIFT, left, resizeactive,-50 0 -binde = $mainMod SHIFT, right, resizeactive,50 0 -binde = $mainMod SHIFT, up, resizeactive,0 -50 -binde = $mainMod SHIFT, down, resizeactive,0 50 - -# Move windows -bind = $mainMod CTRL, left, movewindow, l -bind = $mainMod CTRL, right, movewindow, r -bind = $mainMod CTRL, up, movewindow, u -bind = $mainMod CTRL, down, movewindow, d - -# Swap windows -bind = $mainMod ALT, left, swapwindow, l -bind = $mainMod ALT, right, swapwindow, r -bind = $mainMod ALT, up, swapwindow, u -bind = $mainMod ALT, down, swapwindow, d - -# Move focus with mainMod + arrow keys -bind = $mainMod, left, movefocus, l -bind = $mainMod, right, movefocus, r -bind = $mainMod, up, movefocus, u -bind = $mainMod, down, movefocus, d - -# Workspaces related -bind = $mainMod, tab, workspace, m+1 -bind = $mainMod SHIFT, tab, workspace, m-1 - -# Special workspace -# bind = $mainMod SHIFT, U, movetoworkspace, special -# bind = $mainMod, U, togglespecialworkspace, -bind = $mainMod, U, togglespecialworkspace, nyx -bind = $mainMod SHIFT, U, movetoworkspace, special:nyx - - -# The following mappings use the key codes to better support various keyboard layouts -# 1 is code:10, 2 is code 11, etc -# Switch workspaces with mainMod + [0-9] -bind = $mainMod, code:10, workspace, 1 # NOTE: code:10 = key 1 -bind = $mainMod, code:11, workspace, 2 # NOTE: code:11 = key 2 -bind = $mainMod, code:12, workspace, 3 # NOTE: code:12 = key 3 -bind = $mainMod, code:13, workspace, 4 # NOTE: code:13 = key 4 -bind = $mainMod, code:14, workspace, 5 # NOTE: code:14 = key 5 -bind = $mainMod, code:15, workspace, 6 # NOTE: code:15 = key 6 -bind = $mainMod, code:16, workspace, 7 # NOTE: code:16 = key 7 -bind = $mainMod, code:17, workspace, 8 # NOTE: code:17 = key 8 -bind = $mainMod, code:18, workspace, 9 # NOTE: code:18 = key 9 -bind = $mainMod, code:19, workspace, 10 # NOTE: code:19 = key 0 - -# Move active window and follow to workspace mainMod + SHIFT [0-9] -bind = $mainMod SHIFT, code:10, movetoworkspace, 1 # NOTE: code:10 = key 1 -bind = $mainMod SHIFT, code:11, movetoworkspace, 2 # NOTE: code:11 = key 2 -bind = $mainMod SHIFT, code:12, movetoworkspace, 3 # NOTE: code:12 = key 3 -bind = $mainMod SHIFT, code:13, movetoworkspace, 4 # NOTE: code:13 = key 4 -bind = $mainMod SHIFT, code:14, movetoworkspace, 5 # NOTE: code:14 = key 5 -bind = $mainMod SHIFT, code:15, movetoworkspace, 6 # NOTE: code:15 = key 6 -bind = $mainMod SHIFT, code:16, movetoworkspace, 7 # NOTE: code:16 = key 7 -bind = $mainMod SHIFT, code:17, movetoworkspace, 8 # NOTE: code:17 = key 8 -bind = $mainMod SHIFT, code:18, movetoworkspace, 9 # NOTE: code:18 = key 9 -bind = $mainMod SHIFT, code:19, movetoworkspace, 10 # NOTE: code:19 = key 0 -bind = $mainMod SHIFT, bracketleft, movetoworkspace, -1 # brackets [ -bind = $mainMod SHIFT, bracketright, movetoworkspace, +1 # brackets ] - -# Move active window to a workspace silently mainMod + CTRL [0-9] -bind = $mainMod CTRL, code:10, movetoworkspacesilent, 1 # NOTE: code:10 = key 1 -bind = $mainMod CTRL, code:11, movetoworkspacesilent, 2 # NOTE: code:11 = key 2 -bind = $mainMod CTRL, code:12, movetoworkspacesilent, 3 # NOTE: code:12 = key 3 -bind = $mainMod CTRL, code:13, movetoworkspacesilent, 4 # NOTE: code:13 = key 4 -bind = $mainMod CTRL, code:14, movetoworkspacesilent, 5 # NOTE: code:14 = key 5 -bind = $mainMod CTRL, code:15, movetoworkspacesilent, 6 # NOTE: code:15 = key 6 -bind = $mainMod CTRL, code:16, movetoworkspacesilent, 7 # NOTE: code:16 = key 7 -bind = $mainMod CTRL, code:17, movetoworkspacesilent, 8 # NOTE: code:17 = key 8 -bind = $mainMod CTRL, code:18, movetoworkspacesilent, 9 # NOTE: code:18 = key 9 -bind = $mainMod CTRL, code:19, movetoworkspacesilent, 10 # NOTE: code:19 = key 0 -bind = $mainMod CTRL, bracketleft, movetoworkspacesilent, -1 # brackets [ -bind = $mainMod CTRL, bracketright, movetoworkspacesilent, +1 # brackets ] - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 -bind = $mainMod, period, workspace, e+1 -bind = $mainMod, comma, workspace, e-1 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow # NOTE: mouse:272 = left click -bindm = $mainMod, mouse:273, resizewindow # NOTE: mouse:272 = right click - -######################################################################################################### -# Laptop specific keybinds -######################################################################################################### - -# for disabling Touchpad. hyprctl devices to get device name. -$Touchpad_Device=asue1209:00-04f3:319f-touchpad - -binde = , xf86KbdBrightnessDown, exec, $scriptsDir/BrightnessKbd.sh --dec # decrease keyboard brightness -binde = , xf86KbdBrightnessUp, exec, $scriptsDir/BrightnessKbd.sh --inc # increase keyboard brightness -bind = , xf86Launch1, exec, rog-control-center # ASUS Armory crate button -bind = , xf86Launch3, exec, asusctl led-mode -n # FN+F4 Switch keyboard RGB profile -bind = , xf86Launch4, exec, asusctl profile -n # FN+F5 change of fan profiles (Quite, Balance, Performance) -binde = , xf86MonBrightnessDown, exec, $scriptsDir/Brightness.sh --dec # decrease monitor brightness -binde = , xf86MonBrightnessUp, exec, $scriptsDir/Brightness.sh --inc # increase monitor brightness -bind = , xf86TouchpadToggle, exec, $scriptsDir/TouchPad.sh # disable touchpad - -# Screenshot keybindings using F6 (no PrinSrc button) -#bind = $mainMod, F6, exec, $scriptsDir/ScreenShot.sh --now # screenshot -#bind = $mainMod SHIFT, F6, exec, $scriptsDir/ScreenShot.sh --area # screenshot (area) -#bind = $mainMod CTRL, F6, exec, $scriptsDir/ScreenShot.sh --in5 # # screenshot (5 secs delay) -#bind = $mainMod ALT, F6, exec, $scriptsDir/ScreenShot.sh --in10 # screenshot (10 secs delay) -#bind = ALT, F6, exec, $scriptsDir/ScreenShot.sh --active # screenshot (active window only) - -$TOUCHPAD_ENABLED = true -device { - name = $Touchpad_Device - enabled = $TOUCHPAD_ENABLED -} diff --git a/dotfiles/.config/hypr/UserConfigs/LaptopDisplay.conf b/dotfiles/.config/hypr/UserConfigs/LaptopDisplay.conf deleted file mode 100644 index 9f76658..0000000 --- a/dotfiles/.config/hypr/UserConfigs/LaptopDisplay.conf +++ /dev/null @@ -1,4 +0,0 @@ -# NOTE, THIS FILE IS BEING USED by disabling Laptop display monitor behaviour when closing lid. -# See notes on Laptops.conf - -#monitor = eDP-1, preferred, auto, 1 diff --git a/dotfiles/.config/hypr/UserConfigs/Laptops.conf b/dotfiles/.config/hypr/UserConfigs/Laptops.conf deleted file mode 100644 index d603417..0000000 --- a/dotfiles/.config/hypr/UserConfigs/Laptops.conf +++ /dev/null @@ -1,31 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# See https://wiki.hyprland.org/Configuring/Keywords/ for more variable settings -# These configs are mostly for laptops. This is addemdum to Keybinds.conf - -$mainMod = SUPER -$scriptsDir = $HOME/.config/hypr/scripts -$UserConfigs = $HOME/.config/hypr/UserConfigs - - -# Below are useful when you are connecting your laptop in external display -# Suggest you edit below for your laptop display -# From WIKI This is to disable laptop monitor when lid is closed. -# consult https://wiki.hyprland.org/hyprland-wiki/pages/Configuring/Binds/#switches -#bindl = , switch:off:Lid Switch,exec,hyprctl keyword monitor "eDP-1, preferred, auto, 1" -#bindl = , switch:on:Lid Switch,exec,hyprctl keyword monitor "eDP-1, disable" - - -# WARNING! Using this method has some caveats!! USE THIS PART WITH SOME CAUTION! -# CONS of doing this, is that you need to set up your wallpaper (SUPER W) and choose wallpaper. -# CAVEATS! Sometimes the Main Laptop Monitor DOES NOT have display that it needs to re-connect your external monitor -# One work around is to ensure that before shutting down laptop, MAKE SURE your laptop lid is OPEN!! -# Make sure to comment (put # on the both the bindl = , switch ......) above -# NOTE: Display for laptop are being generated into LaptopDisplay.conf -# This part is to be use if you do not want your main laptop monitor to wake up during say wallpaper change etc - -#bindl = , switch:off:Lid Switch,exec,echo "monitor = eDP-1, preferred, auto, 1" > $UserConfigs/LaptopDisplay.conf -#bindl = , switch:on:Lid Switch,exec,echo "monitor = eDP-1, disable" > $UserConfigs/LaptopDisplay.conf - -# for laptop-lid action (to erase the last entry) -#exec-once = echo "monitor = eDP-1, preferred, auto, 1" > $HOME/.config/hypr/UserConfigs/LaptopDisplay.conf -# diff --git a/dotfiles/.config/hypr/UserConfigs/Startup_Apps.conf b/dotfiles/.config/hypr/UserConfigs/Startup_Apps.conf deleted file mode 100644 index 4726ba3..0000000 --- a/dotfiles/.config/hypr/UserConfigs/Startup_Apps.conf +++ /dev/null @@ -1,43 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# Commands and Apps to be executed at launch - -$scriptsDir = $HOME/.config/hypr/scripts - -# wallpaper stuff -exec-once = awww-daemon --format xrgb -#exec-once = mpvpaper '*' -o "load-scripts=no no-audio --loop" $livewallpaper - -# Startup -exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP -exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP - -# Polkit (Polkit Gnome / KDE) -exec-once = $scriptsDir/Polkit.sh - -# starup apps -exec-once = nm-applet --indicator -exec-once = swaync -#exec-once = ags -#exec-once = blueman-applet -#exec-once = rog-control-center -exec-once = waybar -exec-once = qs # quickshell AGS Desktop Overview alternative - -#clipboard manager -exec-once = wl-paste --type text --watch cliphist store -exec-once = wl-paste --type image --watch cliphist store - -# Starting hypridle to start hyprlock -exec-once = hypridle - -exec-once = hyprctl dispatch workspace 3 -exec-once = /usr/bin/Plexamp.AppImage && -exec-once = sleep 3 && vesktop -exec-once = hyprctl dispatch workspace 1 -exec-once = bitwarden-desktop --ozone-platform-hint=auto --silent - -# Here are list of features available but disabled by default -# exec-once = awww-daemon --format xrgb && awww img $HOME/Pictures/wallpapers/mecha-nostalgia.png # persistent wallpaper - -# xdg-desktop-portal-hyprland (should be auto starting. However, you can force to start) -#exec-once = $scriptsDir/PortalHyprland.sh diff --git a/dotfiles/.config/hypr/UserConfigs/UserAnimations.conf b/dotfiles/.config/hypr/UserConfigs/UserAnimations.conf deleted file mode 100644 index c8e89e0..0000000 --- a/dotfiles/.config/hypr/UserConfigs/UserAnimations.conf +++ /dev/null @@ -1,26 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux - -animations { - enabled = yes - - 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 - 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, 6, wind, slide - animation = windowsIn, 1, 5, winIn, slide - animation = windowsOut, 1, 3, smoothOut, slide - animation = windowsMove, 1, 5, wind, slide - animation = border, 1, 1, liner - animation = borderangle, 1, 180, liner, loop #used by rainbow borders and rotating colors - animation = fade, 1, 3, smoothOut - animation = workspaces, 1, 5, overshot - - # animations for -git or version >0.42.0 - animation = workspacesIn, 1, 5, winIn, slide - animation = workspacesOut, 1, 5, winOut, slide -} \ No newline at end of file diff --git a/dotfiles/.config/hypr/UserConfigs/UserDecorations.conf b/dotfiles/.config/hypr/UserConfigs/UserDecorations.conf deleted file mode 100644 index b925a79..0000000 --- a/dotfiles/.config/hypr/UserConfigs/UserDecorations.conf +++ /dev/null @@ -1,58 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# Decoration Settings - -# Hyprland Wiki Links -# Animation - https://wiki.hyprland.org/Configuring/Animations/ -# Decoration - https://wiki.hyprland.org/Configuring/Variables/#decoration - -# HyprFlux static color palette -source = $HOME/.config/hypr/colours/hyprflux-colors.conf - -general { - border_size = 0 - gaps_in = 2 - gaps_out = 4 - - # col.active_border = $color12 - # col.inactive_border = $color10 -} - -decoration { - rounding = 10 - - active_opacity = 1.0 - inactive_opacity = 1.0 - fullscreen_opacity = 1.0 - - dim_inactive = true - dim_strength = 0.1 - dim_special = 0.8 - - shadow { - enabled = false - range = 3 - render_power = 1 - - color = $color12 - color_inactive = $color10 - } - - - blur { - enabled = true - size = 6 - passes = 2 - ignore_opacity = true - new_optimizations = true - special = true - popups = true - } -} - -group { - col.border_active = $color15 - - groupbar { - col.active = $color0 - } -} diff --git a/dotfiles/.config/hypr/UserConfigs/UserSettings.conf b/dotfiles/.config/hypr/UserConfigs/UserSettings.conf deleted file mode 100644 index cc314b0..0000000 --- a/dotfiles/.config/hypr/UserConfigs/UserSettings.conf +++ /dev/null @@ -1,116 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# User Settings -# This is where you put your own settings as this will not be touched during update -# if the upgrade.sh is used. - -# refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables/ - -# NOTE: some settings are in ~/.config/hypr/UserConfigs/UserDecorAnimations.conf - -dwindle { - preserve_split = true - #smart_split = true - special_scale_factor = 1 -} - -master { - new_status = master - new_on_top = 1 - mfact = 0.5 -} - -general { - resize_on_border = true - - layout = dwindle -} - -input { - kb_layout = gb - kb_variant = - kb_model = - kb_options = - kb_rules = - repeat_rate = 50 - repeat_delay = 300 - sensitivity = 0.6 #mouse sensitivity - #accel_profile = # flat or adaptive or blank or EMPTY means libinput’s default mode - numlock_by_default = true - left_handed = false - follow_mouse = 1 - float_switch_override_focus = false - - touchpad { - disable_while_typing = true - natural_scroll = true - clickfinger_behavior = false - middle_button_emulation = false - tap-to-click = true - drag_lock = false - } - - # below for devices with touchdevice ie. touchscreen - touchdevice { - enabled = true - } - - # below is for table see link above for proper variables - tablet { - transform = 0 - left_handed = 0 - } -} - -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 - #workspace_swipe_use_r = true #uncomment if wanted a forever create a new workspace with swipe right -} - -misc { - disable_hyprland_logo = true - disable_splash_rendering = true - vrr = 2 - mouse_move_enables_dpms = true - enable_swallow = off - swallow_regex = ^(kitty)$ - focus_on_activate = false - initial_workspace_tracking = 0 - middle_click_paste = false - enable_anr_dialog = true # Application not Responding (ANR) - anr_missed_pings = 15 # ANR Threshold default 1 is too low -} - -#opengl { -# nvidia_anti_flicker = true -#} - -binds { - workspace_back_and_forth = true - allow_workspace_cycles = true - pass_mouse_when_bound = false -} - -#Could help when scaling and not pixelating -xwayland { - enabled = true - force_zero_scaling = true -} - -render { - direct_scanout = 0 -} - -cursor { - sync_gsettings_theme = true - no_hardware_cursors = 2 # change to 1 if want to disable - enable_hyprcursor = true - warp_on_change_workspace = 2 - no_warps = true -} diff --git a/dotfiles/.config/hypr/UserConfigs/WindowRules-copy.conf b/dotfiles/.config/hypr/UserConfigs/WindowRules-copy.conf deleted file mode 100644 index cc58d0f..0000000 --- a/dotfiles/.config/hypr/UserConfigs/WindowRules-copy.conf +++ /dev/null @@ -1,744 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# For window rules and layerrules -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more - -# NOTES: This is only for Hyprland > 0.48 - -# note for ja: This should NOT be implemented on Debian and Ubuntu - -# windowrule - tags - add apps under appropriate tag to use the same settings -# browser tags -windowrule { - name = windowrule-1 - tag = +browser - match:class = ^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$ -} - -windowrule { - name = windowrule-2 - tag = +browser - match:class = ^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$ -} - -windowrule { - name = windowrule-3 - tag = +browser - match:class = ^(chrome-.+-Default)$ # Chrome PWAs -} - -# windowrule = tag +browser, class:^([Cc]hromium)$ -windowrule { - name = windowrule-4 - tag = +browser - match:class = ^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$ -} - -windowrule { - name = windowrule-5 - tag = +browser - match:class = ^(Brave-browser(-beta|-dev|-unstable)?)$ -} - -windowrule { - name = windowrule-6 - tag = +browser - match:class = ^([Tt]horium-browser|[Cc]achy-browser)$ -} - -windowrule { - name = windowrule-7 - tag = +browser - match:class = ^(zen-alpha|zen)$ -} - - -# notif tags -windowrule { - name = windowrule-8 - tag = +notif - match:class = ^(swaync-control-center|swaync-notification-window|swaync-client|class)$ -} - - -# HyprFlux settings tag -windowrule { - name = windowrule-9 - tag = +HyprFlux_Cheat - match:title = ^(HyprFlux Quick Cheat Sheet)$ -} - -windowrule { - name = windowrule-10 - tag = +HyprFlux_Settings - match:title = ^(HyprFlux Settings)$ -} - -windowrule { - name = windowrule-11 - tag = +HyprFlux-Settings - match:class = ^(nwg-displays|nwg-look)$ -} - - -# terminal tags -windowrule { - name = windowrule-12 - tag = +terminal - match:class = ^(Alacritty|kitty|kitty-dropterm)$ -} - - -# email tags -windowrule { - name = windowrule-13 - tag = +email - match:class = ^([Tt]hunderbird|org.gnome.Evolution)$ -} - -windowrule { - name = windowrule-14 - tag = +email - match:class = ^(eu.betterbird.Betterbird)$ -} - - -# project tags -windowrule { - name = windowrule-15 - tag = +projects - match:class = ^(codium|codium-url-handler|VSCodium)$ -} - -windowrule { - name = windowrule-16 - tag = +projects - match:class = ^(VSCode|code-url-handler)$ -} - -windowrule { - name = windowrule-17 - tag = +projects - match:class = ^(jetbrains-.+)$ # JetBrains IDEs -} - - -# screenshare tags -windowrule { - name = windowrule-18 - tag = +screenshare - match:class = ^(com.obsproject.Studio)$ -} - - -# IM tags -# windowrule = tag +im, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$ -windowrule { - name = windowrule-19 - tag = +im - center = on - float = on - size = (monitor_w*0.6) (monitor_h*0.7) - match:class = ^([Ff]erdium)$ -} - -windowrule { - name = windowrule-20 - tag = +im - match:class = ^([Ww]hatsapp-for-linux)$ -} - -windowrule { - name = windowrule-21 - tag = +im - match:class = ^(ZapZap|com.rtosta.zapzap)$ -} - -windowrule { - name = windowrule-22 - tag = +im - match:class = ^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$ -} - -windowrule { - name = windowrule-23 - tag = +im - match:class = ^(teams-for-linux)$ -} - -windowrule { - name = windowrule-24 - tag = +im - match:class = ^(im.riot.Riot|Element)$ # Element Matrix client -} - - -# game tags -windowrule { - name = windowrule-25 - tag = +games - match:class = ^(gamescope)$ -} - -windowrule { - name = windowrule-26 - tag = +games - match:class = ^(steam_app_\d+)$ -} - - -# gamestore tags -windowrule { - name = windowrule-27 - tag = +gamestore - match:class = ^([Ss]team)$ -} - -windowrule { - name = windowrule-28 - tag = +gamestore - match:title = ^([Ll]utris)$ -} - -windowrule { - name = windowrule-29 - tag = +gamestore - match:class = ^(com.heroicgameslauncher.hgl)$ -} - - -# file-manager tags -windowrule { - name = windowrule-30 - tag = +file-manager - match:class = ^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$ -} - -windowrule { - name = windowrule-31 - tag = +file-manager - match:class = ^(app.drey.Warp)$ -} - - -# wallpaper tags -windowrule { - name = windowrule-32 - tag = +wallpaper - match:class = ^([Ww]aytrogen)$ -} - - -# multimedia tags -windowrule { - name = windowrule-33 - tag = +multimedia - match:class = ^([Aa]udacious)$ -} - - -# multimedia-video tags -windowrule { - name = windowrule-34 - tag = +multimedia_video - match:class = ^([Mm]pv|vlc)$ -} - - -# settings tags -windowrule { - name = windowrule-35 - tag = +settings - center = on - match:title = ^(ROG Control)$ -} - -windowrule { - name = windowrule-36 - tag = +settings - match:class = ^(wihotspot(-gui)?)$ # wifi hotspot -} - -windowrule { - name = windowrule-37 - tag = +settings - match:class = ^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer -} - -windowrule { - name = windowrule-38 - tag = +settings - match:class = ^(gnome-disks|wihotspot(-gui)?)$ -} - -windowrule { - name = windowrule-39 - tag = +settings - match:title = (Kvantum Manager) -} - -windowrule { - name = windowrule-40 - tag = +settings - match:class = ^(file-roller|org.gnome.FileRoller)$ # archive manager -} - -windowrule { - name = windowrule-41 - tag = +settings - match:class = ^(nm-applet|nm-connection-editor|blueman-manager)$ -} - -windowrule { - name = windowrule-42 - tag = +settings - center = on - match:class = ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$ -} - -windowrule { - name = windowrule-43 - tag = +settings - match:class = ^(qt5ct|qt6ct|[Yy]ad)$ -} - -windowrule { - name = windowrule-44 - tag = +settings - match:class = (xdg-desktop-portal-gtk) -} - -windowrule { - name = windowrule-45 - tag = +settings - match:class = ^(org.kde.polkit-kde-authentication-agent-1)$ -} - -windowrule { - name = windowrule-46 - tag = +settings - match:class = ^([Rr]ofi)$ -} - - - -# Custom rule -windowrule { - name = windowrule-47 - tile = on - match:class = ^([Cc]hromium)$ -} - -windowrule { - name = windowrule-48 - size = (monitor_w*0.25) (monitor_h*0.55) - float = on - match:class = ^(com.network.manager)$ -} - -windowrule { - name = windowrule-49 - workspace = special:nyx - match:class = ^([Vv]esktop|[Dd]iscord|[Ss]potify)$ -} - - -# viewer tags -windowrule { - name = windowrule-50 - tag = +viewer - match:class = ^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor -} - -windowrule { - name = windowrule-51 - tag = +viewer - match:class = ^(evince)$ # document viewer -} - -windowrule { - name = windowrule-52 - tag = +viewer - match:class = ^(eog|org.gnome.Loupe)$ # image viewer -} - - -# Some special override rules -windowrule { - name = windowrule-53 - no_blur = on - opacity = 1.0 - match:tag = multimedia_video* -} - - - - -# POSITION -# windowrule = center,floating:1 # warning, it cause even the menu to float and center. -windowrule { - name = windowrule-54 - center = on - float = on - size = (monitor_w*0.65) (monitor_h*0.9) - match:tag = HyprFlux_Cheat* -} - -windowrule { - name = windowrule-55 - center = on - float = on - match:class = ([Tt]hunar) - match:title = negative:(.*[Tt]hunar.*) -} - -windowrule { - name = windowrule-56 - center = on - float = on - match:tag = HyprFlux-Settings* -} - -windowrule { - name = windowrule-57 - center = on - match:title = ^(Keybindings)$ -} - -windowrule { - name = windowrule-58 - center = on - size = (monitor_w*0.6) (monitor_h*0.7) - match:class = ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$ -} - -windowrule { - name = windowrule-59 - move = ((monitor_w*0.61)) ((monitor_h*0.07)) - float = on - size = (monitor_w*0.38) (monitor_h*0.38) - pin = on - keep_aspect_ratio = on - match:title = ^(Picture-in-Picture)$ -} - -#windowrule = move 72% 7%,title:^(Firefox)$ - -# windowrule to avoid idle for fullscreen apps -#windowrule = idleinhibit fullscreen, class:^(*)$ -#windowrule = idleinhibit fullscreen, title:^(*)$ -windowrule { - name = windowrule-60 - idle_inhibit = fullscreen - match:fullscreen = 1 -} - - -# windowrule move to workspace -windowrule { - name = windowrule-61 - workspace = 1 - match:tag = projects* -} - -windowrule { - name = windowrule-62 - workspace = 1 - match:tag = email* -} - -windowrule { - name = windowrule-63 - workspace = 2 - match:tag = browser* -} - -windowrule { - name = windowrule-64 - workspace = 3 - match:class = ^([Tt]hunar)$ -} - -windowrule { - name = windowrule-65 - workspace = 4 - match:tag = im* -} - -windowrule { - name = windowrule-66 - workspace = 5 - match:tag = gamestore* -} - -windowrule { - name = windowrule-67 - workspace = 8 - no_blur = on - fullscreen = on - match:tag = games* -} - -windowrule { - name = windowrule-68 - workspace = 1 - match:class = ^(kitty)$ - match:title = ^(tmuxifier)$ -} - -windowrule { - name = windowrule-69 - workspace = 9 - match:class = ^(virt-viewer)$ -} - -windowrule { - name = windowrule-70 - workspace = 10 - match:class = ^([Oo]bsidian)$ -} - - -# windowrule move to workspace (silent) -windowrule { - name = windowrule-71 - workspace = 4 silent - match:tag = screenshare* -} - -windowrule { - name = windowrule-72 - workspace = 9 silent - match:class = ^(virt-manager)$ -} - -windowrule { - name = windowrule-73 - workspace = 9 silent - match:class = ^(.virt-manager-wrapped)$ -} - -windowrule { - name = windowrule-74 - workspace = 9 silent - match:tag = multimedia* -} - - -# FLOAT -windowrule { - name = windowrule-75 - float = on - opacity = 0.9 0.7 - size = (monitor_w*0.7) (monitor_h*0.7) - match:tag = wallpaper* -} - -windowrule { - name = windowrule-76 - float = on - opacity = 0.8 0.7 - size = (monitor_w*0.7) (monitor_h*0.7) - match:tag = settings* -} - -windowrule { - name = windowrule-77 - float = on - match:tag = viewer* -} - -windowrule { - name = windowrule-78 - float = on - match:class = ([Zz]oom|onedriver|onedriver-launcher)$ -} - -windowrule { - name = windowrule-79 - float = on - match:class = (org.gnome.Calculator) - match:title = (Calculator) -} - -windowrule { - name = windowrule-80 - float = on - match:class = ^(mpv|com.github.rafostar.Clapper)$ -} - -windowrule { - name = windowrule-81 - float = on - match:class = ^([Qq]alculate-gtk)$ -} - -#windowrule = float, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$ -#windowrule = float, title:^(Firefox)$ -windowrule { - name = windowrule-82 - float = on - match:class = ^(fdm|freedownloadmanager)$ -} - -windowrule { - name = windowrule-83 - float = on - match:class = ^(proton-authenticator)$ -} - -windowrule { - name = windowrule-84 - float = on - match:class = ^([Ww]indscribe)$ -} - - - -# windowrule - ######### float popups and dialogue ####### -windowrule { - name = windowrule-85 - float = on - center = on - match:title = ^(Authentication Required)$ -} - -windowrule { - name = windowrule-86 - float = on - match:class = (codium|codium-url-handler|VSCodium) - match:title = negative:(.*codium.*|.*VSCodium.*) -} - -windowrule { - name = windowrule-87 - float = on - match:class = ^(com.heroicgameslauncher.hgl)$ - match:title = negative:(Heroic Games Launcher) -} - -windowrule { - name = windowrule-88 - float = on - match:class = ^([Ss]team)$ - match:title = negative:^([Ss]team)$ -} - - -windowrule { - name = windowrule-89 - float = on - size = (monitor_w*0.7) (monitor_h*0.6) - center = on - match:title = ^(Add Folder to Workspace)$ -} - - -windowrule { - name = windowrule-90 - float = on - size = (monitor_w*0.7) (monitor_h*0.6) - center = on - match:title = ^(Save As)$ -} - - -windowrule { - name = windowrule-91 - float = on - size = (monitor_w*0.7) (monitor_h*0.6) - match:initial_title = (Open Files) -} - - -windowrule { - name = windowrule-92 - float = on - center = on - size = (monitor_w*0.16) (monitor_h*0.12) - match:title = ^(SDDM Background)$ #HyprFlux YAD for setting SDDM background -} - -# END of float popups and dialogue ####### - -# OPACITY -# windowrule = opacity 0.9 0.7, tag:browser* -# windowrule = opacity 0.9 0.8, tag:projects* -# windowrule = opacity 0.94 0.86, tag:im* -# windowrule = opacity 0.94 0.86, tag:multimedia* -# windowrule = opacity 0.9 0.8, tag:file-manager* -windowrule { - name = windowrule-93 - opacity = 0.8 0.7 - match:tag = terminal* -} - -# windowrule = opacity 0.82 0.75, tag:viewer* -windowrule { - name = windowrule-94 - opacity = 0.8 0.7 - match:class = ^(gedit|org.gnome.TextEditor|mousepad)$ -} - -windowrule { - name = windowrule-95 - opacity = 0.9 0.8 - match:class = ^(deluge)$ -} - -windowrule { - name = windowrule-96 - opacity = 0.9 0.8 - match:class = ^(seahorse)$ # gnome-keyring gui -} - -# windowrule = opacity 0.95 0.75, title:^(Picture-in-Picture)$ - -# SIZE - -#windowrule = size 25% 25%, title:^(Firefox)$ - -# PINNING -#windowrule = pin,title:^(Firefox)$ - -# windowrule - extras - -# BLUR & FULLSCREEN - -#windowrule = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1 -#windowrule = bordercolor rgb(282737) rgb(1E1D2D), floating:1 -#windowrule = opacity 0.8 0.8, pinned:1 - - - -# LAYER RULES -layerrule { - name = layerrule-1 - blur = on - ignore_alpha = 0 - match:namespace = rofi -} - -layerrule { - name = layerrule-2 - blur = on - ignore_alpha = 0 - match:namespace = notifications -} - -layerrule { - name = layerrule-3 - blur = on - ignore_alpha = 0.5 - match:namespace = quickshell:overview -} - - -#layerrule = ignorealpha 0.5, tag:notif* - -#layerrule = ignorezero, class:^([Rr]ofi)$ -#layerrule = blur, class:^([Rr]ofi)$ -#layerrule = unset,class:^([Rr]ofi)$ -#layerrule = ignorezero, - -#layerrule = ignorezero, overview -#layerrule = blur, overview diff --git a/dotfiles/.config/hypr/UserConfigs/WindowRules.conf b/dotfiles/.config/hypr/UserConfigs/WindowRules.conf deleted file mode 100644 index 06db134..0000000 --- a/dotfiles/.config/hypr/UserConfigs/WindowRules.conf +++ /dev/null @@ -1,666 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# For window rules and layerrules -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more - -# NOTES: This is only for Hyprland > 0.48 - -# note for ja: This should NOT be implemented on Debian and Ubuntu - -# windowrule - tags - add apps under appropriate tag to use the same settings -# browser tags -windowrule { - name = windowrule-1 - tag = +browser - match:class = ^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$ -} - -windowrule { - name = rustdesk - tag = +rustdesk - match:class = ^(rustdesk)$, xwayland -} - -windowrule { - name = windowrule-2 - tag = +browser - match:class = ^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$ -} - -windowrule { - name = windowrule-3 - tag = +browser - match:class = ^(chrome-.+-Default)$ # Chrome PWAs -} - -# windowrule = tag +browser, class:^([Cc]hromium)$ -windowrule { - name = windowrule-4 - tag = +browser - match:class = ^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$ -} - -windowrule { - name = windowrule-5 - tag = +browser - match:class = ^(Brave-browser(-beta|-dev|-unstable)?)$ -} - -windowrule { - name = windowrule-6 - tag = +browser - match:class = ^([Tt]horium-browser|[Cc]achy-browser)$ -} - -windowrule { - name = windowrule-7 - tag = +browser - match:class = ^(zen-alpha|zen)$ -} - - -# notif tags -windowrule { - name = windowrule-8 - tag = +notif - match:class = ^(swaync-control-center|swaync-notification-window|swaync-client|class)$ -} - - -# HyprFlux settings tag -windowrule { - name = windowrule-9 - tag = +HyprFlux_Cheat - match:title = ^(HyprFlux Quick Cheat Sheet)$ -} - -windowrule { - name = windowrule-10 - tag = +HyprFlux_Settings - match:title = ^(HyprFlux Settings)$ -} - -windowrule { - name = windowrule-11 - tag = +HyprFlux-Settings - match:class = ^(nwg-displays|nwg-look)$ -} - - -# terminal tags -windowrule { - name = windowrule-12 - tag = +terminal - match:class = ^(Alacritty|kitty|kitty-dropterm)$ -} - - -# email tags -windowrule { - name = windowrule-13 - tag = +email - match:class = ^([Tt]hunderbird|org.gnome.Evolution)$ -} - -windowrule { - name = windowrule-14 - tag = +email - match:class = ^(eu.betterbird.Betterbird)$ -} - - -# project tags -windowrule { - name = windowrule-15 - tag = +projects - match:class = ^(codium|codium-url-handler|VSCodium)$ -} - -windowrule { - name = windowrule-16 - tag = +projects - match:class = ^(VSCode|code-url-handler)$ -} - -windowrule { - name = windowrule-17 - tag = +projects - match:class = ^(jetbrains-.+)$ # JetBrains IDEs -} - - -# screenshare tags -windowrule { - name = windowrule-18 - tag = +screenshare - match:class = ^(com.obsproject.Studio)$ -} - - -# IM tags -# windowrule = tag +im, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$ -windowrule { - name = windowrule-19 - tag = +im - center = on - float = on - size = (monitor_w*0.6) (monitor_h*0.7) - match:class = ^([Ff]erdium)$ -} - -windowrule { - name = windowrule-20 - tag = +im - match:class = ^([Ww]hatsapp-for-linux)$ -} - -windowrule { - name = windowrule-21 - tag = +im - match:class = ^(ZapZap|com.rtosta.zapzap)$ -} - -windowrule { - name = windowrule-22 - tag = +im - match:class = ^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$ -} - -windowrule { - name = windowrule-23 - tag = +im - match:class = ^(teams-for-linux)$ -} - -windowrule { - name = windowrule-24 - tag = +im - match:class = ^(im.riot.Riot|Element)$ # Element Matrix client -} - - -# game tags -windowrule { - name = windowrule-25 - tag = +games - match:class = ^(gamescope)$ -} - -windowrule { - name = windowrule-26 - tag = +games - match:class = ^(steam_app_\d+)$ -} - - -# gamestore tags -windowrule { - name = windowrule-27 - tag = +gamestore - match:class = ^([Ss]team)$ -} - -windowrule { - name = windowrule-28 - tag = +gamestore - match:title = ^([Ll]utris)$ -} - -windowrule { - name = windowrule-29 - tag = +gamestore - match:class = ^(com.heroicgameslauncher.hgl)$ -} - - -# file-manager tags -windowrule { - name = windowrule-30 - tag = +file-manager - match:class = ^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$ -} - -windowrule { - name = windowrule-31 - tag = +file-manager - match:class = ^(app.drey.Warp)$ -} - - -# wallpaper tags -windowrule { - name = windowrule-32 - tag = +wallpaper - match:class = ^([Ww]aytrogen)$ -} - - -# multimedia tags -windowrule { - name = windowrule-33 - tag = +multimedia - match:class = ^([Aa]udacious)$ -} - - -# multimedia-video tags -windowrule { - name = windowrule-34 - tag = +multimedia_video - match:class = ^([Mm]pv|vlc)$ -} - - -# settings tags -windowrule { - name = windowrule-35 - tag = +settings - center = on - match:title = ^(ROG Control)$ -} - -windowrule { - name = windowrule-36 - tag = +settings - match:class = ^(wihotspot(-gui)?)$ # wifi hotspot -} - -windowrule { - name = windowrule-37 - tag = +settings - match:class = ^([Bb]aobab|org.gnome.[Bb]aobab)$ # Disk usage analyzer -} - -windowrule { - name = windowrule-38 - tag = +settings - match:class = ^(gnome-disks|wihotspot(-gui)?)$ -} - -windowrule { - name = windowrule-39 - tag = +settings - match:title = (Kvantum Manager) -} - -windowrule { - name = windowrule-40 - tag = +settings - match:class = ^(file-roller|org.gnome.FileRoller)$ # archive manager -} - -windowrule { - name = windowrule-41 - tag = +settings - match:class = ^(nm-applet|nm-connection-editor|blueman-manager)$ -} - -windowrule { - name = windowrule-42 - tag = +settings - center = on - match:class = ^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$ -} - -windowrule { - name = windowrule-43 - tag = +settings - match:class = ^(qt5ct|qt6ct|[Yy]ad)$ -} - -windowrule { - name = windowrule-44 - tag = +settings - match:class = (xdg-desktop-portal-gtk) -} - -windowrule { - name = windowrule-45 - tag = +settings - match:class = ^(org.kde.polkit-kde-authentication-agent-1)$ -} - -windowrule { - name = windowrule-46 - tag = +settings - match:class = ^([Rr]ofi)$ -} - -# Custom rule -windowrule { - name = windowrule-47 - tile = on - match:class = ^([Cc]hromium)$ -} - -windowrule { - name = windowrule-48 - size = (monitor_w*0.25) (monitor_h*0.55) - float = on - match:class = ^(com.network.manager)$ -} - -windowrule { - name = windowrule-49 - workspace = special:nyx - match:class = ^([Vv]esktop|[Dd]iscord|[Ss]potify)$ -} - -windowrule { - name = windowrule-255 - size = (monitor_w*0.75) (monitor_h*0.80) - float = on - match:class = ^([Bb]itwarden)$ -} - -# viewer tags -windowrule { - name = windowrule-50 - tag = +viewer - match:class = ^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$ # system monitor -} - -windowrule { - name = windowrule-51 - tag = +viewer - match:class = ^(evince)$ # document viewer -} - -windowrule { - name = windowrule-52 - tag = +viewer - match:class = ^(eog|org.gnome.Loupe)$ # image viewer -} - - -# Some special override rules -windowrule { - name = windowrule-53 - no_blur = on - opacity = 1.0 - match:tag = multimedia_video* -} - - - - -# POSITION -# windowrule = center,floating:1 # warning, it cause even the menu to float and center. -windowrule { - name = windowrule-54 - center = on - float = on - size = (monitor_w*0.65) (monitor_h*0.9) - match:tag = HyprFlux_Cheat* -} - -windowrule { - name = windowrule-55 - center = on - float = on - match:class = ([Tt]hunar) - match:title = negative:(.*[Tt]hunar.*) -} - -windowrule { - name = windowrule-56 - center = on - float = on - match:tag = HyprFlux-Settings* -} - -windowrule { - name = windowrule-57 - center = on - match:title = ^(Keybindings)$ -} - -windowrule { - name = windowrule-58 - center = on - size = (monitor_w*0.6) (monitor_h*0.7) - match:class = ^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$ -} - -windowrule { - name = windowrule-59 - move = ((monitor_w*0.61)) ((monitor_h*0.07)) - float = on - size = (monitor_w*0.38) (monitor_h*0.38) - pin = on - keep_aspect_ratio = on - match:title = ^(Picture-in-Picture)$ -} - -#windowrule = move 72% 7%,title:^(Firefox)$ - -# windowrule to avoid idle for fullscreen apps -#windowrule = idleinhibit fullscreen, class:^(*)$ -#windowrule = idleinhibit fullscreen, title:^(*)$ -windowrule { - name = windowrule-60 - idle_inhibit = fullscreen - match:fullscreen = 1 -} - -# Discord to workspace 3 -windowrule = match:class ^([Vv]esktop|[Dd]iscord|[Ss]potify|[Pp]lexamp)$, workspace 3 -windowrule = match:class ^([Pp]lexamp), size 20% 20% - -# FLOAT -windowrule { - name = windowrule-75 - float = on - opacity = 0.9 0.7 - size = (monitor_w*0.7) (monitor_h*0.7) - match:tag = wallpaper* -} - -windowrule { - name = windowrule-76 - float = on - opacity = 0.8 0.7 - size = (monitor_w*0.7) (monitor_h*0.7) - match:tag = settings* -} - -windowrule { - name = windowrule-77 - float = on - match:tag = viewer* -} - -windowrule { - name = windowrule-78 - float = on - match:class = ([Zz]oom|onedriver|onedriver-launcher)$ -} - -windowrule { - name = windowrule-79 - float = on - match:class = (org.gnome.Calculator) - match:title = (Calculator) -} - -windowrule { - name = windowrule-80 - float = on - match:class = ^(mpv|com.github.rafostar.Clapper)$ -} - -windowrule { - name = windowrule-81 - float = on - match:class = ^([Qq]alculate-gtk)$ -} - -#windowrule = float, class:^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$ -#windowrule = float, title:^(Firefox)$ -windowrule { - name = windowrule-82 - float = on - match:class = ^(fdm|freedownloadmanager)$ -} - -windowrule { - name = windowrule-83 - float = on - match:class = ^(proton-authenticator)$ -} - -windowrule { - name = windowrule-84 - float = on - match:class = ^([Ww]indscribe)$ -} - - - -# windowrule - ######### float popups and dialogue ####### -windowrule { - name = windowrule-85 - float = on - center = on - match:title = ^(Authentication Required)$ -} - -windowrule { - name = windowrule-86 - float = on - match:class = (codium|codium-url-handler|VSCodium) - match:title = negative:(.*codium.*|.*VSCodium.*) -} - -windowrule { - name = windowrule-87 - float = on - match:class = ^(com.heroicgameslauncher.hgl)$ - match:title = negative:(Heroic Games Launcher) -} - -windowrule { - name = windowrule-88 - float = on - match:class = ^([Ss]team)$ - match:title = negative:^([Ss]team)$ -} - - -windowrule { - name = windowrule-89 - float = on - size = (monitor_w*0.7) (monitor_h*0.6) - center = on - match:title = ^(Add Folder to Workspace)$ -} - - -windowrule { - name = windowrule-90 - float = on - size = (monitor_w*0.7) (monitor_h*0.6) - center = on - match:title = ^(Save As)$ -} - - -windowrule { - name = windowrule-91 - float = on - size = (monitor_w*0.7) (monitor_h*0.6) - match:initial_title = (Open Files) -} - - -windowrule { - name = windowrule-92 - float = on - center = on - size = (monitor_w*0.16) (monitor_h*0.12) - match:title = ^(SDDM Background)$ #HyprFlux YAD for setting SDDM background -} - -# END of float popups and dialogue ####### - -# OPACITY -# windowrule = opacity 0.9 0.7, tag:browser* -# windowrule = opacity 0.9 0.8, tag:projects* -# windowrule = opacity 0.94 0.86, tag:im* -# windowrule = opacity 0.94 0.86, tag:multimedia* -# windowrule = opacity 0.9 0.8, tag:file-manager* -windowrule { - name = windowrule-93 - opacity = 0.8 0.7 - match:tag = terminal* -} - -# windowrule = opacity 0.82 0.75, tag:viewer* -windowrule { - name = windowrule-94 - opacity = 0.8 0.7 - match:class = ^(gedit|org.gnome.TextEditor|mousepad)$ -} - -windowrule { - name = windowrule-95 - opacity = 0.9 0.8 - match:class = ^(deluge)$ -} - -windowrule { - name = windowrule-96 - opacity = 0.9 0.8 - match:class = ^(seahorse)$ # gnome-keyring gui -} - -# windowrule = opacity 0.95 0.75, title:^(Picture-in-Picture)$ - -# SIZE - -#windowrule = size 25% 25%, title:^(Firefox)$ - -# PINNING -#windowrule = pin,title:^(Firefox)$ - -# windowrule - extras - -# BLUR & FULLSCREEN - -#windowrule = bordercolor rgb(EE4B55) rgb(880808), fullscreen:1 -#windowrule = bordercolor rgb(282737) rgb(1E1D2D), floating:1 -#windowrule = opacity 0.8 0.8, pinned:1 - - - -# LAYER RULES -layerrule { - name = layerrule-1 - blur = on - ignore_alpha = 0 - match:namespace = rofi -} - -layerrule { - name = layerrule-2 - blur = on - ignore_alpha = 0 - match:namespace = notifications -} - -layerrule { - name = layerrule-3 - blur = on - ignore_alpha = 0.5 - match:namespace = quickshell:overview -} - - -#layerrule = ignorealpha 0.5, tag:notif* - -#layerrule = ignorezero, class:^([Rr]ofi)$ -#layerrule = blur, class:^([Rr]ofi)$ -#layerrule = unset,class:^([Rr]ofi)$ -#layerrule = ignorezero, - -#layerrule = ignorezero, overview -#layerrule = blur, overview diff --git a/dotfiles/.config/hypr/UserConfigs/monitors.conf b/dotfiles/.config/hypr/UserConfigs/monitors.conf deleted file mode 100644 index 9d60854..0000000 --- a/dotfiles/.config/hypr/UserConfigs/monitors.conf +++ /dev/null @@ -1,12 +0,0 @@ -# Generated with hyprdynamicmonitors freeze. -# This is a template that you can edit, it is just a starter that pulled your current monitor setup, -# adjust as needed. -# You can use templates here etc, see https://github.com/fiffeek/hyprdynamicmonitors/blob/main/examples/basic/hyprconfigs/template.go.tmpl. -# Monitors are given arbitrary tags (the "monitor" prefix and the ID coming from hyprland). -# If you are using tui to edit, leave this at the end of your file (the last monitor config applies) -# and leave the markers. -# <<<<< TUI AUTO START -monitor=desc:LG Electronics LG ULTRAWIDE 0x0002E68A,2560x1080@60.00000,1920x-740,1.00000000,transform,3,vrr,0 -monitor=desc:HP Inc. HP 524pf VNG447017D,1920x1080@100.00000,-1920x0,1.00000000,transform,0,vrr,0 -monitor=desc:Acer Technologies VG240Y S 0x126191DE,1920x1080@165.00301,0x0,1.00000000,transform,0,vrr,0,bitdepth,10,cm,wide -# <<<<< TUI AUTO END diff --git a/dotfiles/.config/hypr/UserConfigs/workspaces.conf b/dotfiles/.config/hypr/UserConfigs/workspaces.conf deleted file mode 100644 index 1c7f747..0000000 --- a/dotfiles/.config/hypr/UserConfigs/workspaces.conf +++ /dev/null @@ -1,30 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# NOTE: This will be overwritten by NWG-Displays -# once you use and click apply. -# -# *********************************************************** # - -# You can set workspace rules to achieve workspace-specific behaviors. -# For instance, you can define a workspace where all windows are drawn without borders or gaps. - -# https://wiki.hyprland.org/Configuring/Workspace-Rules/ - -# Assigning workspace to a certain monitor. Below are just examples -workspace = 1, monitor:DP-2, default=true -workspace = 2, monitor:DP-1, default=true -workspace = 3, monitor:HDMI-A-1, default=true -# 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 wiki) -# 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/dotfiles/.config/hypr/UserScripts/00-Readme b/dotfiles/.config/hypr/UserScripts/00-Readme index 9a9faed..e9e7a04 100755 --- a/dotfiles/.config/hypr/UserScripts/00-Readme +++ b/dotfiles/.config/hypr/UserScripts/00-Readme @@ -1,3 +1,3 @@ # Place your new scripts here. # If you need to edit a script from main script (~/.config/hypr/scripts), copy it on this directory, and edit. -# Make sure to update as well the keybinds in ~/.config/hypr/UserConfigs directory if any script is linked to it +# Make sure to update as well the keybinds in ~/.config/hypr/input/keybinds.lua if any script is linked to it diff --git a/dotfiles/.config/hypr/animations/00-default.conf b/dotfiles/.config/hypr/animations/00-default.conf deleted file mode 100644 index 1bb8d42..0000000 --- a/dotfiles/.config/hypr/animations/00-default.conf +++ /dev/null @@ -1,25 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -animations { - enabled = yes - - 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 - 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, 6, wind, slide - animation = windowsIn, 1, 5, winIn, slide - animation = windowsOut, 1, 3, smoothOut, slide - animation = windowsMove, 1, 5, wind, slide - animation = border, 1, 1, liner - animation = borderangle, 1, 180, liner, loop #used by rainbow borders and rotating colors - animation = fade, 1, 3, smoothOut - animation = workspaces, 1, 5, overshot - - # animations for -git or version >0.42.0 - animation = workspacesIn, 1, 5, winIn, slide - animation = workspacesOut, 1, 5, winOut, slide -} \ No newline at end of file diff --git a/dotfiles/.config/hypr/animations/01-default - v2.conf b/dotfiles/.config/hypr/animations/01-default - v2.conf deleted file mode 100644 index 4f2585f..0000000 --- a/dotfiles/.config/hypr/animations/01-default - v2.conf +++ /dev/null @@ -1,26 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# old animations - -animations { - enabled = yes - - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - bezier = linear, 0.0, 0.0, 1.0, 1.0 - 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 = slow, 0, 0.85, 0.3, 1 - bezier = overshot, 0.7, 0.6, 0.1, 1.1 - bezier = bounce, 1.1, 1.6, 0.1, 0.85 - bezier = sligshot, 1, -1, 0.15, 1.25 - bezier = nice, 0, 6.9, 0.5, -4.20 - - animation = windowsIn, 1, 5, slow, popin - animation = windowsOut, 1, 5, winOut, popin - animation = windowsMove, 1, 5, wind, slide - animation = border, 1, 10, linear - animation = borderangle, 1, 180, linear, loop #used by rainbow borders and rotating colors - animation = fade, 1, 5, overshot - animation = workspaces, 1, 5, wind - animation = windows, 1, 5, bounce, popin -} \ No newline at end of file diff --git a/dotfiles/.config/hypr/animations/03- Disable Animation.conf b/dotfiles/.config/hypr/animations/03- Disable Animation.conf deleted file mode 100644 index 4958cce..0000000 --- a/dotfiles/.config/hypr/animations/03- Disable Animation.conf +++ /dev/null @@ -1,4 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -animations { - enabled = no -} \ No newline at end of file diff --git a/dotfiles/.config/hypr/animations/END-4.conf b/dotfiles/.config/hypr/animations/END-4.conf deleted file mode 100644 index c38939f..0000000 --- a/dotfiles/.config/hypr/animations/END-4.conf +++ /dev/null @@ -1,39 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# 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/dotfiles/.config/hypr/animations/HYDE - Vertical.conf b/dotfiles/.config/hypr/animations/HYDE - Vertical.conf deleted file mode 100644 index 151f161..0000000 --- a/dotfiles/.config/hypr/animations/HYDE - Vertical.conf +++ /dev/null @@ -1,33 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# name "Vertical" -# credit https://github.com/prasanthrangan/hyprdots - -animations { - enabled = yes - - bezier = fluent_decel, 0, 0.2, 0.4, 1 - bezier = easeOutCirc, 0, 0.55, 0.45, 1 - bezier = easeOutCubic, 0.33, 1, 0.68, 1 - bezier = easeinoutsine, 0.37, 0, 0.63, 1 - - # Windows - animation = windowsIn, 1, 1.5, easeinoutsine, popin 60% # window open - animation = windowsOut, 1, 1.5, easeOutCubic, popin 60% # window close. - animation = windowsMove, 1, 1.5, easeinoutsine, slide # everything in between, moving, dragging, resizing. - - # Fading - animation = fade, 1, 2.5, fluent_decel - - animation = fadeLayersIn, 0 - animation = border, 0 - - - # Layers - animation = layers, 1, 1.5, easeinoutsine, popin - - # Workspaces - #animation = workspaces, 1, 3, fluent_decel, slidefade 30% # styles: slide, slidevert, fade, slidefade, slidefadevert - animation = workspaces, 1, 3, fluent_decel, slidefadevert 30% # styles: slide, slidevert, fade, slidefade, slidefadevert - - animation = specialWorkspace, 1, 2, fluent_decel, slidefade 10% -} diff --git a/dotfiles/.config/hypr/animations/HYDE - default.conf b/dotfiles/.config/hypr/animations/HYDE - default.conf deleted file mode 100644 index ba20714..0000000 --- a/dotfiles/.config/hypr/animations/HYDE - default.conf +++ /dev/null @@ -1,20 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# name "Default" -# credit https://github.com/prasanthrangan/hyprdots - -animations { - enabled = yes - 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, once - animation = fade, 1, 10, default - animation = workspaces, 1, 5, wind - animation = specialWorkspace, 1, 5, wind, slidevert -} diff --git a/dotfiles/.config/hypr/animations/HYDE - minimal-1.conf b/dotfiles/.config/hypr/animations/HYDE - minimal-1.conf deleted file mode 100644 index d701f23..0000000 --- a/dotfiles/.config/hypr/animations/HYDE - minimal-1.conf +++ /dev/null @@ -1,26 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# name "Minimal-1" -# credit https://github.com/prasanthrangan/hyprdots- - -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, once - animation = fade, 1, 10, default - animation = workspaces, 1, 5, wind -} diff --git a/dotfiles/.config/hypr/animations/HYDE - minimal-2.conf b/dotfiles/.config/hypr/animations/HYDE - minimal-2.conf deleted file mode 100644 index b8fa273..0000000 --- a/dotfiles/.config/hypr/animations/HYDE - minimal-2.conf +++ /dev/null @@ -1,15 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# name "Minimal-2" -# credit https://github.com/prasanthrangan/hyprdots - -animations { - enabled = yes - - bezier = quart, 0.25, 1, 0.5, 1 - - animation = windows, 1, 6, quart, slide - animation = border, 1, 6, quart - animation = borderangle, 1, 6, quart - animation = fade, 1, 6, quart - animation = workspaces, 1, 6, quart -} \ No newline at end of file diff --git a/dotfiles/.config/hypr/animations/HYDE - optimized.conf b/dotfiles/.config/hypr/animations/HYDE - optimized.conf deleted file mode 100644 index 8d6f61c..0000000 --- a/dotfiles/.config/hypr/animations/HYDE - optimized.conf +++ /dev/null @@ -1,40 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# name "Optimized" -# credit https://github.com/prasanthrangan/hyprdots - -animations { - enabled = true - bezier = wind, 0.05, 0.85, 0.03, 0.97 - bezier = winIn, 0.07, 0.88, 0.04, 0.99 - bezier = winOut, 0.20, -0.15, 0, 1 - bezier = liner, 1, 1, 1, 1 - bezier = md3_standard, 0.12, 0, 0, 1 - bezier = md3_decel, 0.05, 0.80, 0.10, 0.97 - bezier = md3_accel, 0.20, 0, 0.80, 0.08 - bezier = overshot, 0.05, 0.85, 0.07, 1.04 - bezier = crazyshot, 0.1, 1.22, 0.68, 0.98 - bezier = hyprnostretch, 0.05, 0.82, 0.03, 0.94 - bezier = menu_decel, 0.05, 0.82, 0, 1 - bezier = menu_accel, 0.20, 0, 0.82, 0.10 - bezier = easeInOutCirc, 0.75, 0, 0.15, 1 - bezier = easeOutCirc, 0, 0.48, 0.38, 1 - bezier = easeOutExpo, 0.10, 0.94, 0.23, 0.98 - bezier = softAcDecel, 0.20, 0.20, 0.15, 1 - bezier = md2, 0.30, 0, 0.15, 1 - - bezier = OutBack, 0.28, 1.40, 0.58, 1 - bezier = easeInOutCirc, 0.78, 0, 0.15, 1 - - animation = border, 1, 1.6, liner - animation = borderangle, 1, 82, liner, once - animation = windowsIn, 1, 3.2, winIn, slide - animation = windowsOut, 1, 2.8, easeOutCirc - animation = windowsMove, 1, 3.0, wind, slide - animation = fade, 1, 1.8, md3_decel - animation = layersIn, 1, 1.8, menu_decel, slide - animation = layersOut, 1, 1.5, menu_accel - animation = fadeLayersIn, 1, 1.6, menu_decel - animation = fadeLayersOut, 1, 1.8, menu_accel - animation = workspaces, 1, 4.0, menu_decel, slide - animation = specialWorkspace, 1, 2.3, md3_decel, slidefadevert 15% -} diff --git a/dotfiles/.config/hypr/animations/ML4W - classic.conf b/dotfiles/.config/hypr/animations/ML4W - classic.conf deleted file mode 100644 index e693197..0000000 --- a/dotfiles/.config/hypr/animations/ML4W - classic.conf +++ /dev/null @@ -1,14 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# name "Classic" -# credit https://github.com/mylinuxforwork/dotfiles - -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/dotfiles/.config/hypr/animations/ML4W - dynamic.conf b/dotfiles/.config/hypr/animations/ML4W - dynamic.conf deleted file mode 100644 index 0fdbbe5..0000000 --- a/dotfiles/.config/hypr/animations/ML4W - dynamic.conf +++ /dev/null @@ -1,19 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# name "Dynamic" -# credit https://github.com/mylinuxforwork/dotfiles - -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/dotfiles/.config/hypr/animations/ML4W - fast.conf b/dotfiles/.config/hypr/animations/ML4W - fast.conf deleted file mode 100644 index 7dc1824..0000000 --- a/dotfiles/.config/hypr/animations/ML4W - fast.conf +++ /dev/null @@ -1,23 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# name "Fast" -# credit https://github.com/mylinuxforwork/dotfiles - -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 -} \ No newline at end of file diff --git a/dotfiles/.config/hypr/animations/ML4W - high.conf b/dotfiles/.config/hypr/animations/ML4W - high.conf deleted file mode 100644 index e94d627..0000000 --- a/dotfiles/.config/hypr/animations/ML4W - high.conf +++ /dev/null @@ -1,19 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# name "High" -# credit https://github.com/mylinuxforwork/dotfiles - -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, once - animation = fade, 1, 10, default - animation = workspaces, 1, 5, wind -} diff --git a/dotfiles/.config/hypr/animations/ML4W - moving.conf b/dotfiles/.config/hypr/animations/ML4W - moving.conf deleted file mode 100644 index 70a8dcd..0000000 --- a/dotfiles/.config/hypr/animations/ML4W - moving.conf +++ /dev/null @@ -1,19 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# name "Moving" -# credit https://github.com/mylinuxforwork/dotfiles - - -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/dotfiles/.config/hypr/animations/ML4W - standard.conf b/dotfiles/.config/hypr/animations/ML4W - standard.conf deleted file mode 100644 index bedbb3d..0000000 --- a/dotfiles/.config/hypr/animations/ML4W - standard.conf +++ /dev/null @@ -1,14 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# name "Standard" -# credit https://github.com/mylinuxforwork/dotfiles - -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/dotfiles/.config/hypr/animations/Mahaveer - me-1.conf b/dotfiles/.config/hypr/animations/Mahaveer - me-1.conf deleted file mode 100644 index 34dd4a5..0000000 --- a/dotfiles/.config/hypr/animations/Mahaveer - me-1.conf +++ /dev/null @@ -1,54 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# name "Me-1" -# credit https://github.com/mahaveergurjar - -animations { - enabled = true - # Animation curves - 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 - # 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 = windows, 1, 6, wind, slide - animation = border, 1, 1, liner - animation = borderangle, 1, 30, liner, once - 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, 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, 5, wind - # 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/dotfiles/.config/hypr/animations/Mahaveer - me-2.conf b/dotfiles/.config/hypr/animations/Mahaveer - me-2.conf deleted file mode 100644 index cdb5c50..0000000 --- a/dotfiles/.config/hypr/animations/Mahaveer - me-2.conf +++ /dev/null @@ -1,29 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# name "Me-2" -# credit https://github.com/mahaveergurjar - - -animations { - enabled = yes - - 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 - 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, 6, wind, slide - animation = windowsIn, 1, 5, winIn, slide - animation = windowsOut, 1, 3, smoothOut, slide - animation = windowsMove, 1, 5, wind, slide - animation = border, 1, 1, liner - animation = borderangle, 1, 180, liner, loop #used by rainbow borders and rotating colors - animation = fade, 1, 3, smoothOut - animation = workspaces, 1, 5, overshot - - # animations for -git or version >0.42.0 - animation = workspacesIn, 1, 5, winIn, slide - animation = workspacesOut, 1, 5, winOut, slide -} \ No newline at end of file diff --git a/dotfiles/.config/hypr/appearance/animations.lua b/dotfiles/.config/hypr/appearance/animations.lua index e402fb2..1082dea 100644 --- a/dotfiles/.config/hypr/appearance/animations.lua +++ b/dotfiles/.config/hypr/appearance/animations.lua @@ -1,34 +1,6 @@ --- HyprFlux β€” https://github.com/ahmad9059/HyprFlux --- Ported from UserConfigs/UserAnimations.conf (the active preset) --- --- The 14 alternative presets from animations/*.conf were also ported, flat, as --- anim-*.lua (see the plan) β€” none of them are wired in. They now live in ../presets/. --- To switch styles, replace the body of this file with `require("presets.anim-")`, --- e.g. require("presets.anim-ml4w-classic"). +-- Active animation preset. +-- The presets live in ../presets/anim-*.lua. Super+Shift+A (scripts/Animations.sh) +-- picks one and rewrites the require() line below; edit it by hand to switch too, +-- e.g. require("presets.anim-ml4w-classic"). Keep it to this single line. -hl.config({ - animations = { - enabled = true, - }, -}) - -hl.curve("wind", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.05 } } }) -hl.curve("winIn", { type = "bezier", points = { { 0.1, 1.1 }, { 0.1, 1.1 } } }) -hl.curve("winOut", { type = "bezier", points = { { 0.3, -0.3 }, { 0, 1 } } }) -hl.curve("liner", { type = "bezier", points = { { 1, 1 }, { 1, 1 } } }) -hl.curve("overshot", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.05 } } }) -hl.curve("smoothOut", { type = "bezier", points = { { 0.5, 0 }, { 0.99, 0.99 } } }) -hl.curve("smoothIn", { type = "bezier", points = { { 0.5, -0.5 }, { 0.68, 1.5 } } }) - -hl.animation({ leaf = "windows", enabled = true, speed = 6, bezier = "wind", style = "slide" }) -hl.animation({ leaf = "windowsIn", enabled = true, speed = 5, bezier = "winIn", style = "slide" }) -hl.animation({ leaf = "windowsOut", enabled = true, speed = 3, bezier = "smoothOut", style = "slide" }) -hl.animation({ leaf = "windowsMove", enabled = true, speed = 5, bezier = "wind", style = "slide" }) -hl.animation({ leaf = "border", enabled = true, speed = 1, bezier = "liner" }) -hl.animation({ leaf = "borderangle", enabled = true, speed = 100, bezier = "liner", style = "loop" }) -- used by rainbow borders and rotating colors; speed clamped from 180 -> Lua hl.animation caps speed at 100 -hl.animation({ leaf = "fade", enabled = true, speed = 3, bezier = "smoothOut" }) -hl.animation({ leaf = "workspaces", enabled = true, speed = 5, bezier = "overshot" }) - --- animations for -git or version >0.42.0 -hl.animation({ leaf = "workspacesIn", enabled = true, speed = 5, bezier = "winIn", style = "slide" }) -hl.animation({ leaf = "workspacesOut", enabled = true, speed = 5, bezier = "winOut", style = "slide" }) +require("presets.anim-hyprflux") diff --git a/dotfiles/.config/hypr/colours/hyprflux-colors.conf b/dotfiles/.config/hypr/colours/hyprflux-colors.conf deleted file mode 100644 index 98d9092..0000000 --- a/dotfiles/.config/hypr/colours/hyprflux-colors.conf +++ /dev/null @@ -1,21 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# HyprFlux static color palette - -$background = rgb(010102) -$foreground = rgb(FDF8FE) -$color0 = rgb(313131) -$color1 = rgb(09050C) -$color2 = rgb(221647) -$color3 = rgb(2C1A40) -$color4 = rgb(5E3887) -$color5 = rgb(7344A6) -$color6 = rgb(BAB0BD) -$color7 = rgb(F3ECF5) -$color8 = rgb(AAA5AC) -$color9 = rgb(0B0711) -$color10 = rgb(2D1D5F) -$color11 = rgb(3B2355) -$color12 = rgb(7D4AB4) -$color13 = rgb(9A5BDD) -$color14 = rgb(F8EAFC) -$color15 = rgb(F3ECF5) diff --git a/dotfiles/.config/hypr/core/env.lua b/dotfiles/.config/hypr/core/env.lua index 673b54d..e33efd3 100644 --- a/dotfiles/.config/hypr/core/env.lua +++ b/dotfiles/.config/hypr/core/env.lua @@ -19,8 +19,7 @@ hl.env("XDG_SESSION_TYPE", "wayland") -- QT Variables hl.env("QT_AUTO_SCREEN_SCALE_FACTOR", "1") hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION", "1") -hl.env("QT_QPA_PLATFORMTHEME", "qt5ct") -hl.env("QT_QPA_PLATFORMTHEME", "qt6ct") +hl.env("QT_QPA_PLATFORMTHEME", "qt6ct") -- qt6ct also styles Qt5 apps that read it; qt5ct.conf is kept in sync -- hyprland-qt-support hl.env("QT_QUICK_CONTROLS_STYLE", "org.hyprland.style") @@ -32,11 +31,14 @@ hl.env("QT_QUICK_CONTROLS_STYLE", "org.hyprland.style") hl.env("GDK_SCALE", "1") hl.env("QT_SCALE_FACTOR", "1") --- Bibata-Modern-Ice-Cursor --- NOTE! You must have the hyprcursor version to activate this. +-- Cursor: Bibata-Modern-Classic (AUR bibata-cursor-theme-bin, XCursor format). +-- Same theme in gtk-*/settings.ini, the gsettings call in hyprland.lua and initial-boot.sh. +-- There's no hyprcursor build installed, so Hyprland falls back to XCURSOR_THEME. -- https://wiki.hyprland.org/Hypr-Ecosystem/hyprcursor/ hl.env("HYPRCURSOR_THEME", "Bibata-Modern-Classic") hl.env("HYPRCURSOR_SIZE", "24") +hl.env("XCURSOR_THEME", "Bibata-Modern-Classic") +hl.env("XCURSOR_SIZE", "24") -- firefox hl.env("MOZ_ENABLE_WAYLAND", "1") @@ -46,13 +48,17 @@ hl.env("MOZ_ENABLE_WAYLAND", "1") hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto") -- auto selects Wayland if possible, X11 otherwise -- NVIDIA --- This is from the Hyprland wiki. Uncomment below if an nvidia GPU is detected. -- See hyprland wiki https://wiki.hyprland.org/Nvidia/#environment-variables - -hl.env("LIBVA_DRIVER_NAME", "nvidia") -hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia") -hl.env("NVD_BACKEND", "direct") -hl.env("GSK_RENDERER", "ngl") +-- Only when the NVIDIA kernel driver is loaded, so the same config works on the +-- laptop (forcing LIBVA_DRIVER_NAME=nvidia there breaks VA-API video decoding). +local nvidia = io.open("/proc/driver/nvidia/version") +if nvidia then + nvidia:close() + hl.env("LIBVA_DRIVER_NAME", "nvidia") + hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia") + hl.env("NVD_BACKEND", "direct") + hl.env("GSK_RENDERER", "ngl") +end -- additional ENV's for nvidia. Caution, activate with care -- hl.env("GBM_BACKEND", "nvidia-drm") diff --git a/dotfiles/.config/hypr/core/startup.lua b/dotfiles/.config/hypr/core/startup.lua index 4e744f1..0d7dfd9 100644 --- a/dotfiles/.config/hypr/core/startup.lua +++ b/dotfiles/.config/hypr/core/startup.lua @@ -47,8 +47,7 @@ hl.on("hyprland.start", function() hl.dispatch(hl.dsp.focus({ workspace = 3 })) - -- NOTE: the trailing "&&" here is a stray leftover from the original .conf (dangling, does nothing) β€” ported as-is - hl.exec_cmd("/usr/bin/Plexamp.AppImage &&") + hl.exec_cmd("plexamp") -- plexamp-bin (AUR) hl.exec_cmd("sleep 3 && vesktop") hl.dispatch(hl.dsp.focus({ workspace = 1 })) hl.exec_cmd("bitwarden-desktop --ozone-platform-hint=auto --silent") diff --git a/dotfiles/.config/hypr/hypridle.conf b/dotfiles/.config/hypr/hypridle.conf index 5852afa..cb64908 100644 --- a/dotfiles/.config/hypr/hypridle.conf +++ b/dotfiles/.config/hypr/hypridle.conf @@ -8,7 +8,7 @@ general { lock_cmd = pidof hyprlock || hyprlock # runs hyprlock if it is not already running (this is always run when "loginctl lock-session" is called) # unlock_cmd = killall hyprlock # kills hyprlock when unlocking (this is always run when "loginctl unlock-session" is called) before_sleep_cmd = loginctl lock-session # ensures that the session is locked before going to sleep - after_sleep_cmd = hyprctl dispatch dpms on # turn of screen after sleep (not strictly necessary, but just in case) + after_sleep_cmd = hyprctl dispatch 'hl.dsp.dpms({action = "on"})' # turn of screen after sleep (not strictly necessary, but just in case) ignore_dbus_inhibit = false # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam) } @@ -16,8 +16,8 @@ general { # (disabled by default) # listener { # timeout = 30 # 30 seconds -# on-timeout = pidof hyprlock && hyprctl dispatch dpms off # turns off the screen if hyprlock is active -# on-resume = pidof hyprlock && hyprctl dispatch dpms on # command to run when activity is detected after timeout has fired. +# on-timeout = pidof hyprlock && hyprctl dispatch 'hl.dsp.dpms({action = "off"})' # turns off the screen if hyprlock is active +# on-resume = pidof hyprlock && hyprctl dispatch 'hl.dsp.dpms({action = "on"})' # command to run when activity is detected after timeout has fired. # } # Warn @@ -38,8 +38,8 @@ listener { # (disabled by default) # listener { # timeout = 630 # 10.5 min -# on-timeout = hyprctl dispatch dpms off # command to run when timeout has passed -# on-resume = hyprctl dispatch dpms on # command to run when activity is detected after timeout has fired. +# on-timeout = hyprctl dispatch 'hl.dsp.dpms({action = "off"})' # command to run when timeout has passed +# on-resume = hyprctl dispatch 'hl.dsp.dpms({action = "on"})' # command to run when activity is detected after timeout has fired. # } # Suspend # disabled by default diff --git a/dotfiles/.config/hypr/hyprland-gui.conf b/dotfiles/.config/hypr/hyprland-gui.conf deleted file mode 100644 index 9a5bd14..0000000 --- a/dotfiles/.config/hypr/hyprland-gui.conf +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by HyprMod - -general:allow_tearing = 1 -general:snap:enabled = 0 -# vrr forced off globally: the per-monitor vrr,0 flag below does NOT override this when -# misc:vrr is 1 (tested live on Hyprland 0.56.2 β€” DP-2 stayed vrr:true until this global -# was changed). DP-2 (Acer VG240Y S) flickers under VRR when idle in fullscreen (mouse -# stationary -> no repaint damage -> frame delivery stalls near the panel's VRR floor). -# The other two monitors don't negotiate VRR at all, so this has no effect on them. -misc:vrr = 0 - -# Monitors -monitor = DP-2, 1920x1080@165.00Hz, 0x0, 1, bitdepth, 10, cm, wide, vrr, 0 - -# Keybinds -unbind = SUPER SHIFT, Print -unbind = SUPER, up -bind = SUPER, Print, exec, hyprshot -o $HOME/Pictures/Screenshots-Linux -m region -bind = SUPER, up, movefocus, u -bind = SUPER SHIFT, Print, exec, hyprshot -o $HOME/Pictures/Screenshots-Linux -m window diff --git a/dotfiles/.config/hypr/hyprland.conf b/dotfiles/.config/hypr/hyprland.conf deleted file mode 100644 index 9e49865..0000000 --- a/dotfiles/.config/hypr/hyprland.conf +++ /dev/null @@ -1,34 +0,0 @@ -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# always refer to Hyprland wiki -# https://wiki.hyprland.org/ - -# Initial boot script enable to apply initial wallpapers, theming, new settings etc. -# suggest not to change this or delete this including deleting referrence file in ~/.config/hypr/.initial_startup_done -# as long as the referrence file is present, this initial-boot.sh will not execute -exec-once = $HOME/.config/hypr/initial-boot.sh - -# ## This is where you want to start tinkering -$UserConfigs = $HOME/.config/hypr/UserConfigs # User Configs directory path - -source= $UserConfigs/Startup_Apps.conf # put your start-up packages on this file - -source= $UserConfigs/ENVariables.conf # Environment variables to load - -source= $UserConfigs/WindowRules.conf # all about Hyprland Window Rules and Layer Rules - -source= $UserConfigs/UserDecorations.conf # Decorations config file - -source= $UserConfigs/UserAnimations.conf # Animation config file - -source= $UserConfigs/Keybinds.conf # Put your own keybinds here - -source= $UserConfigs/UserSettings.conf # Main Hyprland Settings. - -# nwg-displays -source= $UserConfigs/monitors.conf -source= $UserConfigs/workspaces.conf - -exec = gsettings set org.gnome.desktop.interface cursor-theme Future-black Cursors - -# HyprMod managed settings -source = $HOME/.config/hypr/hyprland-gui.conf diff --git a/dotfiles/.config/hypr/hyprland.lua b/dotfiles/.config/hypr/hyprland.lua index 197ec06..ed98477 100644 --- a/dotfiles/.config/hypr/hyprland.lua +++ b/dotfiles/.config/hypr/hyprland.lua @@ -35,7 +35,7 @@ require("layout.workspaces") -- only fires once at actual compositor start β€” close enough for a one-shot gsettings -- call, but worth knowing if you relied on the reload-time re-apply. hl.on("hyprland.start", function() - hl.exec_cmd("gsettings set org.gnome.desktop.interface cursor-theme Future-black Cursors") + hl.exec_cmd("gsettings set org.gnome.desktop.interface cursor-theme Bibata-Modern-Classic && gsettings set org.gnome.desktop.interface cursor-size 24") end) -- HyprMod managed settings diff --git a/dotfiles/.config/hypr/hyprlock.conf b/dotfiles/.config/hypr/hyprlock.conf index fb0b7e1..6bf5770 100644 --- a/dotfiles/.config/hypr/hyprlock.conf +++ b/dotfiles/.config/hypr/hyprlock.conf @@ -113,7 +113,7 @@ label { text = cmd[update:1000] echo "$(~/.config/hypr/hyprlock/Scripts/songdetail.sh)" color = rgba(255, 255, 255, 0.6) font_size = 18 - font_family = JetBrains Mono Nerd, SF Pro Display Bold + font_family = JetBrainsMono Nerd Font, SF Pro Display Bold position = 0, 90 halign = center valign = bottom @@ -221,7 +221,7 @@ label { text = cmd[update:1000] echo "$(~/.config/hypr/hyprlock/Scripts/songdetail.sh)" color = rgba(255, 255, 255, 0.6) font_size = 28 - font_family = JetBrains Mono Nerd, SF Pro Display Bold + font_family = JetBrainsMono Nerd Font, SF Pro Display Bold position = 0, 90 halign = center valign = bottom diff --git a/dotfiles/.config/hypr/hyprlock/Fonts/JetBrains/JetBrains Mono Nerd.ttf b/dotfiles/.config/hypr/hyprlock/Fonts/JetBrains/JetBrains Mono Nerd.ttf deleted file mode 100644 index f9f0185..0000000 Binary files a/dotfiles/.config/hypr/hyprlock/Fonts/JetBrains/JetBrains Mono Nerd.ttf and /dev/null differ diff --git a/dotfiles/.config/hypr/initial-boot.sh b/dotfiles/.config/hypr/initial-boot.sh index af9d820..4869690 100755 --- a/dotfiles/.config/hypr/initial-boot.sh +++ b/dotfiles/.config/hypr/initial-boot.sh @@ -13,7 +13,7 @@ kvantum_theme="catppuccin-mocha-blue" color_scheme="prefer-dark" gtk_theme="Material-DeepOcean-BL" icon_theme="Papirus-Dark" -cursor_theme="Moga-Cursor" +cursor_theme="Bibata-Modern-Classic" # Check if a marker file exists. if [ ! -f "$HOME/.config/hypr/.initial_startup_done" ]; then diff --git a/dotfiles/.config/hypr/input/keybinds.lua b/dotfiles/.config/hypr/input/keybinds.lua index 768183c..bb5f0dc 100644 --- a/dotfiles/.config/hypr/input/keybinds.lua +++ b/dotfiles/.config/hypr/input/keybinds.lua @@ -31,7 +31,7 @@ hl.bind(mainMod .. " + M", hl.dsp.exec_cmd("fdm")) -- Free Download Manager hl.bind(mainMod .. " + W", hl.dsp.exec_cmd("waypaper")) -- Wayland Wallpaper Setter hl.bind(mainMod .. " + L", hl.dsp.exec_cmd("hyprlock")) -- Screen Locker hl.bind(mainMod .. " + DELETE", hl.dsp.exec_cmd("~/.config/rofi/powermenu/type-2/powermenu.sh")) -- Power Menu -hl.bind(mainMod .. " + S", hl.dsp.exec_cmd("cd /home/thomas/hyprmod && uv run hyprmod")) -- Hyprmod - A Hyprland settings manager (if installed) +hl.bind(mainMod .. " + S", hl.dsp.exec_cmd("hyprmod")) -- Hyprmod - A Hyprland settings manager (AUR: hyprmod) hl.bind(mainMod .. " + SHIFT + R", hl.dsp.exec_cmd(scriptsDir .. "/Refresh.sh")) -- Refresh waybar, swaync, rofirrr hl.bind(mainMod .. " + N", hl.dsp.exec_cmd("swaync-client -t -sw")) -- swayNC notification panel @@ -40,8 +40,9 @@ hl.bind(mainMod .. " + SHIFT + F", hl.dsp.window.fullscreen({ mode = "fullscreen hl.bind(mainMod .. " + SHIFT + SPACE", hl.dsp.window.float({ action = "toggle" })) -- Float Mode -- Desktop zooming or magnifier -hl.bind(mainMod .. " + ALT + mouse_down", hl.dsp.exec_cmd([[hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor * 2.0}')"]])) -hl.bind(mainMod .. " + ALT + mouse_up", hl.dsp.exec_cmd([[hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor / 2.0}')"]])) +-- (`hyprctl keyword` is rejected by the Lua config β€” "keyword can't work with non-legacy parsers" β€” so set it via eval) +hl.bind(mainMod .. " + ALT + mouse_down", hl.dsp.exec_cmd([[hyprctl eval "hl.config({ cursor = { zoom_factor = $(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor * 2.0}') } })"]])) +hl.bind(mainMod .. " + ALT + mouse_up", hl.dsp.exec_cmd([[hyprctl eval "hl.config({ cursor = { zoom_factor = $(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor / 2.0}') } })"]])) -- Waybar / Bar related hl.bind(mainMod .. " + CTRL + ALT + B", hl.dsp.exec_cmd("pkill -SIGUSR1 waybar")) -- Toggle hide/show waybar @@ -150,9 +151,6 @@ hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true }) -- -- Laptop specific keybinds -------------------------------------------------------------------------------------- --- for disabling Touchpad. hyprctl devices to get device name. -local touchpadDevice = "asue1209:00-04f3:319f-touchpad" - hl.bind("XF86KbdBrightnessDown", hl.dsp.exec_cmd(scriptsDir .. "/BrightnessKbd.sh --dec"), { repeating = true }) -- decrease keyboard brightness hl.bind("XF86KbdBrightnessUp", hl.dsp.exec_cmd(scriptsDir .. "/BrightnessKbd.sh --inc"), { repeating = true }) -- increase keyboard brightness hl.bind("XF86Launch1", hl.dsp.exec_cmd("rog-control-center")) -- ASUS Armory crate button @@ -160,7 +158,7 @@ hl.bind("XF86Launch3", hl.dsp.exec_cmd("asusctl led-mode -n")) -- FN+F4 Switch k hl.bind("XF86Launch4", hl.dsp.exec_cmd("asusctl profile -n")) -- FN+F5 change of fan profiles (Quiet, Balance, Performance) hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd(scriptsDir .. "/Brightness.sh --dec"), { repeating = true }) -- decrease monitor brightness hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd(scriptsDir .. "/Brightness.sh --inc"), { repeating = true }) -- increase monitor brightness -hl.bind("XF86TouchpadToggle", hl.dsp.exec_cmd(scriptsDir .. "/TouchPad.sh")) -- disable touchpad +hl.bind("XF86TouchpadToggle", hl.dsp.exec_cmd(scriptsDir .. "/TouchPad.sh")) -- toggle touchpad (finds the device itself) -- Screenshot keybindings using F6 (no PrintSrc button) -- hl.bind(mainMod .. " + F6", hl.dsp.exec_cmd(scriptsDir .. "/ScreenShot.sh --now")) -- screenshot @@ -168,8 +166,3 @@ hl.bind("XF86TouchpadToggle", hl.dsp.exec_cmd(scriptsDir .. "/TouchPad.sh")) -- -- hl.bind(mainMod .. " + CTRL + F6", hl.dsp.exec_cmd(scriptsDir .. "/ScreenShot.sh --in5")) -- screenshot (5 secs delay) -- hl.bind(mainMod .. " + ALT + F6", hl.dsp.exec_cmd(scriptsDir .. "/ScreenShot.sh --in10")) -- screenshot (10 secs delay) -- hl.bind("ALT + F6", hl.dsp.exec_cmd(scriptsDir .. "/ScreenShot.sh --active")) -- screenshot (active window only) - -hl.device({ - name = touchpadDevice, - enabled = true, -}) diff --git a/dotfiles/.config/hypr/layout/windowrules.lua b/dotfiles/.config/hypr/layout/windowrules.lua index bc8d8e3..aabd6db 100644 --- a/dotfiles/.config/hypr/layout/windowrules.lua +++ b/dotfiles/.config/hypr/layout/windowrules.lua @@ -98,7 +98,6 @@ hl.window_rule({ name = "windowrule-46", tag = "+settings", match = { class = "^ -- Custom rule hl.window_rule({ name = "windowrule-47", tile = true, match = { class = "^([Cc]hromium)$" } }) hl.window_rule({ name = "windowrule-48", size = "monitor_w*0.25 monitor_h*0.55", float = true, match = { class = "^(com.network.manager)$" } }) -hl.window_rule({ name = "windowrule-49", workspace = "special:nyx", match = { class = "^([Vv]esktop|[Dd]iscord|[Ss]potify)$" } }) hl.window_rule({ name = "windowrule-255", size = "monitor_w*0.75 monitor_h*0.80", float = true, match = { class = "^([Bb]itwarden)$" } }) -- System updater terminal (quickshell/scripts/update-system.sh) β€” float + center it instead of -- tiling into the current workspace. Matches the title the script launches it with, so it works @@ -139,11 +138,8 @@ hl.window_rule({ -- hl.window_rule({ idle_inhibit = "fullscreen", match = { title = "^(*)$" } }) hl.window_rule({ name = "windowrule-60", idle_inhibit = "fullscreen", match = { fullscreen = true } }) --- Discord to workspace 3 --- NOTE: these two used the old single-line windowrule syntax in the source .conf (match packed --- oddly with the rule); windowrule-49 above already sends the same apps to special:nyx, so this --- looks like a pre-existing conflict in the original config rather than something introduced here β€” --- ported literally, last-defined-wins as before. +-- Discord / Spotify / Plexamp to workspace 3 (the portrait LG). An older rule also sent +-- Vesktop/Discord/Spotify to special:nyx; this one always won, so that rule was removed. hl.window_rule({ workspace = "3", match = { class = "^([Vv]esktop|[Dd]iscord|[Ss]potify|[Pp]lexamp)$" } }) hl.window_rule({ size = "20% 20%", match = { class = "^([Pp]lexamp)" } }) diff --git a/dotfiles/.config/hypr/presets/anim-hyprflux.lua b/dotfiles/.config/hypr/presets/anim-hyprflux.lua new file mode 100644 index 0000000..213c312 --- /dev/null +++ b/dotfiles/.config/hypr/presets/anim-hyprflux.lua @@ -0,0 +1,31 @@ +-- HyprFlux β€” https://github.com/ahmad9059/HyprFlux +-- name "HyprFlux (default)" +-- The animation set that shipped as appearance/animations.lua (ported from +-- UserConfigs/UserAnimations.conf). Selected by default; Super+Shift+A switches. + +hl.config({ + animations = { + enabled = true, + }, +}) + +hl.curve("wind", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.05 } } }) +hl.curve("winIn", { type = "bezier", points = { { 0.1, 1.1 }, { 0.1, 1.1 } } }) +hl.curve("winOut", { type = "bezier", points = { { 0.3, -0.3 }, { 0, 1 } } }) +hl.curve("liner", { type = "bezier", points = { { 1, 1 }, { 1, 1 } } }) +hl.curve("overshot", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.05 } } }) +hl.curve("smoothOut", { type = "bezier", points = { { 0.5, 0 }, { 0.99, 0.99 } } }) +hl.curve("smoothIn", { type = "bezier", points = { { 0.5, -0.5 }, { 0.68, 1.5 } } }) + +hl.animation({ leaf = "windows", enabled = true, speed = 6, bezier = "wind", style = "slide" }) +hl.animation({ leaf = "windowsIn", enabled = true, speed = 5, bezier = "winIn", style = "slide" }) +hl.animation({ leaf = "windowsOut", enabled = true, speed = 3, bezier = "smoothOut", style = "slide" }) +hl.animation({ leaf = "windowsMove", enabled = true, speed = 5, bezier = "wind", style = "slide" }) +hl.animation({ leaf = "border", enabled = true, speed = 1, bezier = "liner" }) +hl.animation({ leaf = "borderangle", enabled = true, speed = 100, bezier = "liner", style = "loop" }) -- used by rainbow borders and rotating colors; speed clamped from 180 -> Lua hl.animation caps speed at 100 +hl.animation({ leaf = "fade", enabled = true, speed = 3, bezier = "smoothOut" }) +hl.animation({ leaf = "workspaces", enabled = true, speed = 5, bezier = "overshot" }) + +-- animations for -git or version >0.42.0 +hl.animation({ leaf = "workspacesIn", enabled = true, speed = 5, bezier = "winIn", style = "slide" }) +hl.animation({ leaf = "workspacesOut", enabled = true, speed = 5, bezier = "winOut", style = "slide" }) diff --git a/dotfiles/.config/hypr/scripts/Animations.sh b/dotfiles/.config/hypr/scripts/Animations.sh index 6057aa2..642ab34 100755 --- a/dotfiles/.config/hypr/scripts/Animations.sh +++ b/dotfiles/.config/hypr/scripts/Animations.sh @@ -1,31 +1,38 @@ #!/bin/bash -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# For applying Animations from different users +# Animation preset picker (Super+Shift+A). +# Lists ~/.config/hypr/presets/anim-*.lua by their original HyprFlux preset name +# (the "Ported from animations/.conf" line, else `-- name "..."`), then +# points appearance/animations.lua's require() at the chosen one and reloads. + +iDIR="$HOME/.config/swaync/images" +presets_dir="$HOME/.config/hypr/presets" +active_file="$HOME/.config/hypr/appearance/animations.lua" +rofi_theme="$HOME/.config/rofi/launchers/type-4/style-4.rasi" -# Check if rofi is already running if pidof rofi >/dev/null; then pkill rofi fi -# Variables -iDIR="$HOME/.config/swaync/images" -SCRIPTSDIR="$HOME/.config/hypr/scripts" -animations_dir="$HOME/.config/hypr/animations" -UserConfigs="$HOME/.config/hypr/UserConfigs" -rofi_theme="$HOME/.config/rofi/config-Animations.rasi" -msg='❗NOTE:❗ This will copy animations into UserAnimations.conf' -# list of animation files, sorted alphabetically with numbers first -animations_list=$(find -L "$animations_dir" -maxdepth 1 -type f | sed 's/.*\///' | sed 's/\.conf$//' | sort -V) +# "Display namemodule" per preset, sorted by name +list=$(for f in "$presets_dir"/anim-*.lua; do + module=$(basename "$f" .lua) + name=$(sed -n 's/^-- Ported from animations\/\(.*\)\.conf.*/\1/p' "$f" | head -n1) + [[ -z "$name" ]] && name=$(sed -n 's/^-- name "\(.*\)"$/\1/p' "$f" | head -n1) + printf '%s\t%s\n' "${name:-$module}" "$module" +done | sort -f) -# Rofi Menu -chosen_file=$(echo "$animations_list" | rofi -i -dmenu -config $rofi_theme -mesg "$msg") +current=$(sed -n 's/^require("presets\.\(.*\)")$/\1/p' "$active_file") +current_name=$(awk -F'\t' -v m="$current" '$2 == m { print $1 }' <<<"$list") -# Check if a file was selected -if [[ -n "$chosen_file" ]]; then - full_path="$animations_dir/$chosen_file.conf" - cp "$full_path" "$UserConfigs/UserAnimations.conf" - notify-send -u low -i "$iDIR/ja.png" "$chosen_file" "Hyprland Animation Loaded" -fi +chosen=$(cut -f1 <<<"$list" | rofi -i -dmenu -p "Animations" \ + -theme "$rofi_theme" \ + -theme-str 'mainbox { children: [ "inputbar", "message", "listview" ]; }' \ + -mesg "Current: ${current_name:-$current}") +[[ -z "$chosen" ]] && exit 0 -sleep 1 -"$SCRIPTSDIR/RefreshNoWaybar.sh" +module=$(awk -F'\t' -v n="$chosen" '$1 == n { print $2; exit }' <<<"$list") +[[ -z "$module" ]] && exit 1 + +sed -i "s/^require(\"presets\.[^\"]*\")$/require(\"presets.$module\")/" "$active_file" +hyprctl reload >/dev/null +notify-send -u low -i "$iDIR/note.png" "$chosen" "Hyprland animation loaded" diff --git a/dotfiles/.config/hypr/scripts/ClipManager.sh b/dotfiles/.config/hypr/scripts/ClipManager.sh index f63e649..8610eb0 100755 --- a/dotfiles/.config/hypr/scripts/ClipManager.sh +++ b/dotfiles/.config/hypr/scripts/ClipManager.sh @@ -3,7 +3,7 @@ # Clipboard Manager. This script uses cliphist, rofi, and wl-copy. # Variables -rofi_theme="$HOME/.config/rofi/config-clipboard.rasi" +rofi_theme="$HOME/.config/rofi/launchers/type-4/style-4.rasi" msg='πŸ‘€ **note** CTRL DEL = cliphist del (entry) or ALT DEL - cliphist wipe (all)' # Actions: # CTRL Del to delete an entry @@ -19,7 +19,9 @@ while true; do rofi -i -dmenu \ -kb-custom-1 "Control-Delete" \ -kb-custom-2 "Alt-Delete" \ - -config $rofi_theme < <(cliphist list) \ + -theme "$rofi_theme" \ + -theme-str 'mainbox { children: [ "inputbar", "message", "listview" ]; }' \ + < <(cliphist list) \ -mesg "$msg" ) diff --git a/dotfiles/.config/hypr/scripts/Refresh.sh b/dotfiles/.config/hypr/scripts/Refresh.sh index 110f287..75e8965 100755 --- a/dotfiles/.config/hypr/scripts/Refresh.sh +++ b/dotfiles/.config/hypr/scripts/Refresh.sh @@ -1,6 +1,6 @@ #!/bin/bash # HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# Scripts for refreshing waybar, rofi, swaync +# Scripts for refreshing quickshell, rofi, swaync (Waybar is retired β€” not restarted here) SCRIPTSDIR=$HOME/.config/hypr/scripts UserScripts=$HOME/.config/hypr/UserScripts @@ -15,31 +15,24 @@ file_exists() { } # Kill already running processes -_ps=(waybar rofi swaync ags) +_ps=(rofi swaync ags) for _prs in "${_ps[@]}"; do if pidof "${_prs}" >/dev/null; then pkill "${_prs}" fi done -# ensure waybar fully reloads -killall -SIGUSR2 waybar - # quit ags & relaunch ags #ags -q && ags & # quit quickshell & relaunch quickshell -pkill qs && qs & +pkill -x qs; qs & # some process to kill -for pid in $(pidof waybar rofi swaync ags swaybg); do +for pid in $(pidof rofi swaync ags swaybg); do kill -SIGUSR1 "$pid" done -#Restart waybar -sleep 1 -waybar & - # relaunch swaync sleep 0.5 swaync > /dev/null 2>&1 & diff --git a/dotfiles/.config/hypr/scripts/TouchPad.sh b/dotfiles/.config/hypr/scripts/TouchPad.sh index 3c9415c..609a75a 100755 --- a/dotfiles/.config/hypr/scripts/TouchPad.sh +++ b/dotfiles/.config/hypr/scripts/TouchPad.sh @@ -1,32 +1,30 @@ #!/bin/bash -# HyprFlux β€” https://github.com/ahmad9059/HyprFlux -# For disabling touchpad. -# Edit the Touchpad_Device on ~/.config/hypr/UserConfigs/Laptops.conf according to your system -# use hyprctl devices to get your system touchpad device name -# source https://github.com/hyprwm/Hyprland/discussions/4283?sort=new#discussioncomment-8648109 +# Toggles the laptop touchpad (XF86TouchpadToggle). +# Finds the touchpad by name in `hyprctl devices`, so it works on any laptop +# without hard-coding the device. The Lua config rejects `hyprctl keyword`, +# so the device is switched with hl.device() through `hyprctl eval`. -notif="$HOME/.config/swaync/images/ja.png" +notif="$HOME/.config/swaync/images/note.png" +STATUS_FILE="$XDG_RUNTIME_DIR/touchpad.status" -export STATUS_FILE="$XDG_RUNTIME_DIR/touchpad.status" - -enable_touchpad() { - printf "true" >"$STATUS_FILE" - notify-send -u low -i $notif " Enabling" " touchpad" - hyprctl keyword '$TOUCHPAD_ENABLED' "true" -r -} - -disable_touchpad() { - printf "false" >"$STATUS_FILE" - notify-send -u low -i $notif " Disabling" " touchpad" - hyprctl keyword '$TOUCHPAD_ENABLED' "false" -r -} - -if ! [ -f "$STATUS_FILE" ]; then - enable_touchpad -else - if [ $(cat "$STATUS_FILE") = "true" ]; then - disable_touchpad - elif [ $(cat "$STATUS_FILE") = "false" ]; then - enable_touchpad - fi +device=$(hyprctl devices -j | jq -r '[.mice[].name | select(test("touchpad"; "i"))][0] // empty') +if [ -z "$device" ]; then + notify-send -u low -i "$notif" "Touchpad" "No touchpad found" + exit 1 +fi + +set_touchpad() { + printf '%s' "$1" >"$STATUS_FILE" + hyprctl eval "hl.device({ name = \"$device\", enabled = $1 })" >/dev/null + if [ "$1" = true ]; then + notify-send -u low -i "$notif" " Enabling" " touchpad" + else + notify-send -u low -i "$notif" " Disabling" " touchpad" + fi +} + +if [ "$(cat "$STATUS_FILE" 2>/dev/null)" = "false" ]; then + set_touchpad true +else + set_touchpad false fi diff --git a/dotfiles/.config/quickshell/modules/bar/PowerButton.qml b/dotfiles/.config/quickshell/modules/bar/PowerButton.qml index 45cefa2..8a7e9d9 100644 --- a/dotfiles/.config/quickshell/modules/bar/PowerButton.qml +++ b/dotfiles/.config/quickshell/modules/bar/PowerButton.qml @@ -119,7 +119,7 @@ Item { { label: "Lock", icon: "lock", cmd: ["hyprlock"] }, { label: "Suspend", icon: "bedtime", cmd: ["systemctl", "suspend"] }, { label: "Hibernate", icon: "ac_unit", cmd: ["systemctl", "hibernate"] }, - { label: "Log out", icon: "logout", cmd: ["hyprctl", "dispatch", "exit"] }, + { label: "Log out", icon: "logout", cmd: ["hyprctl", "dispatch", "hl.dsp.exit()"] }, { label: "Reboot", icon: "restart_alt", cmd: ["systemctl", "reboot"] }, { label: "Shut down", icon: "power_settings_new", cmd: ["systemctl", "poweroff"] } ] diff --git a/dotfiles/.config/quickshell/scripts/sync-dotfiles.sh b/dotfiles/.config/quickshell/scripts/sync-dotfiles.sh index b706114..82234b8 100755 --- a/dotfiles/.config/quickshell/scripts/sync-dotfiles.sh +++ b/dotfiles/.config/quickshell/scripts/sync-dotfiles.sh @@ -40,9 +40,12 @@ if ! command -v stow &> /dev/null; then fi info "Applying dotfiles with stow..." +# Real dirs first, or stow links the whole folder into the repo (see bootstrap.sh) +mkdir -p "$HOME/.local/share/fonts" # -R restows: drops links for files removed from the repo and adds new ones. if stow -R -d "$DOTFILES" -t "$HOME" dotfiles; then info "Dotfiles applied." + fc-cache "$HOME/.local/share/fonts" >/dev/null 2>&1 else warn "stow hit a conflict β€” nothing was changed. Fix it and re-run:" warn " stow -R -d $DOTFILES -t ~ dotfiles" diff --git a/dotfiles/.config/swaync/config.json b/dotfiles/.config/swaync/config.json index a0f359f..144fccd 100755 --- a/dotfiles/.config/swaync/config.json +++ b/dotfiles/.config/swaync/config.json @@ -56,15 +56,15 @@ "actions": [ { "label": "σ°₯", - "command": "bash -c $HOME/.config/hypr/scripts/Wlogout.sh" + "command": "bash -c $HOME/.config/rofi/powermenu/type-2/powermenu.sh" }, { "label": "󰌾", - "command": "bash -c $HOME/.config/hypr/scripts/LockScreen.sh" + "command": "loginctl lock-session" }, { "label": "󰍃", - "command": "hyprctl dispatch exit" + "command": "hyprctl dispatch 'hl.dsp.exit()'" }, { "label": "󰀝", diff --git a/dotfiles/.config/hypr/hyprlock/Fonts/SF Pro Display/SF Pro Display Bold.otf b/dotfiles/.local/share/fonts/SF-Pro-Display-Bold.otf similarity index 100% rename from dotfiles/.config/hypr/hyprlock/Fonts/SF Pro Display/SF Pro Display Bold.otf rename to dotfiles/.local/share/fonts/SF-Pro-Display-Bold.otf diff --git a/dotfiles/.config/hypr/hyprlock/Fonts/SF Pro Display/SF Pro Display Regular.otf b/dotfiles/.local/share/fonts/SF-Pro-Display-Regular.otf similarity index 100% rename from dotfiles/.config/hypr/hyprlock/Fonts/SF Pro Display/SF Pro Display Regular.otf rename to dotfiles/.local/share/fonts/SF-Pro-Display-Regular.otf diff --git a/system/packages.txt b/system/packages.txt index 25335e1..a30f2c6 100644 --- a/system/packages.txt +++ b/system/packages.txt @@ -104,6 +104,7 @@ thunar-archive-plugin # Adds archive operations to the Thunar file thunar-media-tags-plugin # Adds special features for media files to the Thunar File Manager thunar-shares-plugin # Thunar plugin to quickly share a folder using Samba without requiring root access thunar-volman # Automatic management of removable drives and media for Thunar +ttf-cascadia-code-nerd # Patched font Cascadia Code (CaskaydiaCove) β€” Quickshell bar text and icons ttf-dejavu # Font family based on the Bitstream Vera Fonts with a wider range of characters ttf-iosevka-nerd # Patched font Iosevka from nerd fonts library ttf-jetbrains-mono # Typeface for developers, by JetBrains @@ -146,6 +147,7 @@ openssh # SSH client/server (sshd service, git over s avahi # mDNS daemon (avahi-daemon service, used by nss-mdns) [aur] +bibata-cursor-theme-bin # Bibata cursors (Bibata-Modern-Classic, used everywhere) bitwarden-bin # A secure and free password manager for all of your devices. # caelestia-shell # The desktop shell for the Caelestia dotfiles !! alternative quickshell config, not used by your shell.qml flutter-bin # Cross platform widget toolkit for Dart (monolithic)