Merge pull request 'Fix: Known issues from the dotfiles documentation pass' (#8) from thomas/fixes/known_issues into main

Reviewed-on: #8
This commit was merged in pull request #8.
This commit is contained in:
2026-10-22 08:29:48 +01:00
60 changed files with 173 additions and 2678 deletions

View File

@@ -59,6 +59,9 @@ System-level config (e.g. pacman options) lives in `system/` and is installed wi
~/Projects/dotfiles/system/install.sh ~/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 ## 📦 Programs
List of programs and tools I use. List of programs and tools I use.
@@ -67,12 +70,12 @@ List of programs and tools I use.
| Component | Program | | Component | Program |
|-------------------|------------| |-------------------|------------|
|🪟 Windows Manager | [hyprland](https://github.com/hyprwm/Hyprland) | |🪟 Windows Manager | [hyprland](https://github.com/hyprwm/Hyprland) |
|🖥️ Terminal | [foot](https://codeberg.org/dnkl/foot) | |🖥️ Terminal | [foot](https://codeberg.org/dnkl/foot) / [ghostty](https://ghostty.org/) (system updater) |
|🐚 Shell | [zsh](https://github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH) / [theme](https://github.com/ohmyzsh/ohmyzsh/blob/master/themes/refined.zsh-theme) | |🐚 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) | |📁 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) | |📝 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) | |🌐 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) | |🚀 Launcher | [rofi](https://github.com/davatorium/rofi) |
|🔒 Lockscreen | [hyprlock](https://github.com/hyprwm/hyprlock) | |🔒 Lockscreen | [hyprlock](https://github.com/hyprwm/hyprlock) |
|🚪 Login Menu | [sddm](https://github.com/sddm/sddm) | |🚪 Login Menu | [sddm](https://github.com/sddm/sddm) |

View File

@@ -124,6 +124,24 @@ for app in $(packages installer); do
esac esac
done 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 ---------------------------- # --- Optional: SVT-AV1 essential + ffmpeg rebuild ----------------------------
if [[ $svt_av1 == ask ]]; then if [[ $svt_av1 == ask ]]; then
@@ -151,7 +169,7 @@ sudo systemctl enable "${units[@]}"
step "Linking dotfiles with stow" step "Linking dotfiles with stow"
# Create real parent dirs first, otherwise stow symlinks the whole directory # 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 # (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 # Sunshine keeps credentials and logs beside its config; those must stay out of git
mkdir -p "$HOME/.config/sunshine" mkdir -p "$HOME/.config/sunshine"
mkdir -p -m 700 "$HOME/.ssh" mkdir -p -m 700 "$HOME/.ssh"
@@ -165,4 +183,7 @@ if [[ "$(getent passwd "$USER" | cut -d: -f7)" != */zsh ]]; then
chsh -s /usr/bin/zsh chsh -s /usr/bin/zsh
fi 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" step "Done — reboot to load drivers and start Hyprland"

View File

@@ -1,7 +1,7 @@
{ {
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": { "logo": {
//"source": "~/.config/fastfetch/nixos.png", //"source": "~/.config/fastfetch/arch.png",
//"type": "kitty-direct", //"type": "kitty-direct",
"height": 15, "height": 15,
"width": 30, "width": 30,

View File

@@ -2,7 +2,7 @@
gtk-theme-name=HyprFlux-Compact gtk-theme-name=HyprFlux-Compact
gtk-icon-theme-name=Papirus-Dark gtk-icon-theme-name=Papirus-Dark
gtk-font-name=Adwaita Sans 11 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-cursor-theme-size=24
gtk-toolbar-style=GTK_TOOLBAR_ICONS gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR

View File

@@ -2,6 +2,6 @@
gtk-theme-name=HyprFlux-Compact gtk-theme-name=HyprFlux-Compact
gtk-icon-theme-name=Papirus-Dark gtk-icon-theme-name=Papirus-Dark
gtk-font-name=Adwaita Sans 11 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-cursor-theme-size=24
gtk-application-prefer-dark-theme=1 gtk-application-prefer-dark-theme=1

View File

@@ -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

View File

@@ -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

View File

@@ -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
}

View File

@@ -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

View File

@@ -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
#

View File

@@ -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

View File

@@ -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
}

View File

@@ -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
}
}

View File

@@ -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
}

View File

@@ -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, <rofi>
#layerrule = ignorezero, overview
#layerrule = blur, overview

View File

@@ -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, <rofi>
#layerrule = ignorezero, overview
#layerrule = blur, overview

View File

@@ -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

View File

@@ -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

View File

@@ -1,3 +1,3 @@
# Place your new scripts here. # 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. # 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

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -1,4 +0,0 @@
# HyprFlux — https://github.com/ahmad9059/HyprFlux
animations {
enabled = no
}

View File

@@ -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
}

View File

@@ -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%
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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%
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -1,34 +1,6 @@
-- HyprFlux — https://github.com/ahmad9059/HyprFlux -- Active animation preset.
-- Ported from UserConfigs/UserAnimations.conf (the active 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,
-- The 14 alternative presets from animations/*.conf were also ported, flat, as -- e.g. require("presets.anim-ml4w-classic"). Keep it to this single line.
-- 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-<preset>")`,
-- e.g. require("presets.anim-ml4w-classic").
hl.config({ require("presets.anim-hyprflux")
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" })

View File

@@ -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)

View File

@@ -19,8 +19,7 @@ hl.env("XDG_SESSION_TYPE", "wayland")
-- QT Variables -- QT Variables
hl.env("QT_AUTO_SCREEN_SCALE_FACTOR", "1") hl.env("QT_AUTO_SCREEN_SCALE_FACTOR", "1")
hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION", "1") hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION", "1")
hl.env("QT_QPA_PLATFORMTHEME", "qt5ct") hl.env("QT_QPA_PLATFORMTHEME", "qt6ct") -- qt6ct also styles Qt5 apps that read it; qt5ct.conf is kept in sync
hl.env("QT_QPA_PLATFORMTHEME", "qt6ct")
-- hyprland-qt-support -- hyprland-qt-support
hl.env("QT_QUICK_CONTROLS_STYLE", "org.hyprland.style") 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("GDK_SCALE", "1")
hl.env("QT_SCALE_FACTOR", "1") hl.env("QT_SCALE_FACTOR", "1")
-- Bibata-Modern-Ice-Cursor -- Cursor: Bibata-Modern-Classic (AUR bibata-cursor-theme-bin, XCursor format).
-- NOTE! You must have the hyprcursor version to activate this. -- 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/ -- https://wiki.hyprland.org/Hypr-Ecosystem/hyprcursor/
hl.env("HYPRCURSOR_THEME", "Bibata-Modern-Classic") hl.env("HYPRCURSOR_THEME", "Bibata-Modern-Classic")
hl.env("HYPRCURSOR_SIZE", "24") hl.env("HYPRCURSOR_SIZE", "24")
hl.env("XCURSOR_THEME", "Bibata-Modern-Classic")
hl.env("XCURSOR_SIZE", "24")
-- firefox -- firefox
hl.env("MOZ_ENABLE_WAYLAND", "1") 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 hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto") -- auto selects Wayland if possible, X11 otherwise
-- NVIDIA -- 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 -- See hyprland wiki https://wiki.hyprland.org/Nvidia/#environment-variables
-- 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("LIBVA_DRIVER_NAME", "nvidia")
hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia") hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia")
hl.env("NVD_BACKEND", "direct") hl.env("NVD_BACKEND", "direct")
hl.env("GSK_RENDERER", "ngl") hl.env("GSK_RENDERER", "ngl")
end
-- additional ENV's for nvidia. Caution, activate with care -- additional ENV's for nvidia. Caution, activate with care
-- hl.env("GBM_BACKEND", "nvidia-drm") -- hl.env("GBM_BACKEND", "nvidia-drm")

View File

@@ -47,8 +47,7 @@ hl.on("hyprland.start", function()
hl.dispatch(hl.dsp.focus({ workspace = 3 })) 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("plexamp") -- plexamp-bin (AUR)
hl.exec_cmd("/usr/bin/Plexamp.AppImage &&")
hl.exec_cmd("sleep 3 && vesktop") hl.exec_cmd("sleep 3 && vesktop")
hl.dispatch(hl.dsp.focus({ workspace = 1 })) hl.dispatch(hl.dsp.focus({ workspace = 1 }))
hl.exec_cmd("bitwarden-desktop --ozone-platform-hint=auto --silent") hl.exec_cmd("bitwarden-desktop --ozone-platform-hint=auto --silent")

View File

@@ -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) 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) # 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 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) 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) # (disabled by default)
# listener { # listener {
# timeout = 30 # 30 seconds # timeout = 30 # 30 seconds
# on-timeout = pidof hyprlock && hyprctl dispatch dpms off # turns off the screen if hyprlock is active # 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 dpms on # command to run when activity is detected after timeout has fired. # on-resume = pidof hyprlock && hyprctl dispatch 'hl.dsp.dpms({action = "on"})' # command to run when activity is detected after timeout has fired.
# } # }
# Warn # Warn
@@ -38,8 +38,8 @@ listener {
# (disabled by default) # (disabled by default)
# listener { # listener {
# timeout = 630 # 10.5 min # timeout = 630 # 10.5 min
# on-timeout = hyprctl dispatch dpms off # command to run when timeout has passed # on-timeout = hyprctl dispatch 'hl.dsp.dpms({action = "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-resume = hyprctl dispatch 'hl.dsp.dpms({action = "on"})' # command to run when activity is detected after timeout has fired.
# } # }
# Suspend # disabled by default # Suspend # disabled by default

View File

@@ -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

View File

@@ -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

View File

@@ -35,7 +35,7 @@ require("layout.workspaces")
-- only fires once at actual compositor start — close enough for a one-shot gsettings -- 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. -- call, but worth knowing if you relied on the reload-time re-apply.
hl.on("hyprland.start", function() 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) end)
-- HyprMod managed settings -- HyprMod managed settings

View File

@@ -113,7 +113,7 @@ label {
text = cmd[update:1000] echo "$(~/.config/hypr/hyprlock/Scripts/songdetail.sh)" text = cmd[update:1000] echo "$(~/.config/hypr/hyprlock/Scripts/songdetail.sh)"
color = rgba(255, 255, 255, 0.6) color = rgba(255, 255, 255, 0.6)
font_size = 18 font_size = 18
font_family = JetBrains Mono Nerd, SF Pro Display Bold font_family = JetBrainsMono Nerd Font, SF Pro Display Bold
position = 0, 90 position = 0, 90
halign = center halign = center
valign = bottom valign = bottom
@@ -221,7 +221,7 @@ label {
text = cmd[update:1000] echo "$(~/.config/hypr/hyprlock/Scripts/songdetail.sh)" text = cmd[update:1000] echo "$(~/.config/hypr/hyprlock/Scripts/songdetail.sh)"
color = rgba(255, 255, 255, 0.6) color = rgba(255, 255, 255, 0.6)
font_size = 28 font_size = 28
font_family = JetBrains Mono Nerd, SF Pro Display Bold font_family = JetBrainsMono Nerd Font, SF Pro Display Bold
position = 0, 90 position = 0, 90
halign = center halign = center
valign = bottom valign = bottom

View File

@@ -13,7 +13,7 @@ kvantum_theme="catppuccin-mocha-blue"
color_scheme="prefer-dark" color_scheme="prefer-dark"
gtk_theme="Material-DeepOcean-BL" gtk_theme="Material-DeepOcean-BL"
icon_theme="Papirus-Dark" icon_theme="Papirus-Dark"
cursor_theme="Moga-Cursor" cursor_theme="Bibata-Modern-Classic"
# Check if a marker file exists. # Check if a marker file exists.
if [ ! -f "$HOME/.config/hypr/.initial_startup_done" ]; then if [ ! -f "$HOME/.config/hypr/.initial_startup_done" ]; then

View File

@@ -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 .. " + W", hl.dsp.exec_cmd("waypaper")) -- Wayland Wallpaper Setter
hl.bind(mainMod .. " + L", hl.dsp.exec_cmd("hyprlock")) -- Screen Locker 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 .. " + 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 .. " + 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 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 hl.bind(mainMod .. " + SHIFT + SPACE", hl.dsp.window.float({ action = "toggle" })) -- Float Mode
-- Desktop zooming or magnifier -- 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}')"]])) -- (`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_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}')"]])) 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 -- Waybar / Bar related
hl.bind(mainMod .. " + CTRL + ALT + B", hl.dsp.exec_cmd("pkill -SIGUSR1 waybar")) -- Toggle hide/show waybar 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 -- 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("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("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 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("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("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("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) -- Screenshot keybindings using F6 (no PrintSrc button)
-- hl.bind(mainMod .. " + F6", hl.dsp.exec_cmd(scriptsDir .. "/ScreenShot.sh --now")) -- screenshot -- 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 .. " + 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(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.bind("ALT + F6", hl.dsp.exec_cmd(scriptsDir .. "/ScreenShot.sh --active")) -- screenshot (active window only)
hl.device({
name = touchpadDevice,
enabled = true,
})

View File

@@ -98,7 +98,6 @@ hl.window_rule({ name = "windowrule-46", tag = "+settings", match = { class = "^
-- Custom rule -- Custom rule
hl.window_rule({ name = "windowrule-47", tile = true, match = { class = "^([Cc]hromium)$" } }) 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-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)$" } }) 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 -- 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 -- 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({ idle_inhibit = "fullscreen", match = { title = "^(*)$" } })
hl.window_rule({ name = "windowrule-60", idle_inhibit = "fullscreen", match = { fullscreen = true } }) hl.window_rule({ name = "windowrule-60", idle_inhibit = "fullscreen", match = { fullscreen = true } })
-- Discord to workspace 3 -- Discord / Spotify / Plexamp to workspace 3 (the portrait LG). An older rule also sent
-- NOTE: these two used the old single-line windowrule syntax in the source .conf (match packed -- Vesktop/Discord/Spotify to special:nyx; this one always won, so that rule was removed.
-- 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.
hl.window_rule({ workspace = "3", match = { class = "^([Vv]esktop|[Dd]iscord|[Ss]potify|[Pp]lexamp)$" } }) 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)" } }) hl.window_rule({ size = "20% 20%", match = { class = "^([Pp]lexamp)" } })

View File

@@ -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" })

View File

@@ -1,31 +1,38 @@
#!/bin/bash #!/bin/bash
# HyprFlux — https://github.com/ahmad9059/HyprFlux # Animation preset picker (Super+Shift+A).
# For applying Animations from different users # Lists ~/.config/hypr/presets/anim-*.lua by their original HyprFlux preset name
# (the "Ported from animations/<name>.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 if pidof rofi >/dev/null; then
pkill rofi pkill rofi
fi fi
# Variables # "Display name<TAB>module" per preset, sorted by name
iDIR="$HOME/.config/swaync/images" list=$(for f in "$presets_dir"/anim-*.lua; do
SCRIPTSDIR="$HOME/.config/hypr/scripts" module=$(basename "$f" .lua)
animations_dir="$HOME/.config/hypr/animations" name=$(sed -n 's/^-- Ported from animations\/\(.*\)\.conf.*/\1/p' "$f" | head -n1)
UserConfigs="$HOME/.config/hypr/UserConfigs" [[ -z "$name" ]] && name=$(sed -n 's/^-- name "\(.*\)"$/\1/p' "$f" | head -n1)
rofi_theme="$HOME/.config/rofi/config-Animations.rasi" printf '%s\t%s\n' "${name:-$module}" "$module"
msg='❗NOTE:❗ This will copy animations into UserAnimations.conf' done | sort -f)
# 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)
# Rofi Menu current=$(sed -n 's/^require("presets\.\(.*\)")$/\1/p' "$active_file")
chosen_file=$(echo "$animations_list" | rofi -i -dmenu -config $rofi_theme -mesg "$msg") current_name=$(awk -F'\t' -v m="$current" '$2 == m { print $1 }' <<<"$list")
# Check if a file was selected chosen=$(cut -f1 <<<"$list" | rofi -i -dmenu -p "Animations" \
if [[ -n "$chosen_file" ]]; then -theme "$rofi_theme" \
full_path="$animations_dir/$chosen_file.conf" -theme-str 'mainbox { children: [ "inputbar", "message", "listview" ]; }' \
cp "$full_path" "$UserConfigs/UserAnimations.conf" -mesg "Current: ${current_name:-$current}")
notify-send -u low -i "$iDIR/ja.png" "$chosen_file" "Hyprland Animation Loaded" [[ -z "$chosen" ]] && exit 0
fi
sleep 1 module=$(awk -F'\t' -v n="$chosen" '$1 == n { print $2; exit }' <<<"$list")
"$SCRIPTSDIR/RefreshNoWaybar.sh" [[ -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"

View File

@@ -3,7 +3,7 @@
# Clipboard Manager. This script uses cliphist, rofi, and wl-copy. # Clipboard Manager. This script uses cliphist, rofi, and wl-copy.
# Variables # 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)' msg='👀 **note** CTRL DEL = cliphist del (entry) or ALT DEL - cliphist wipe (all)'
# Actions: # Actions:
# CTRL Del to delete an entry # CTRL Del to delete an entry
@@ -19,7 +19,9 @@ while true; do
rofi -i -dmenu \ rofi -i -dmenu \
-kb-custom-1 "Control-Delete" \ -kb-custom-1 "Control-Delete" \
-kb-custom-2 "Alt-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" -mesg "$msg"
) )

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# HyprFlux — https://github.com/ahmad9059/HyprFlux # 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 SCRIPTSDIR=$HOME/.config/hypr/scripts
UserScripts=$HOME/.config/hypr/UserScripts UserScripts=$HOME/.config/hypr/UserScripts
@@ -15,31 +15,24 @@ file_exists() {
} }
# Kill already running processes # Kill already running processes
_ps=(waybar rofi swaync ags) _ps=(rofi swaync ags)
for _prs in "${_ps[@]}"; do for _prs in "${_ps[@]}"; do
if pidof "${_prs}" >/dev/null; then if pidof "${_prs}" >/dev/null; then
pkill "${_prs}" pkill "${_prs}"
fi fi
done done
# ensure waybar fully reloads
killall -SIGUSR2 waybar
# quit ags & relaunch ags # quit ags & relaunch ags
#ags -q && ags & #ags -q && ags &
# quit quickshell & relaunch quickshell # quit quickshell & relaunch quickshell
pkill qs && qs & pkill -x qs; qs &
# some process to kill # 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" kill -SIGUSR1 "$pid"
done done
#Restart waybar
sleep 1
waybar &
# relaunch swaync # relaunch swaync
sleep 0.5 sleep 0.5
swaync > /dev/null 2>&1 & swaync > /dev/null 2>&1 &

View File

@@ -1,32 +1,30 @@
#!/bin/bash #!/bin/bash
# HyprFlux — https://github.com/ahmad9059/HyprFlux # Toggles the laptop touchpad (XF86TouchpadToggle).
# For disabling touchpad. # Finds the touchpad by name in `hyprctl devices`, so it works on any laptop
# Edit the Touchpad_Device on ~/.config/hypr/UserConfigs/Laptops.conf according to your system # without hard-coding the device. The Lua config rejects `hyprctl keyword`,
# use hyprctl devices to get your system touchpad device name # so the device is switched with hl.device() through `hyprctl eval`.
# source https://github.com/hyprwm/Hyprland/discussions/4283?sort=new#discussioncomment-8648109
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" 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
enable_touchpad() { set_touchpad() {
printf "true" >"$STATUS_FILE" printf '%s' "$1" >"$STATUS_FILE"
notify-send -u low -i $notif " Enabling" " touchpad" hyprctl eval "hl.device({ name = \"$device\", enabled = $1 })" >/dev/null
hyprctl keyword '$TOUCHPAD_ENABLED' "true" -r if [ "$1" = true ]; then
} notify-send -u low -i "$notif" " Enabling" " touchpad"
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 else
if [ $(cat "$STATUS_FILE") = "true" ]; then notify-send -u low -i "$notif" " Disabling" " touchpad"
disable_touchpad
elif [ $(cat "$STATUS_FILE") = "false" ]; then
enable_touchpad
fi fi
}
if [ "$(cat "$STATUS_FILE" 2>/dev/null)" = "false" ]; then
set_touchpad true
else
set_touchpad false
fi fi

View File

@@ -119,7 +119,7 @@ Item {
{ label: "Lock", icon: "lock", cmd: ["hyprlock"] }, { label: "Lock", icon: "lock", cmd: ["hyprlock"] },
{ label: "Suspend", icon: "bedtime", cmd: ["systemctl", "suspend"] }, { label: "Suspend", icon: "bedtime", cmd: ["systemctl", "suspend"] },
{ label: "Hibernate", icon: "ac_unit", cmd: ["systemctl", "hibernate"] }, { 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: "Reboot", icon: "restart_alt", cmd: ["systemctl", "reboot"] },
{ label: "Shut down", icon: "power_settings_new", cmd: ["systemctl", "poweroff"] } { label: "Shut down", icon: "power_settings_new", cmd: ["systemctl", "poweroff"] }
] ]

View File

@@ -40,9 +40,12 @@ if ! command -v stow &> /dev/null; then
fi fi
info "Applying dotfiles with stow..." 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. # -R restows: drops links for files removed from the repo and adds new ones.
if stow -R -d "$DOTFILES" -t "$HOME" dotfiles; then if stow -R -d "$DOTFILES" -t "$HOME" dotfiles; then
info "Dotfiles applied." info "Dotfiles applied."
fc-cache "$HOME/.local/share/fonts" >/dev/null 2>&1
else else
warn "stow hit a conflict — nothing was changed. Fix it and re-run:" warn "stow hit a conflict — nothing was changed. Fix it and re-run:"
warn " stow -R -d $DOTFILES -t ~ dotfiles" warn " stow -R -d $DOTFILES -t ~ dotfiles"

View File

@@ -56,15 +56,15 @@
"actions": [ "actions": [
{ {
"label": "󰐥", "label": "󰐥",
"command": "bash -c $HOME/.config/hypr/scripts/Wlogout.sh" "command": "bash -c $HOME/.config/rofi/powermenu/type-2/powermenu.sh"
}, },
{ {
"label": "󰌾", "label": "󰌾",
"command": "bash -c $HOME/.config/hypr/scripts/LockScreen.sh" "command": "loginctl lock-session"
}, },
{ {
"label": "󰍃", "label": "󰍃",
"command": "hyprctl dispatch exit" "command": "hyprctl dispatch 'hl.dsp.exit()'"
}, },
{ {
"label": "󰀝", "label": "󰀝",

View File

@@ -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-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-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 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-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-iosevka-nerd # Patched font Iosevka from nerd fonts library
ttf-jetbrains-mono # Typeface for developers, by JetBrains 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) avahi # mDNS daemon (avahi-daemon service, used by nss-mdns)
[aur] [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. 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 # 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) flutter-bin # Cross platform widget toolkit for Dart (monolithic)