Compare commits
61 Commits
fa88c54c63
...
features/u
| Author | SHA1 | Date | |
|---|---|---|---|
| e77c08a0a2 | |||
| 491509e864 | |||
| c4604f8e0f | |||
| 30d5f4c926 | |||
| 90d7042995 | |||
| b6714cf20b | |||
| 8877835ae0 | |||
| 32dd10c83d | |||
| f3df5e4f3d | |||
| 74953850fb | |||
| 04e50bad3f | |||
| a218026568 | |||
| 7c557bffc8 | |||
| 2eb122960d | |||
| 8c0347ee35 | |||
| 2935fc7cfe | |||
| 6f9651ccb3 | |||
| c88a96406a | |||
| 13c4f95e08 | |||
| c4f220d95a | |||
| f6d69332db | |||
| 1559da170e | |||
| ca18fe26c1 | |||
| cfd6cf2700 | |||
| 5909ed14cb | |||
| 3487732f46 | |||
| 6aff35bd5b | |||
| 176902616b | |||
| 70cda8d08e | |||
| 28c6a0c3d7 | |||
| fa2ae6f4e2 | |||
| 911182628d | |||
| 308e8440bb | |||
| fad66cf071 | |||
| d7cf9e3da3 | |||
| 03d58f73fb | |||
| a35b3b75a3 | |||
| 040cf83811 | |||
| 07c6d57e74 | |||
| d9e3ae2aee | |||
| 730eff5379 | |||
| c652800b53 | |||
| 86e5d9c95f | |||
| 852bcef6fd | |||
| 3c00586b58 | |||
| c2d6c171ce | |||
| 65aed80fdd | |||
| 9d9fcf7b8e | |||
| dc3749a734 | |||
| 30b871c3c4 | |||
| 1ddbd62ec9 | |||
| 587cc7190c | |||
| 618d3862ec | |||
| 49726e9dbc | |||
| 7f2bfb9c0e | |||
| 929bd53f90 | |||
| de505d9fd2 | |||
| 6b69af3112 | |||
| 9cc22560a5 | |||
| 0d582329ed | |||
| 1b4f556d6f |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -0,0 +1 @@
|
|||||||
|
dotfiles/.config/hypr/.initial_startup_done
|
||||||
20
README.md
20
README.md
@@ -26,6 +26,26 @@ My dotfiles, a constantly evolving set of configurations which I arguably spend
|
|||||||
too much time tweaking, but they make the command line feel like home, so here
|
too much time tweaking, but they make the command line feel like home, so here
|
||||||
we are.
|
we are.
|
||||||
|
|
||||||
|
## 🖥️ Installation
|
||||||
|
|
||||||
|
In order to apply these dotfiles, you must have the SSH Key stored in your password manager,
|
||||||
|
then connect the SSH-Agent to your shell. Once that is done, you will need the application
|
||||||
|
**Stow** in order to keep it synced.
|
||||||
|
|
||||||
|
After this, you will need to git clone the repo in the Projects directory
|
||||||
|
|
||||||
|
```console
|
||||||
|
mkdir Projects
|
||||||
|
git clone ssh://git@gitea.thomasleewilliams.co.uk:2222/thomas/dotfiles.git
|
||||||
|
```
|
||||||
|
|
||||||
|
Once that is complete, run this command:
|
||||||
|
```console
|
||||||
|
stow -d ~/Projects/dotfiles/ -t ~/ dotfiles
|
||||||
|
```
|
||||||
|
|
||||||
|
This will sync wallpapers/config files to where they are usually located
|
||||||
|
|
||||||
## 📦 Programs
|
## 📦 Programs
|
||||||
|
|
||||||
List of programs and tools I use.
|
List of programs and tools I use.
|
||||||
|
|||||||
@@ -1,128 +1,127 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
"$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": {
|
||||||
"padding": {
|
"padding": {
|
||||||
"top": 1
|
"top": 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"display": {
|
"display": {
|
||||||
"separator": " "
|
"separator": " "
|
||||||
},
|
},
|
||||||
"modules": [
|
"modules": [
|
||||||
"break",
|
"break",
|
||||||
{
|
{
|
||||||
"type": "os",
|
"type": "os",
|
||||||
"key": " DISTRO",
|
"key": " DISTRO",
|
||||||
"keyColor": "yellow"
|
"keyColor": "yellow"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "kernel",
|
"type": "kernel",
|
||||||
"key": "│ ├",
|
"key": "│ ├",
|
||||||
"keyColor": "yellow"
|
"keyColor": "yellow"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "packages",
|
"type": "packages",
|
||||||
"key": "│ ├",
|
"key": "│ ├",
|
||||||
"keyColor": "yellow"
|
"keyColor": "yellow"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"key": "│ └",
|
"key": "│ └",
|
||||||
"keyColor": "yellow"
|
"keyColor": "yellow"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "wm",
|
"type": "wm",
|
||||||
"key": " DE/WM",
|
"key": " DE/WM",
|
||||||
"keyColor": "blue"
|
"keyColor": "blue"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "wmtheme",
|
"type": "wmtheme",
|
||||||
"key": "│ ├",
|
"key": "│ ├",
|
||||||
"keyColor": "blue"
|
"keyColor": "blue"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "icons",
|
"type": "icons",
|
||||||
"key": "│ ├",
|
"key": "│ ├",
|
||||||
"keyColor": "blue"
|
"keyColor": "blue"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "cursor",
|
"type": "cursor",
|
||||||
"key": "│ ├",
|
"key": "│ ├",
|
||||||
"keyColor": "blue",
|
"keyColor": "blue"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "terminalfont",
|
"type": "terminalfont",
|
||||||
"key": "│ ├",
|
"key": "│ ├",
|
||||||
"keyColor": "blue",
|
"keyColor": "blue"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "terminal",
|
"type": "terminal",
|
||||||
"key": "│ └",
|
"key": "│ └",
|
||||||
"keyColor": "blue"
|
"keyColor": "blue"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "host",
|
"type": "host",
|
||||||
"key": " SYSTEM",
|
"key": " SYSTEM",
|
||||||
"keyColor": "green"
|
"keyColor": "green"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "cpu",
|
"type": "cpu",
|
||||||
"key": "│ ├",
|
"key": "│ ├",
|
||||||
"keyColor": "green"
|
"keyColor": "green"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "gpu",
|
"type": "gpu",
|
||||||
"key": "│ ├",
|
"key": "│ ├",
|
||||||
"format": "{2}",
|
"format": "{2}",
|
||||||
"keyColor": "green"
|
"keyColor": "green"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "display",
|
"type": "display",
|
||||||
"key": "│ ├",
|
"key": "│ ├",
|
||||||
"keyColor": "green",
|
"keyColor": "green",
|
||||||
"compactType": "original-with-refresh-rate"
|
"compactType": "original-with-refresh-rate"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "memory",
|
"type": "memory",
|
||||||
"key": "│ ├",
|
"key": "│ ├",
|
||||||
"keyColor": "green"
|
"keyColor": "green"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "swap",
|
"type": "swap",
|
||||||
"key": "│ ├",
|
"key": "│ ├",
|
||||||
"keyColor": "green"
|
"keyColor": "green"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "uptime",
|
"type": "uptime",
|
||||||
"key": "│ ├",
|
"key": "│ ├",
|
||||||
"keyColor": "green"
|
"keyColor": "green"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "display",
|
"type": "display",
|
||||||
"key": "│ └",
|
"key": "│ └",
|
||||||
"keyColor": "green"
|
"keyColor": "green"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "sound",
|
"type": "sound",
|
||||||
"key": " AUDIO",
|
"key": " AUDIO",
|
||||||
"format": "{2}",
|
"format": "{2}",
|
||||||
"keyColor": "magenta"
|
"keyColor": "magenta"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "player",
|
"type": "player",
|
||||||
"key": "│ ├",
|
"key": "│ ├",
|
||||||
"keyColor": "magenta"
|
"keyColor": "magenta"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "media",
|
"type": "media",
|
||||||
"key": "│ └",
|
"key": "│ └",
|
||||||
"keyColor": "magenta"
|
"keyColor": "magenta"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "custom",
|
"type": "custom",
|
||||||
"format": "\u001b[90m \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[38m \u001b[39m \u001b[39m \u001b[38m \u001b[37m \u001b[36m \u001b[35m \u001b[34m \u001b[33m \u001b[32m \u001b[31m \u001b[90m "
|
"format": "\u001b[90m \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[38m \u001b[39m \u001b[39m \u001b[38m \u001b[37m \u001b[36m \u001b[35m \u001b[34m \u001b[33m \u001b[32m \u001b[31m \u001b[90m "
|
||||||
},
|
},
|
||||||
"break",
|
"break"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
file:///home/thomas/Projects
|
||||||
file:///home/thomas/Documents
|
file:///home/thomas/Documents
|
||||||
file:///home/thomas/Downloads
|
file:///home/thomas/Downloads
|
||||||
file:///home/thomas/Pictures
|
file:///home/thomas/Pictures
|
||||||
|
|||||||
6
dotfiles/.config/hypr/UserConfigs/00-Readme
Normal file
6
dotfiles/.config/hypr/UserConfigs/00-Readme
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# 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
|
||||||
89
dotfiles/.config/hypr/UserConfigs/ENVariables.conf
Normal file
89
dotfiles/.config/hypr/UserConfigs/ENVariables.conf
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
# 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.
|
||||||
209
dotfiles/.config/hypr/UserConfigs/Keybinds.conf
Normal file
209
dotfiles/.config/hypr/UserConfigs/Keybinds.conf
Normal file
@@ -0,0 +1,209 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
4
dotfiles/.config/hypr/UserConfigs/LaptopDisplay.conf
Normal file
4
dotfiles/.config/hypr/UserConfigs/LaptopDisplay.conf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# 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
|
||||||
31
dotfiles/.config/hypr/UserConfigs/Laptops.conf
Normal file
31
dotfiles/.config/hypr/UserConfigs/Laptops.conf
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# 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
|
||||||
|
#
|
||||||
43
dotfiles/.config/hypr/UserConfigs/Startup_Apps.conf
Normal file
43
dotfiles/.config/hypr/UserConfigs/Startup_Apps.conf
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# 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
|
||||||
26
dotfiles/.config/hypr/UserConfigs/UserAnimations.conf
Normal file
26
dotfiles/.config/hypr/UserConfigs/UserAnimations.conf
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
58
dotfiles/.config/hypr/UserConfigs/UserDecorations.conf
Normal file
58
dotfiles/.config/hypr/UserConfigs/UserDecorations.conf
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
# 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 = 0.9
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
116
dotfiles/.config/hypr/UserConfigs/UserSettings.conf
Normal file
116
dotfiles/.config/hypr/UserConfigs/UserSettings.conf
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
744
dotfiles/.config/hypr/UserConfigs/WindowRules-copy.conf
Normal file
744
dotfiles/.config/hypr/UserConfigs/WindowRules-copy.conf
Normal file
@@ -0,0 +1,744 @@
|
|||||||
|
# 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
|
||||||
666
dotfiles/.config/hypr/UserConfigs/WindowRules.conf
Normal file
666
dotfiles/.config/hypr/UserConfigs/WindowRules.conf
Normal file
@@ -0,0 +1,666 @@
|
|||||||
|
# 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
|
||||||
12
dotfiles/.config/hypr/UserConfigs/monitors.conf
Normal file
12
dotfiles/.config/hypr/UserConfigs/monitors.conf
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# 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,1,bitdepth,10,cm,wide
|
||||||
|
# <<<<< TUI AUTO END
|
||||||
30
dotfiles/.config/hypr/UserConfigs/workspaces.conf
Normal file
30
dotfiles/.config/hypr/UserConfigs/workspaces.conf
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# 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
|
||||||
3
dotfiles/.config/hypr/UserScripts/00-Readme
Executable file
3
dotfiles/.config/hypr/UserScripts/00-Readme
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
# Place your new scripts here.
|
||||||
|
# If you need to edit a script from main script (~/.config/hypr/scripts), copy it on this directory, and edit.
|
||||||
|
# Make sure to update as well the keybinds in ~/.config/hypr/UserConfigs directory if any script is linked to it
|
||||||
146
dotfiles/.config/hypr/UserScripts/Weather.py
Executable file
146
dotfiles/.config/hypr/UserScripts/Weather.py
Executable file
@@ -0,0 +1,146 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# original code https://gist.github.com/Surendrajat/ff3876fd2166dd86fb71180f4e9342d7
|
||||||
|
# weather using python
|
||||||
|
|
||||||
|
import requests
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
from pyquery import PyQuery # install using `pip install pyquery`
|
||||||
|
|
||||||
|
# weather icons
|
||||||
|
weather_icons = {
|
||||||
|
"sunnyDay": "",
|
||||||
|
"clearNight": "",
|
||||||
|
"cloudyFoggyDay": "",
|
||||||
|
"cloudyFoggyNight": "",
|
||||||
|
"rainyDay": "",
|
||||||
|
"rainyNight": "",
|
||||||
|
"snowyIcyDay": "",
|
||||||
|
"snowyIcyNight": "",
|
||||||
|
"severe": "",
|
||||||
|
"default": "",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Get current location based on IP address
|
||||||
|
def get_location():
|
||||||
|
response = requests.get("https://ipinfo.io")
|
||||||
|
data = response.json()
|
||||||
|
loc = data["loc"].split(",")
|
||||||
|
return float(loc[0]), float(loc[1])
|
||||||
|
|
||||||
|
|
||||||
|
# Get latitude and longitude
|
||||||
|
latitude, longitude = get_location()
|
||||||
|
|
||||||
|
# Open-Meteo API endpoint
|
||||||
|
url = f"https://weather.com/en-PH/weather/today/l/{latitude},{longitude}"
|
||||||
|
|
||||||
|
# manual location_id
|
||||||
|
# NOTE: if you want to add manually, make sure you disable def get_location above
|
||||||
|
# to get your own location_id, go to https://weather.com & search your location.
|
||||||
|
# once you choose your location, you can see the location_id in the URL(64 chars long hex string)
|
||||||
|
# like this: https://weather.com/en-PH/weather/today/l/bca47d1099e762a012b9a139c36f30a0b1e647f69c0c4ac28b537e7ae9c1c200
|
||||||
|
# location_id = "bca47d1099e762a012b9a139c36f30a0b1e647f69c0c4ac28b537e7ae9c1c200" # TODO
|
||||||
|
|
||||||
|
# NOTE to change to deg F, change the URL to your preffered location after weather.com
|
||||||
|
# Default is English-Philippines with Busan, South Korea as location_id
|
||||||
|
# get html page
|
||||||
|
# url = "https://weather.com/en-PH/weather/today/l/" + location_id
|
||||||
|
|
||||||
|
html_data = PyQuery(url=url)
|
||||||
|
|
||||||
|
# current temperature
|
||||||
|
temp = html_data("span[data-testid='TemperatureValue']").eq(0).text()
|
||||||
|
|
||||||
|
# current status phrase
|
||||||
|
status = html_data("div[data-testid='wxPhrase']").text()
|
||||||
|
status = f"{status[:16]}.." if len(status) > 17 else status
|
||||||
|
|
||||||
|
# status code
|
||||||
|
status_code = html_data("#regionHeader").attr("class").split(" ")[2].split("-")[2]
|
||||||
|
|
||||||
|
# status icon
|
||||||
|
icon = (
|
||||||
|
weather_icons[status_code]
|
||||||
|
if status_code in weather_icons
|
||||||
|
else weather_icons["default"]
|
||||||
|
)
|
||||||
|
|
||||||
|
# temperature feels like
|
||||||
|
temp_feel = html_data(
|
||||||
|
"div[data-testid='FeelsLikeSection'] > span > span[data-testid='TemperatureValue']"
|
||||||
|
).text()
|
||||||
|
temp_feel_text = f"Feels like {temp_feel}c"
|
||||||
|
|
||||||
|
# min-max temperature
|
||||||
|
temp_min = (
|
||||||
|
html_data("div[data-testid='wxData'] > span[data-testid='TemperatureValue']")
|
||||||
|
.eq(1)
|
||||||
|
.text()
|
||||||
|
)
|
||||||
|
temp_max = (
|
||||||
|
html_data("div[data-testid='wxData'] > span[data-testid='TemperatureValue']")
|
||||||
|
.eq(0)
|
||||||
|
.text()
|
||||||
|
)
|
||||||
|
temp_min_max = f" {temp_min}\t\t {temp_max}"
|
||||||
|
|
||||||
|
# wind speed
|
||||||
|
wind_speed = str(html_data("span[data-testid='Wind'] > span").text())
|
||||||
|
wind_text = f" {wind_speed}"
|
||||||
|
|
||||||
|
# humidity
|
||||||
|
humidity = html_data("span[data-testid='PercentageValue']").text()
|
||||||
|
humidity_text = f" {humidity}"
|
||||||
|
|
||||||
|
# visibility
|
||||||
|
visibility = html_data("span[data-testid='VisibilityValue']").text()
|
||||||
|
visibility_text = f" {visibility}"
|
||||||
|
|
||||||
|
# air quality index
|
||||||
|
air_quality_index = html_data("text[data-testid='DonutChartValue']").text()
|
||||||
|
|
||||||
|
# hourly rain prediction
|
||||||
|
prediction = html_data("section[aria-label='Hourly Forecast']")(
|
||||||
|
"div[data-testid='SegmentPrecipPercentage'] > span"
|
||||||
|
).text()
|
||||||
|
prediction = prediction.replace("Chance of Rain", "")
|
||||||
|
prediction = f"\n\n (hourly) {prediction}" if len(prediction) > 0 else prediction
|
||||||
|
|
||||||
|
# tooltip text
|
||||||
|
tooltip_text = str.format(
|
||||||
|
"\t\t{}\t\t\n{}\n{}\n{}\n\n{}\n{}\n{}{}",
|
||||||
|
f'<span size="xx-large">{temp}</span>',
|
||||||
|
f"<big> {icon}</big>",
|
||||||
|
f"<b>{status}</b>",
|
||||||
|
f"<small>{temp_feel_text}</small>",
|
||||||
|
f"<b>{temp_min_max}</b>",
|
||||||
|
f"{wind_text}\t{humidity_text}",
|
||||||
|
f"{visibility_text}\tAQI {air_quality_index}",
|
||||||
|
f"<i> {prediction}</i>",
|
||||||
|
)
|
||||||
|
|
||||||
|
# print waybar module data
|
||||||
|
out_data = {
|
||||||
|
"text": f"{icon} {temp}",
|
||||||
|
"alt": status,
|
||||||
|
"tooltip": tooltip_text,
|
||||||
|
"class": status_code,
|
||||||
|
}
|
||||||
|
print(json.dumps(out_data))
|
||||||
|
|
||||||
|
simple_weather = (
|
||||||
|
f"{icon} {status}\n"
|
||||||
|
+ f" {temp} ({temp_feel_text})\n"
|
||||||
|
+ f"{wind_text} \n"
|
||||||
|
+ f"{humidity_text} \n"
|
||||||
|
+ f"{visibility_text} AQI{air_quality_index}\n"
|
||||||
|
)
|
||||||
|
|
||||||
|
try:
|
||||||
|
with open(os.path.expanduser("~/.cache/.weather_cache"), "w") as file:
|
||||||
|
file.write(simple_weather)
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error writing to cache: {e}")
|
||||||
87
dotfiles/.config/hypr/UserScripts/Weather.sh
Executable file
87
dotfiles/.config/hypr/UserScripts/Weather.sh
Executable file
@@ -0,0 +1,87 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# weather info from wttr. https://github.com/chubin/wttr.in
|
||||||
|
# Remember to add city
|
||||||
|
|
||||||
|
city=
|
||||||
|
cachedir="$HOME/.cache/rbn"
|
||||||
|
cachefile=${0##*/}-$1
|
||||||
|
|
||||||
|
if [ ! -d $cachedir ]; then
|
||||||
|
mkdir -p $cachedir
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f $cachedir/$cachefile ]; then
|
||||||
|
touch $cachedir/$cachefile
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Save current IFS
|
||||||
|
SAVEIFS=$IFS
|
||||||
|
# Change IFS to new line.
|
||||||
|
IFS=$'\n'
|
||||||
|
|
||||||
|
cacheage=$(($(date +%s) - $(stat -c '%Y' "$cachedir/$cachefile")))
|
||||||
|
if [ $cacheage -gt 1740 ] || [ ! -s $cachedir/$cachefile ]; then
|
||||||
|
data=($(curl -s https://en.wttr.in/"$city"$1\?0qnT 2>&1))
|
||||||
|
echo ${data[0]} | cut -f1 -d, > $cachedir/$cachefile
|
||||||
|
echo ${data[1]} | sed -E 's/^.{15}//' >> $cachedir/$cachefile
|
||||||
|
echo ${data[2]} | sed -E 's/^.{15}//' >> $cachedir/$cachefile
|
||||||
|
fi
|
||||||
|
|
||||||
|
weather=($(cat $cachedir/$cachefile))
|
||||||
|
|
||||||
|
# Restore IFSClear
|
||||||
|
IFS=$SAVEIFS
|
||||||
|
|
||||||
|
temperature=$(echo ${weather[2]} | sed -E 's/([[:digit:]]+)\.\./\1 to /g')
|
||||||
|
|
||||||
|
#echo ${weather[1]##*,}
|
||||||
|
|
||||||
|
# https://fontawesome.com/icons?s=solid&c=weather
|
||||||
|
case $(echo ${weather[1]##*,} | tr '[:upper:]' '[:lower:]') in
|
||||||
|
"clear" | "sunny")
|
||||||
|
condition=""
|
||||||
|
;;
|
||||||
|
"partly cloudy")
|
||||||
|
condition=""
|
||||||
|
;;
|
||||||
|
"cloudy")
|
||||||
|
condition=""
|
||||||
|
;;
|
||||||
|
"overcast")
|
||||||
|
condition=""
|
||||||
|
;;
|
||||||
|
"fog" | "freezing fog")
|
||||||
|
condition=""
|
||||||
|
;;
|
||||||
|
"patchy rain possible" | "patchy light drizzle" | "light drizzle" | "patchy light rain" | "light rain" | "light rain shower" | "mist" | "rain")
|
||||||
|
condition=""
|
||||||
|
;;
|
||||||
|
"moderate rain at times" | "moderate rain" | "heavy rain at times" | "heavy rain" | "moderate or heavy rain shower" | "torrential rain shower" | "rain shower")
|
||||||
|
condition=""
|
||||||
|
;;
|
||||||
|
"patchy snow possible" | "patchy sleet possible" | "patchy freezing drizzle possible" | "freezing drizzle" | "heavy freezing drizzle" | "light freezing rain" | "moderate or heavy freezing rain" | "light sleet" | "ice pellets" | "light sleet showers" | "moderate or heavy sleet showers")
|
||||||
|
condition=""
|
||||||
|
;;
|
||||||
|
"blowing snow" | "moderate or heavy sleet" | "patchy light snow" | "light snow" | "light snow showers")
|
||||||
|
condition=""
|
||||||
|
;;
|
||||||
|
"blizzard" | "patchy moderate snow" | "moderate snow" | "patchy heavy snow" | "heavy snow" | "moderate or heavy snow with thunder" | "moderate or heavy snow showers")
|
||||||
|
condition=""
|
||||||
|
;;
|
||||||
|
"thundery outbreaks possible" | "patchy light rain with thunder" | "moderate or heavy rain with thunder" | "patchy light snow with thunder")
|
||||||
|
condition=""
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
condition=""
|
||||||
|
echo -e "{\"text\":\""$condition"\", \"alt\":\""${weather[0]}"\", \"tooltip\":\""${weather[0]}: $temperature ${weather[1]}"\"}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#echo $temp $condition
|
||||||
|
|
||||||
|
echo -e "{\"text\":\""$temperature $condition"\", \"alt\":\""${weather[0]}"\", \"tooltip\":\""${weather[0]}: $temperature ${weather[1]}"\"}"
|
||||||
|
|
||||||
|
cached_weather=" $temperature \n$condition ${weather[1]}"
|
||||||
|
|
||||||
|
echo -e $cached_weather > "$HOME/.cache/.weather_cache"
|
||||||
69
dotfiles/.config/hypr/UserScripts/ZshChangeTheme.sh
Executable file
69
dotfiles/.config/hypr/UserScripts/ZshChangeTheme.sh
Executable file
@@ -0,0 +1,69 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# Script for Oh my ZSH theme ( CTRL SHIFT O)
|
||||||
|
|
||||||
|
# preview of theme can be view here: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
||||||
|
# after choosing theme, TTY need to be closed and re-open
|
||||||
|
|
||||||
|
# Variables
|
||||||
|
iDIR="$HOME/.config/swaync/images"
|
||||||
|
rofi_theme="$HOME/.config/rofi/config-zsh-theme.rasi"
|
||||||
|
|
||||||
|
if [ -n "$(grep -i nixos < /etc/os-release)" ]; then
|
||||||
|
notify-send -i "$iDIR/note.png" "NOT Supported" "Sorry NixOS does not support this HyprFlux feature"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
themes_dir="$HOME/.oh-my-zsh/themes"
|
||||||
|
file_extension=".zsh-theme"
|
||||||
|
|
||||||
|
|
||||||
|
themes_array=($(find -L "$themes_dir" -type f -name "*$file_extension" -exec basename {} \; | sed -e "s/$file_extension//"))
|
||||||
|
|
||||||
|
# Add "Random" option to the beginning of the array
|
||||||
|
themes_array=("Random" "${themes_array[@]}")
|
||||||
|
|
||||||
|
rofi_command="rofi -i -dmenu -config $rofi_theme"
|
||||||
|
|
||||||
|
menu() {
|
||||||
|
for theme in "${themes_array[@]}"; do
|
||||||
|
echo "$theme"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
choice=$(menu | ${rofi_command})
|
||||||
|
|
||||||
|
# if nothing selected, script won't change anything
|
||||||
|
if [ -z "$choice" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
zsh_path="$HOME/.zshrc"
|
||||||
|
var_name="ZSH_THEME"
|
||||||
|
|
||||||
|
if [[ "$choice" == "Random" ]]; then
|
||||||
|
# Pick a random theme from the original themes_array (excluding "Random")
|
||||||
|
random_theme=${themes_array[$((RANDOM % (${#themes_array[@]} - 1) + 1))]}
|
||||||
|
theme_to_set="$random_theme"
|
||||||
|
notify-send -i "$iDIR/ja.png" "Random theme:" "selected: $random_theme"
|
||||||
|
else
|
||||||
|
# Set theme to the selected choice
|
||||||
|
theme_to_set="$choice"
|
||||||
|
notify-send -i "$iDIR/ja.png" "Theme selected:" "$choice"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$zsh_path" ]; then
|
||||||
|
sed -i "s/^$var_name=.*/$var_name=\"$theme_to_set\"/" "$zsh_path"
|
||||||
|
notify-send -i "$iDIR/ja.png" "OMZ theme" "applied. restart your terminal"
|
||||||
|
else
|
||||||
|
notify-send -i "$iDIR/error.png" "E-R-R-O-R" "~.zshrc file not found!"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if rofi is already running
|
||||||
|
if pidof rofi > /dev/null; then
|
||||||
|
pkill rofi
|
||||||
|
fi
|
||||||
|
|
||||||
|
main
|
||||||
22
dotfiles/.config/hypr/anim-00-default.lua
Normal file
22
dotfiles/.config/hypr/anim-00-default.lua
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- Ported from animations/00-default.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
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.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" })
|
||||||
25
dotfiles/.config/hypr/anim-01-default-v2.lua
Normal file
25
dotfiles/.config/hypr/anim-01-default-v2.lua
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- old animations
|
||||||
|
-- Ported from animations/01-default - v2.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
hl.config({ animations = { enabled = true } })
|
||||||
|
|
||||||
|
hl.curve("myBezier", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.05 } } })
|
||||||
|
hl.curve("linear", { type = "bezier", points = { { 0.0, 0.0 }, { 1.0, 1.0 } } })
|
||||||
|
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("slow", { type = "bezier", points = { { 0, 0.85 }, { 0.3, 1 } } })
|
||||||
|
hl.curve("overshot", { type = "bezier", points = { { 0.7, 0.6 }, { 0.1, 1.1 } } })
|
||||||
|
hl.curve("bounce", { type = "bezier", points = { { 1.1, 1.6 }, { 0.1, 0.85 } } })
|
||||||
|
hl.curve("sligshot", { type = "bezier", points = { { 1, -1 }, { 0.15, 1.25 } } })
|
||||||
|
hl.curve("nice", { type = "bezier", points = { { 0, 6.9 }, { 0.5, -4.20 } } })
|
||||||
|
|
||||||
|
hl.animation({ leaf = "windowsIn", enabled = true, speed = 5, bezier = "slow", style = "popin" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 5, bezier = "winOut", style = "popin" })
|
||||||
|
hl.animation({ leaf = "windowsMove", enabled = true, speed = 5, bezier = "wind", style = "slide" })
|
||||||
|
hl.animation({ leaf = "border", enabled = true, speed = 10, bezier = "linear" })
|
||||||
|
hl.animation({ leaf = "borderangle", enabled = true, speed = 100, bezier = "linear", 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 = 5, bezier = "overshot" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 5, bezier = "wind" })
|
||||||
|
hl.animation({ leaf = "windows", enabled = true, speed = 5, bezier = "bounce", style = "popin" })
|
||||||
4
dotfiles/.config/hypr/anim-03-disable.lua
Normal file
4
dotfiles/.config/hypr/anim-03-disable.lua
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- Ported from animations/03- Disable Animation.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
hl.config({ animations = { enabled = false } })
|
||||||
39
dotfiles/.config/hypr/anim-end-4.lua
Normal file
39
dotfiles/.config/hypr/anim-end-4.lua
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- name "End-4"
|
||||||
|
-- credit https://github.com/end-4/dots-hyprland
|
||||||
|
-- Ported from animations/END-4.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
hl.config({ animations = { enabled = true } })
|
||||||
|
|
||||||
|
-- Animation curves
|
||||||
|
hl.curve("linear", { type = "bezier", points = { { 0, 0 }, { 1, 1 } } })
|
||||||
|
hl.curve("md3_standard", { type = "bezier", points = { { 0.2, 0 }, { 0, 1 } } })
|
||||||
|
hl.curve("md3_decel", { type = "bezier", points = { { 0.05, 0.7 }, { 0.1, 1 } } })
|
||||||
|
hl.curve("md3_accel", { type = "bezier", points = { { 0.3, 0 }, { 0.8, 0.15 } } })
|
||||||
|
hl.curve("overshot", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.1 } } })
|
||||||
|
hl.curve("crazyshot", { type = "bezier", points = { { 0.1, 1.5 }, { 0.76, 0.92 } } })
|
||||||
|
hl.curve("hyprnostretch", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.0 } } })
|
||||||
|
hl.curve("menu_decel", { type = "bezier", points = { { 0.1, 1 }, { 0, 1 } } })
|
||||||
|
hl.curve("menu_accel", { type = "bezier", points = { { 0.38, 0.04 }, { 1, 0.07 } } })
|
||||||
|
hl.curve("easeInOutCirc", { type = "bezier", points = { { 0.85, 0 }, { 0.15, 1 } } })
|
||||||
|
hl.curve("easeOutCirc", { type = "bezier", points = { { 0, 0.55 }, { 0.45, 1 } } })
|
||||||
|
hl.curve("easeOutExpo", { type = "bezier", points = { { 0.16, 1 }, { 0.3, 1 } } })
|
||||||
|
hl.curve("softAcDecel", { type = "bezier", points = { { 0.26, 0.26 }, { 0.15, 1 } } })
|
||||||
|
hl.curve("md2", { type = "bezier", points = { { 0.4, 0 }, { 0.2, 1 } } }) -- use with .2s duration
|
||||||
|
|
||||||
|
-- Animation configs
|
||||||
|
hl.animation({ leaf = "windows", enabled = true, speed = 3, bezier = "md3_decel", style = "popin 60%" })
|
||||||
|
hl.animation({ leaf = "windowsIn", enabled = true, speed = 3, bezier = "md3_decel", style = "popin 60%" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 3, bezier = "md3_accel", style = "popin 60%" })
|
||||||
|
hl.animation({ leaf = "border", enabled = true, speed = 10, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 3, bezier = "md3_decel" })
|
||||||
|
-- hl.animation({ leaf = "layers", enabled = true, speed = 2, bezier = "md3_decel", style = "slide" })
|
||||||
|
hl.animation({ leaf = "layersIn", enabled = true, speed = 3, bezier = "menu_decel", style = "slide" })
|
||||||
|
hl.animation({ leaf = "layersOut", enabled = true, speed = 1.6, bezier = "menu_accel" })
|
||||||
|
hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 2, bezier = "menu_decel" })
|
||||||
|
hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 4.5, bezier = "menu_accel" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 7, bezier = "menu_decel", style = "slide" })
|
||||||
|
-- hl.animation({ leaf = "workspaces", enabled = true, speed = 2.5, bezier = "softAcDecel", style = "slide" })
|
||||||
|
-- hl.animation({ leaf = "workspaces", enabled = true, speed = 7, bezier = "menu_decel", style = "slidefade 15%" })
|
||||||
|
-- hl.animation({ leaf = "specialWorkspace", enabled = true, speed = 3, bezier = "md3_decel", style = "slidefadevert 15%" })
|
||||||
|
hl.animation({ leaf = "specialWorkspace", enabled = true, speed = 3, bezier = "md3_decel", style = "slidevert" })
|
||||||
21
dotfiles/.config/hypr/anim-hyde-default.lua
Normal file
21
dotfiles/.config/hypr/anim-hyde-default.lua
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- name "Default"
|
||||||
|
-- credit https://github.com/prasanthrangan/hyprdots
|
||||||
|
-- Ported from animations/HYDE - default.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
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.animation({ leaf = "windows", enabled = true, speed = 6, bezier = "wind", style = "slide" })
|
||||||
|
hl.animation({ leaf = "windowsIn", enabled = true, speed = 6, bezier = "winIn", style = "slide" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 5, bezier = "winOut", 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 = 30, bezier = "liner", style = "once" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 10, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 5, bezier = "wind" })
|
||||||
|
hl.animation({ leaf = "specialWorkspace", enabled = true, speed = 5, bezier = "wind", style = "slidevert" })
|
||||||
20
dotfiles/.config/hypr/anim-hyde-minimal-1.lua
Normal file
20
dotfiles/.config/hypr/anim-hyde-minimal-1.lua
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- name "Minimal-1"
|
||||||
|
-- credit https://github.com/prasanthrangan/hyprdots
|
||||||
|
-- Ported from animations/HYDE - minimal-1.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
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.animation({ leaf = "windows", enabled = true, speed = 6, bezier = "wind", style = "slide" })
|
||||||
|
hl.animation({ leaf = "windowsIn", enabled = true, speed = 6, bezier = "winIn", style = "slide" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 5, bezier = "winOut", 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 = 30, bezier = "liner", style = "once" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 10, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 5, bezier = "wind" })
|
||||||
14
dotfiles/.config/hypr/anim-hyde-minimal-2.lua
Normal file
14
dotfiles/.config/hypr/anim-hyde-minimal-2.lua
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- name "Minimal-2"
|
||||||
|
-- credit https://github.com/prasanthrangan/hyprdots
|
||||||
|
-- Ported from animations/HYDE - minimal-2.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
hl.config({ animations = { enabled = true } })
|
||||||
|
|
||||||
|
hl.curve("quart", { type = "bezier", points = { { 0.25, 1 }, { 0.5, 1 } } })
|
||||||
|
|
||||||
|
hl.animation({ leaf = "windows", enabled = true, speed = 6, bezier = "quart", style = "slide" })
|
||||||
|
hl.animation({ leaf = "border", enabled = true, speed = 6, bezier = "quart" })
|
||||||
|
hl.animation({ leaf = "borderangle", enabled = true, speed = 6, bezier = "quart" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 6, bezier = "quart" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 6, bezier = "quart" })
|
||||||
40
dotfiles/.config/hypr/anim-hyde-optimized.lua
Normal file
40
dotfiles/.config/hypr/anim-hyde-optimized.lua
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- name "Optimized"
|
||||||
|
-- credit https://github.com/prasanthrangan/hyprdots
|
||||||
|
-- Ported from animations/HYDE - optimized.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
hl.config({ animations = { enabled = true } })
|
||||||
|
|
||||||
|
hl.curve("wind", { type = "bezier", points = { { 0.05, 0.85 }, { 0.03, 0.97 } } })
|
||||||
|
hl.curve("winIn", { type = "bezier", points = { { 0.07, 0.88 }, { 0.04, 0.99 } } })
|
||||||
|
hl.curve("winOut", { type = "bezier", points = { { 0.20, -0.15 }, { 0, 1 } } })
|
||||||
|
hl.curve("liner", { type = "bezier", points = { { 1, 1 }, { 1, 1 } } })
|
||||||
|
hl.curve("md3_standard", { type = "bezier", points = { { 0.12, 0 }, { 0, 1 } } })
|
||||||
|
hl.curve("md3_decel", { type = "bezier", points = { { 0.05, 0.80 }, { 0.10, 0.97 } } })
|
||||||
|
hl.curve("md3_accel", { type = "bezier", points = { { 0.20, 0 }, { 0.80, 0.08 } } })
|
||||||
|
hl.curve("overshot", { type = "bezier", points = { { 0.05, 0.85 }, { 0.07, 1.04 } } })
|
||||||
|
hl.curve("crazyshot", { type = "bezier", points = { { 0.1, 1.22 }, { 0.68, 0.98 } } })
|
||||||
|
hl.curve("hyprnostretch", { type = "bezier", points = { { 0.05, 0.82 }, { 0.03, 0.94 } } })
|
||||||
|
hl.curve("menu_decel", { type = "bezier", points = { { 0.05, 0.82 }, { 0, 1 } } })
|
||||||
|
hl.curve("menu_accel", { type = "bezier", points = { { 0.20, 0 }, { 0.82, 0.10 } } })
|
||||||
|
hl.curve("easeInOutCirc", { type = "bezier", points = { { 0.75, 0 }, { 0.15, 1 } } })
|
||||||
|
hl.curve("easeOutCirc", { type = "bezier", points = { { 0, 0.48 }, { 0.38, 1 } } })
|
||||||
|
hl.curve("easeOutExpo", { type = "bezier", points = { { 0.10, 0.94 }, { 0.23, 0.98 } } })
|
||||||
|
hl.curve("softAcDecel", { type = "bezier", points = { { 0.20, 0.20 }, { 0.15, 1 } } })
|
||||||
|
hl.curve("md2", { type = "bezier", points = { { 0.30, 0 }, { 0.15, 1 } } })
|
||||||
|
|
||||||
|
hl.curve("OutBack", { type = "bezier", points = { { 0.28, 1.40 }, { 0.58, 1 } } })
|
||||||
|
hl.curve("easeInOutCirc", { type = "bezier", points = { { 0.78, 0 }, { 0.15, 1 } } })
|
||||||
|
|
||||||
|
hl.animation({ leaf = "border", enabled = true, speed = 1.6, bezier = "liner" })
|
||||||
|
hl.animation({ leaf = "borderangle", enabled = true, speed = 82, bezier = "liner", style = "once" })
|
||||||
|
hl.animation({ leaf = "windowsIn", enabled = true, speed = 3.2, bezier = "winIn", style = "slide" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 2.8, bezier = "easeOutCirc" })
|
||||||
|
hl.animation({ leaf = "windowsMove", enabled = true, speed = 3.0, bezier = "wind", style = "slide" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 1.8, bezier = "md3_decel" })
|
||||||
|
hl.animation({ leaf = "layersIn", enabled = true, speed = 1.8, bezier = "menu_decel", style = "slide" })
|
||||||
|
hl.animation({ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "menu_accel" })
|
||||||
|
hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.6, bezier = "menu_decel" })
|
||||||
|
hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.8, bezier = "menu_accel" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 4.0, bezier = "menu_decel", style = "slide" })
|
||||||
|
hl.animation({ leaf = "specialWorkspace", enabled = true, speed = 2.3, bezier = "md3_decel", style = "slidefadevert 15%" })
|
||||||
32
dotfiles/.config/hypr/anim-hyde-vertical.lua
Normal file
32
dotfiles/.config/hypr/anim-hyde-vertical.lua
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- name "Vertical"
|
||||||
|
-- credit https://github.com/prasanthrangan/hyprdots
|
||||||
|
-- Ported from animations/HYDE - Vertical.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
hl.config({ animations = { enabled = true } })
|
||||||
|
|
||||||
|
hl.curve("fluent_decel", { type = "bezier", points = { { 0, 0.2 }, { 0.4, 1 } } })
|
||||||
|
hl.curve("easeOutCirc", { type = "bezier", points = { { 0, 0.55 }, { 0.45, 1 } } })
|
||||||
|
hl.curve("easeOutCubic", { type = "bezier", points = { { 0.33, 1 }, { 0.68, 1 } } })
|
||||||
|
hl.curve("easeinoutsine", { type = "bezier", points = { { 0.37, 0 }, { 0.63, 1 } } })
|
||||||
|
|
||||||
|
-- Windows
|
||||||
|
hl.animation({ leaf = "windowsIn", enabled = true, speed = 1.5, bezier = "easeinoutsine", style = "popin 60%" }) -- window open
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.5, bezier = "easeOutCubic", style = "popin 60%" }) -- window close.
|
||||||
|
hl.animation({ leaf = "windowsMove", enabled = true, speed = 1.5, bezier = "easeinoutsine", style = "slide" }) -- everything in between, moving, dragging, resizing.
|
||||||
|
|
||||||
|
-- Fading
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 2.5, bezier = "fluent_decel" })
|
||||||
|
|
||||||
|
hl.animation({ leaf = "fadeLayersIn", enabled = false })
|
||||||
|
hl.animation({ leaf = "border", enabled = false })
|
||||||
|
|
||||||
|
-- Layers
|
||||||
|
hl.animation({ leaf = "layers", enabled = true, speed = 1.5, bezier = "easeinoutsine", style = "popin" })
|
||||||
|
|
||||||
|
-- Workspaces
|
||||||
|
-- styles: slide, slidevert, fade, slidefade, slidefadevert
|
||||||
|
-- hl.animation({ leaf = "workspaces", enabled = true, speed = 3, bezier = "fluent_decel", style = "slidefade 30%" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 3, bezier = "fluent_decel", style = "slidefadevert 30%" })
|
||||||
|
|
||||||
|
hl.animation({ leaf = "specialWorkspace", enabled = true, speed = 2, bezier = "fluent_decel", style = "slidefade 10%" })
|
||||||
52
dotfiles/.config/hypr/anim-mahaveer-1.lua
Normal file
52
dotfiles/.config/hypr/anim-mahaveer-1.lua
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- name "Me-1"
|
||||||
|
-- credit https://github.com/mahaveergurjar
|
||||||
|
-- Ported from animations/Mahaveer - me-1.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
hl.config({ animations = { enabled = true } })
|
||||||
|
|
||||||
|
-- Animation curves
|
||||||
|
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("linear", { type = "bezier", points = { {0,0}, {1,1} } })
|
||||||
|
hl.curve("md3_standard", { type = "bezier", points = { { 0.2, 0 }, { 0, 1 } } })
|
||||||
|
hl.curve("md3_decel", { type = "bezier", points = { { 0.05, 0.7 }, { 0.1, 1 } } })
|
||||||
|
hl.curve("md3_accel", { type = "bezier", points = { { 0.3, 0 }, { 0.8, 0.15 } } })
|
||||||
|
hl.curve("overshot", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.1 } } })
|
||||||
|
hl.curve("crazyshot", { type = "bezier", points = { { 0.1, 1.5 }, { 0.76, 0.92 } } })
|
||||||
|
hl.curve("hyprnostretch", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.0 } } })
|
||||||
|
hl.curve("menu_decel", { type = "bezier", points = { { 0.1, 1 }, { 0, 1 } } })
|
||||||
|
hl.curve("menu_accel", { type = "bezier", points = { { 0.38, 0.04 }, { 1, 0.07 } } })
|
||||||
|
hl.curve("easeInOutCirc", { type = "bezier", points = { { 0.85, 0 }, { 0.15, 1 } } })
|
||||||
|
hl.curve("easeOutCirc", { type = "bezier", points = { { 0, 0.55 }, { 0.45, 1 } } })
|
||||||
|
hl.curve("easeOutExpo", { type = "bezier", points = { { 0.16, 1 }, { 0.3, 1 } } })
|
||||||
|
hl.curve("softAcDecel", { type = "bezier", points = { { 0.26, 0.26 }, { 0.15, 1 } } })
|
||||||
|
hl.curve("md2", { type = "bezier", points = { { 0.4, 0 }, { 0.2, 1 } } }) -- use with .2s duration
|
||||||
|
|
||||||
|
-- Animation configs
|
||||||
|
-- hl.animation({ leaf = "windows", enabled = true, speed = 3, bezier = "md3_decel", style = "popin 60%" })
|
||||||
|
-- hl.animation({ leaf = "windowsIn", enabled = true, speed = 3, bezier = "md3_decel", style = "popin 60%" })
|
||||||
|
-- hl.animation({ leaf = "windowsOut", enabled = true, speed = 3, bezier = "md3_accel", style = "popin 60%" })
|
||||||
|
-- hl.animation({ leaf = "windows", enabled = true, speed = 6, bezier = "wind", style = "slide" })
|
||||||
|
hl.animation({ leaf = "border", enabled = true, speed = 1, bezier = "liner" })
|
||||||
|
hl.animation({ leaf = "borderangle", enabled = true, speed = 30, bezier = "liner", style = "once" })
|
||||||
|
hl.animation({ leaf = "windows", enabled = true, speed = 6, bezier = "wind", style = "slide" })
|
||||||
|
hl.animation({ leaf = "windowsIn", enabled = true, speed = 6, bezier = "winIn", style = "slide" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 5, bezier = "winOut", style = "slide" })
|
||||||
|
hl.animation({ leaf = "windowsMove", enabled = true, speed = 5, bezier = "wind", style = "slide" })
|
||||||
|
|
||||||
|
-- hl.animation({ leaf = "border", enabled = true, speed = 10, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 3, bezier = "md3_decel" })
|
||||||
|
-- hl.animation({ leaf = "layers", enabled = true, speed = 2, bezier = "md3_decel", style = "slide" })
|
||||||
|
hl.animation({ leaf = "layersIn", enabled = true, speed = 3, bezier = "menu_decel", style = "slide" })
|
||||||
|
hl.animation({ leaf = "layersOut", enabled = true, speed = 1.6, bezier = "menu_accel" })
|
||||||
|
hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 2, bezier = "menu_decel" })
|
||||||
|
hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 4.5, bezier = "menu_accel" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 7, bezier = "menu_decel", style = "slide" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 5, bezier = "wind" })
|
||||||
|
-- hl.animation({ leaf = "workspaces", enabled = true, speed = 2.5, bezier = "softAcDecel", style = "slide" })
|
||||||
|
-- hl.animation({ leaf = "workspaces", enabled = true, speed = 7, bezier = "menu_decel", style = "slidefade 15%" })
|
||||||
|
hl.animation({ leaf = "specialWorkspace", enabled = true, speed = 3, bezier = "md3_decel", style = "slidefadevert 15%" })
|
||||||
|
hl.animation({ leaf = "specialWorkspace", enabled = true, speed = 3, bezier = "md3_decel", style = "slidevert" })
|
||||||
27
dotfiles/.config/hypr/anim-mahaveer-2.lua
Normal file
27
dotfiles/.config/hypr/anim-mahaveer-2.lua
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- name "Me-2"
|
||||||
|
-- credit https://github.com/mahaveergurjar
|
||||||
|
-- Ported from animations/Mahaveer - me-2.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
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" })
|
||||||
15
dotfiles/.config/hypr/anim-ml4w-classic.lua
Normal file
15
dotfiles/.config/hypr/anim-ml4w-classic.lua
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- name "Classic"
|
||||||
|
-- credit https://github.com/mylinuxforwork/dotfiles
|
||||||
|
-- Ported from animations/ML4W - classic.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
hl.config({ animations = { enabled = true } })
|
||||||
|
|
||||||
|
hl.curve("myBezier", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.05 } } })
|
||||||
|
|
||||||
|
hl.animation({ leaf = "windows", enabled = true, speed = 7, bezier = "myBezier" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 7, bezier = "default", style = "popin 80%" })
|
||||||
|
hl.animation({ leaf = "border", enabled = true, speed = 10, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "borderangle", enabled = true, speed = 8, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 7, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 6, bezier = "default" })
|
||||||
20
dotfiles/.config/hypr/anim-ml4w-dynamic.lua
Normal file
20
dotfiles/.config/hypr/anim-ml4w-dynamic.lua
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- name "Dynamic"
|
||||||
|
-- credit https://github.com/mylinuxforwork/dotfiles
|
||||||
|
-- Ported from animations/ML4W - dynamic.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
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.animation({ leaf = "windows", enabled = true, speed = 6, bezier = "wind", style = "slide" })
|
||||||
|
hl.animation({ leaf = "windowsIn", enabled = true, speed = 6, bezier = "winIn", style = "slide" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 5, bezier = "winOut", 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 = 30, bezier = "liner", style = "loop" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 10, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 5, bezier = "wind" })
|
||||||
24
dotfiles/.config/hypr/anim-ml4w-fast.lua
Normal file
24
dotfiles/.config/hypr/anim-ml4w-fast.lua
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- name "Fast"
|
||||||
|
-- credit https://github.com/mylinuxforwork/dotfiles
|
||||||
|
-- Ported from animations/ML4W - fast.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
hl.config({ animations = { enabled = true } })
|
||||||
|
|
||||||
|
hl.curve("linear", { type = "bezier", points = { { 0, 0 }, { 1, 1 } } })
|
||||||
|
hl.curve("md3_standard", { type = "bezier", points = { { 0.2, 0 }, { 0, 1 } } })
|
||||||
|
hl.curve("md3_decel", { type = "bezier", points = { { 0.05, 0.7 }, { 0.1, 1 } } })
|
||||||
|
hl.curve("md3_accel", { type = "bezier", points = { { 0.3, 0 }, { 0.8, 0.15 } } })
|
||||||
|
hl.curve("overshot", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.1 } } })
|
||||||
|
hl.curve("crazyshot", { type = "bezier", points = { { 0.1, 1.5 }, { 0.76, 0.92 } } })
|
||||||
|
hl.curve("hyprnostretch", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.0 } } })
|
||||||
|
hl.curve("fluent_decel", { type = "bezier", points = { { 0.1, 1 }, { 0, 1 } } })
|
||||||
|
hl.curve("easeInOutCirc", { type = "bezier", points = { { 0.85, 0 }, { 0.15, 1 } } })
|
||||||
|
hl.curve("easeOutCirc", { type = "bezier", points = { { 0, 0.55 }, { 0.45, 1 } } })
|
||||||
|
hl.curve("easeOutExpo", { type = "bezier", points = { { 0.16, 1 }, { 0.3, 1 } } })
|
||||||
|
|
||||||
|
hl.animation({ leaf = "windows", enabled = true, speed = 3, bezier = "md3_decel", style = "popin 60%" })
|
||||||
|
hl.animation({ leaf = "border", enabled = true, speed = 10, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 2.5, bezier = "md3_decel" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 3.5, bezier = "easeOutExpo", style = "slide" })
|
||||||
|
hl.animation({ leaf = "specialWorkspace", enabled = true, speed = 3, bezier = "md3_decel", style = "slidevert" })
|
||||||
20
dotfiles/.config/hypr/anim-ml4w-high.lua
Normal file
20
dotfiles/.config/hypr/anim-ml4w-high.lua
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- name "High"
|
||||||
|
-- credit https://github.com/mylinuxforwork/dotfiles
|
||||||
|
-- Ported from animations/ML4W - high.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
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.animation({ leaf = "windows", enabled = true, speed = 6, bezier = "wind", style = "slide" })
|
||||||
|
hl.animation({ leaf = "windowsIn", enabled = true, speed = 6, bezier = "winIn", style = "slide" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 5, bezier = "winOut", 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 = 30, bezier = "liner", style = "once" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 10, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 5, bezier = "wind" })
|
||||||
19
dotfiles/.config/hypr/anim-ml4w-moving.lua
Normal file
19
dotfiles/.config/hypr/anim-ml4w-moving.lua
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- name "Moving"
|
||||||
|
-- credit https://github.com/mylinuxforwork/dotfiles
|
||||||
|
-- Ported from animations/ML4W - moving.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
hl.config({ animations = { enabled = true } })
|
||||||
|
|
||||||
|
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 = 5, bezier = "overshot", style = "slide" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 3, bezier = "smoothOut" })
|
||||||
|
hl.animation({ leaf = "windowsIn", enabled = true, speed = 3, bezier = "smoothOut" })
|
||||||
|
hl.animation({ leaf = "windowsMove", enabled = true, speed = 4, bezier = "smoothIn", style = "slide" })
|
||||||
|
hl.animation({ leaf = "border", enabled = true, speed = 5, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 5, bezier = "smoothIn" })
|
||||||
|
hl.animation({ leaf = "fadeDim", enabled = true, speed = 5, bezier = "smoothIn" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 6, bezier = "default" })
|
||||||
15
dotfiles/.config/hypr/anim-ml4w-standard.lua
Normal file
15
dotfiles/.config/hypr/anim-ml4w-standard.lua
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- name "Standard"
|
||||||
|
-- credit https://github.com/mylinuxforwork/dotfiles
|
||||||
|
-- Ported from animations/ML4W - standard.conf (unused preset — not required by anything)
|
||||||
|
|
||||||
|
hl.config({ animations = { enabled = true } })
|
||||||
|
|
||||||
|
hl.curve("myBezier", { type = "bezier", points = { { 0.05, 0.9 }, { 0.1, 1.05 } } })
|
||||||
|
|
||||||
|
hl.animation({ leaf = "windows", enabled = true, speed = 7, bezier = "myBezier" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 7, bezier = "default", style = "popin 80%" })
|
||||||
|
hl.animation({ leaf = "border", enabled = true, speed = 10, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "borderangle", enabled = true, speed = 8, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 7, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 6, bezier = "default" })
|
||||||
33
dotfiles/.config/hypr/animations.lua
Normal file
33
dotfiles/.config/hypr/animations.lua
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- Ported from UserConfigs/UserAnimations.conf (the active preset)
|
||||||
|
--
|
||||||
|
-- The 14 alternative presets from animations/*.conf were also ported, flat, as
|
||||||
|
-- anim-*.lua (see the plan) — none of them are wired in. To switch styles, replace
|
||||||
|
-- the body of this file with `require("anim-<preset>")`, e.g. require("anim-ml4w-classic").
|
||||||
|
|
||||||
|
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" })
|
||||||
25
dotfiles/.config/hypr/animations/00-default.conf
Normal file
25
dotfiles/.config/hypr/animations/00-default.conf
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
26
dotfiles/.config/hypr/animations/01-default - v2.conf
Normal file
26
dotfiles/.config/hypr/animations/01-default - v2.conf
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
animations {
|
||||||
|
enabled = no
|
||||||
|
}
|
||||||
39
dotfiles/.config/hypr/animations/END-4.conf
Normal file
39
dotfiles/.config/hypr/animations/END-4.conf
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
33
dotfiles/.config/hypr/animations/HYDE - Vertical.conf
Normal file
33
dotfiles/.config/hypr/animations/HYDE - Vertical.conf
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# 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%
|
||||||
|
}
|
||||||
20
dotfiles/.config/hypr/animations/HYDE - default.conf
Normal file
20
dotfiles/.config/hypr/animations/HYDE - default.conf
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
26
dotfiles/.config/hypr/animations/HYDE - minimal-1.conf
Normal file
26
dotfiles/.config/hypr/animations/HYDE - minimal-1.conf
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
15
dotfiles/.config/hypr/animations/HYDE - minimal-2.conf
Normal file
15
dotfiles/.config/hypr/animations/HYDE - minimal-2.conf
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
40
dotfiles/.config/hypr/animations/HYDE - optimized.conf
Normal file
40
dotfiles/.config/hypr/animations/HYDE - optimized.conf
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
# 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%
|
||||||
|
}
|
||||||
14
dotfiles/.config/hypr/animations/ML4W - classic.conf
Normal file
14
dotfiles/.config/hypr/animations/ML4W - classic.conf
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
19
dotfiles/.config/hypr/animations/ML4W - dynamic.conf
Normal file
19
dotfiles/.config/hypr/animations/ML4W - dynamic.conf
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
23
dotfiles/.config/hypr/animations/ML4W - fast.conf
Normal file
23
dotfiles/.config/hypr/animations/ML4W - fast.conf
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
19
dotfiles/.config/hypr/animations/ML4W - high.conf
Normal file
19
dotfiles/.config/hypr/animations/ML4W - high.conf
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
19
dotfiles/.config/hypr/animations/ML4W - moving.conf
Normal file
19
dotfiles/.config/hypr/animations/ML4W - moving.conf
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
14
dotfiles/.config/hypr/animations/ML4W - standard.conf
Normal file
14
dotfiles/.config/hypr/animations/ML4W - standard.conf
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
54
dotfiles/.config/hypr/animations/Mahaveer - me-1.conf
Normal file
54
dotfiles/.config/hypr/animations/Mahaveer - me-1.conf
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
29
dotfiles/.config/hypr/animations/Mahaveer - me-2.conf
Normal file
29
dotfiles/.config/hypr/animations/Mahaveer - me-2.conf
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# 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
|
||||||
|
}
|
||||||
8
dotfiles/.config/hypr/application-style.conf
Normal file
8
dotfiles/.config/hypr/application-style.conf
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# as per Hyprland wiki: hyprland-qt-support provides a QML style for hypr* qt6 apps
|
||||||
|
|
||||||
|
roundess = 2
|
||||||
|
|
||||||
|
border_width = 0
|
||||||
|
|
||||||
|
reduce_motion = false
|
||||||
26
dotfiles/.config/hypr/colors.lua
Normal file
26
dotfiles/.config/hypr/colors.lua
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- HyprFlux static color palette
|
||||||
|
-- Ported from colours/hyprflux-colors.conf
|
||||||
|
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
M.background = "rgb(010102)"
|
||||||
|
M.foreground = "rgb(FDF8FE)"
|
||||||
|
M.color0 = "rgb(313131)"
|
||||||
|
M.color1 = "rgb(09050C)"
|
||||||
|
M.color2 = "rgb(221647)"
|
||||||
|
M.color3 = "rgb(2C1A40)"
|
||||||
|
M.color4 = "rgb(5E3887)"
|
||||||
|
M.color5 = "rgb(7344A6)"
|
||||||
|
M.color6 = "rgb(BAB0BD)"
|
||||||
|
M.color7 = "rgb(F3ECF5)"
|
||||||
|
M.color8 = "rgb(AAA5AC)"
|
||||||
|
M.color9 = "rgb(0B0711)"
|
||||||
|
M.color10 = "rgb(2D1D5F)"
|
||||||
|
M.color11 = "rgb(3B2355)"
|
||||||
|
M.color12 = "rgb(7D4AB4)"
|
||||||
|
M.color13 = "rgb(9A5BDD)"
|
||||||
|
M.color14 = "rgb(F8EAFC)"
|
||||||
|
M.color15 = "rgb(F3ECF5)"
|
||||||
|
|
||||||
|
return M
|
||||||
21
dotfiles/.config/hypr/colours/hyprflux-colors.conf
Normal file
21
dotfiles/.config/hypr/colours/hyprflux-colors.conf
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# 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)
|
||||||
65
dotfiles/.config/hypr/decorations.lua
Normal file
65
dotfiles/.config/hypr/decorations.lua
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- Decoration Settings
|
||||||
|
-- Ported from UserConfigs/UserDecorations.conf
|
||||||
|
--
|
||||||
|
-- Hyprland Wiki Links
|
||||||
|
-- Animation - https://wiki.hyprland.org/Configuring/Animations/
|
||||||
|
-- Decoration - https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||||
|
|
||||||
|
local colors = require("colors")
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
general = {
|
||||||
|
border_size = 2,
|
||||||
|
gaps_in = 2,
|
||||||
|
gaps_out = 4,
|
||||||
|
|
||||||
|
col = {
|
||||||
|
active_border = colors.color12,
|
||||||
|
inactive_border = colors.color10,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 10,
|
||||||
|
|
||||||
|
active_opacity = 1.0,
|
||||||
|
inactive_opacity = 0.9,
|
||||||
|
fullscreen_opacity = 1.0,
|
||||||
|
|
||||||
|
dim_inactive = true,
|
||||||
|
dim_strength = 0.1,
|
||||||
|
dim_special = 0.8,
|
||||||
|
|
||||||
|
shadow = {
|
||||||
|
enabled = false,
|
||||||
|
range = 3,
|
||||||
|
render_power = 1,
|
||||||
|
|
||||||
|
color = colors.color12,
|
||||||
|
color_inactive = colors.color10,
|
||||||
|
},
|
||||||
|
|
||||||
|
blur = {
|
||||||
|
enabled = true,
|
||||||
|
size = 6,
|
||||||
|
passes = 2,
|
||||||
|
ignore_opacity = true,
|
||||||
|
new_optimizations = true,
|
||||||
|
special = true,
|
||||||
|
popups = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
group = {
|
||||||
|
col = {
|
||||||
|
border_active = colors.color15,
|
||||||
|
},
|
||||||
|
|
||||||
|
groupbar = {
|
||||||
|
col = {
|
||||||
|
active = colors.color0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
87
dotfiles/.config/hypr/env.lua
Normal file
87
dotfiles/.config/hypr/env.lua
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- Environment variables. See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Environment-variables/
|
||||||
|
-- Ported from UserConfigs/ENVariables.conf
|
||||||
|
|
||||||
|
-- Toolkit Backend Variables
|
||||||
|
hl.env("GDK_BACKEND", "wayland,x11,*")
|
||||||
|
hl.env("QT_QPA_PLATFORM", "wayland;xcb")
|
||||||
|
hl.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
|
||||||
|
-- hl.env("SDL_VIDEODRIVER", "wayland")
|
||||||
|
|
||||||
|
-- xdg Specifications
|
||||||
|
hl.env("XDG_CURRENT_DESKTOP", "Hyprland")
|
||||||
|
hl.env("XDG_SESSION_DESKTOP", "Hyprland")
|
||||||
|
hl.env("XDG_SESSION_TYPE", "wayland")
|
||||||
|
|
||||||
|
-- QT Variables
|
||||||
|
hl.env("QT_AUTO_SCREEN_SCALE_FACTOR", "1")
|
||||||
|
hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION", "1")
|
||||||
|
hl.env("QT_QPA_PLATFORMTHEME", "qt5ct")
|
||||||
|
hl.env("QT_QPA_PLATFORMTHEME", "qt6ct")
|
||||||
|
|
||||||
|
-- hyprland-qt-support
|
||||||
|
hl.env("QT_QUICK_CONTROLS_STYLE", "org.hyprland.style")
|
||||||
|
|
||||||
|
-- xwayland apps scale fix (useful if you use monitor scaling).
|
||||||
|
-- Set same value if you use scaling in monitors.lua
|
||||||
|
-- 1 is 100% 1.5 is 150%
|
||||||
|
-- see https://wiki.hyprland.org/Configuring/XWayland/
|
||||||
|
hl.env("GDK_SCALE", "1")
|
||||||
|
hl.env("QT_SCALE_FACTOR", "1")
|
||||||
|
|
||||||
|
-- Bibata-Modern-Ice-Cursor
|
||||||
|
-- NOTE! You must have the hyprcursor version to activate this.
|
||||||
|
-- https://wiki.hyprland.org/Hypr-Ecosystem/hyprcursor/
|
||||||
|
hl.env("HYPRCURSOR_THEME", "Bibata-Modern-Classic")
|
||||||
|
hl.env("HYPRCURSOR_SIZE", "24")
|
||||||
|
|
||||||
|
-- firefox
|
||||||
|
hl.env("MOZ_ENABLE_WAYLAND", "1")
|
||||||
|
|
||||||
|
-- electron >28 apps (may help) ##
|
||||||
|
-- https://www.electronjs.org/docs/latest/api/environment-variables
|
||||||
|
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto") -- auto selects Wayland if possible, X11 otherwise
|
||||||
|
|
||||||
|
-- NVIDIA
|
||||||
|
-- This is from the Hyprland wiki. Uncomment below if an nvidia GPU is detected.
|
||||||
|
-- See hyprland wiki https://wiki.hyprland.org/Nvidia/#environment-variables
|
||||||
|
|
||||||
|
-- hl.env("LIBVA_DRIVER_NAME", "nvidia")
|
||||||
|
-- hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia")
|
||||||
|
-- hl.env("NVD_BACKEND", "direct")
|
||||||
|
-- hl.env("GSK_RENDERER", "ngl")
|
||||||
|
|
||||||
|
-- additional ENV's for nvidia. Caution, activate with care
|
||||||
|
-- hl.env("GBM_BACKEND", "nvidia-drm")
|
||||||
|
|
||||||
|
-- hl.env("__GL_GSYNC_ALLOWED", "1") -- adaptive Vsync
|
||||||
|
-- hl.env("__NV_PRIME_RENDER_OFFLOAD", "1")
|
||||||
|
-- hl.env("__VK_LAYER_NV_optimus", "NVIDIA_only")
|
||||||
|
-- hl.env("WLR_DRM_NO_ATOMIC", "1")
|
||||||
|
|
||||||
|
-- FOR VM and POSSIBLY NVIDIA
|
||||||
|
-- LIBGL_ALWAYS_SOFTWARE software mesa rendering
|
||||||
|
-- hl.env("LIBGL_ALWAYS_SOFTWARE", "1") -- Warning. May cause hyprland to crash
|
||||||
|
-- hl.env("WLR_RENDERER_ALLOW_SOFTWARE", "1")
|
||||||
|
|
||||||
|
-- nvidia firefox (for hardware acceleration on FF)?
|
||||||
|
-- check this post https://github.com/elFarto/nvidia-vaapi-driver#configuration
|
||||||
|
-- hl.env("MOZ_DISABLE_RDD_SANDBOX", "1")
|
||||||
|
-- hl.env("EGL_PLATFORM", "wayland")
|
||||||
|
|
||||||
|
---- Aquamarine Environment Variables ---- ( Hyprland > 0.45 )
|
||||||
|
-- https://wiki.hyprland.org/Configuring/Environment-variables/#aquamarine-environment-variables
|
||||||
|
-- hl.env("AQ_TRACE", "1") -- Enables more verbose logging.
|
||||||
|
-- hl.env("AQ_DRM_DEVICES", "/dev/dri/card1:/dev/dri/card0") -- explicit list of DRM devices (GPUs) to use.
|
||||||
|
-- hl.env("AQ_MGPU_NO_EXPLICIT", "1") -- Disables explicit syncing on mgpu buffers
|
||||||
|
-- hl.env("AQ_NO_MODIFIERS", "1") -- Disables modifiers for DRM buffers
|
||||||
|
|
||||||
|
---- Hyprland Environment Variables ----
|
||||||
|
-- https://wiki.hyprland.org/Configuring/Environment-variables/#hyprland-environment-variables
|
||||||
|
-- hl.env("HYPRLAND_TRACE", "1") -- Enables more verbose logging.
|
||||||
|
-- hl.env("HYPRLAND_NO_RT", "1") -- Disables realtime priority setting by Hyprland.
|
||||||
|
-- hl.env("HYPRLAND_NO_SD_NOTIFY", "1") -- If systemd, disables the 'sd_notify' calls.
|
||||||
|
-- hl.env("HYPRLAND_NO_SD_VARS", "1") -- Disables management of variables in systemd and dbus activation environments.
|
||||||
50
dotfiles/.config/hypr/hypridle.conf
Normal file
50
dotfiles/.config/hypr/hypridle.conf
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# Hypridle
|
||||||
|
# Original config submitted by https://github.com/SherLock707
|
||||||
|
|
||||||
|
$iDIR="$HOME/.config/swaync/images/profile-pic.jpg"
|
||||||
|
|
||||||
|
general {
|
||||||
|
lock_cmd = pidof hyprlock || hyprlock # runs hyprlock if it is not already running (this is always run when "loginctl lock-session" is called)
|
||||||
|
# unlock_cmd = killall hyprlock # kills hyprlock when unlocking (this is always run when "loginctl unlock-session" is called)
|
||||||
|
before_sleep_cmd = loginctl lock-session # ensures that the session is locked before going to sleep
|
||||||
|
after_sleep_cmd = hyprctl dispatch dpms on # turn of screen after sleep (not strictly necessary, but just in case)
|
||||||
|
ignore_dbus_inhibit = false # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam)
|
||||||
|
}
|
||||||
|
|
||||||
|
# turn off screen faster if session is already locked
|
||||||
|
# (disabled by default)
|
||||||
|
# listener {
|
||||||
|
# timeout = 30 # 30 seconds
|
||||||
|
# on-timeout = pidof hyprlock && hyprctl dispatch dpms off # turns off the screen if hyprlock is active
|
||||||
|
# on-resume = pidof hyprlock && hyprctl dispatch dpms on # command to run when activity is detected after timeout has fired.
|
||||||
|
# }
|
||||||
|
|
||||||
|
# Warn
|
||||||
|
listener {
|
||||||
|
timeout = 540 # 9 min
|
||||||
|
on-timeout = notify-send -i $iDIR " You are idle!" # command to run when timeout has passed
|
||||||
|
on-resume = notify-send -i $iDIR " Oh! you're Back" " Hello !!!" # command to run when activity is detected after timeout has fired.
|
||||||
|
}
|
||||||
|
|
||||||
|
# Screenlock
|
||||||
|
listener {
|
||||||
|
timeout = 600 # 10 min
|
||||||
|
on-timeout = loginctl lock-session # command to run when timeout has passed
|
||||||
|
#on-resume = notify-send -i $iDIR " System Unlocked!" # command to run when activity is detected after timeout has fired.
|
||||||
|
}
|
||||||
|
|
||||||
|
# Turn off screen
|
||||||
|
# (disabled by default)
|
||||||
|
# listener {
|
||||||
|
# timeout = 630 # 10.5 min
|
||||||
|
# on-timeout = hyprctl dispatch dpms off # command to run when timeout has passed
|
||||||
|
# on-resume = hyprctl dispatch dpms on # command to run when activity is detected after timeout has fired.
|
||||||
|
# }
|
||||||
|
|
||||||
|
# Suspend # disabled by default
|
||||||
|
# listener {
|
||||||
|
# timeout = 1200 # 20 min
|
||||||
|
# on-timeout = systemctl suspend # command to run when timeout has passed
|
||||||
|
# on-resume = notify-send -i $iDIR " Oh! you're back" "Hello !!!" # command to run when activity is detected after timeout has fired.
|
||||||
|
# }
|
||||||
15
dotfiles/.config/hypr/hyprland-gui.conf
Normal file
15
dotfiles/.config/hypr/hyprland-gui.conf
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# Generated by HyprMod
|
||||||
|
|
||||||
|
general:allow_tearing = 1
|
||||||
|
general:snap:enabled = 0
|
||||||
|
misc:vrr = 1
|
||||||
|
|
||||||
|
# Monitors
|
||||||
|
monitor = DP-2, 1920x1080@165.00Hz, 0x0, 1, bitdepth, 10, cm, wide
|
||||||
|
|
||||||
|
# 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
|
||||||
34
dotfiles/.config/hypr/hyprland.conf
Normal file
34
dotfiles/.config/hypr/hyprland.conf
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# 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
|
||||||
38
dotfiles/.config/hypr/hyprland.lua
Normal file
38
dotfiles/.config/hypr/hyprland.lua
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- Ported from hyprland.conf — see https://wiki.hyprland.org/
|
||||||
|
--
|
||||||
|
-- This mirrors the old source= chain 1:1, just as require()'d Lua modules instead
|
||||||
|
-- of hyprlang includes. See each file for its origin. The animations/ preset library
|
||||||
|
-- (anim-*.lua) is also ported but intentionally not required from here — only the
|
||||||
|
-- currently-active style (animations.lua) is wired in, exactly like before.
|
||||||
|
|
||||||
|
-- Initial boot script: applies initial wallpapers, theming, new settings etc.
|
||||||
|
-- suggest not changing/deleting this, including the reference file at ~/.config/hypr/.initial_startup_done
|
||||||
|
-- as long as that reference file is present, initial-boot.sh will not execute
|
||||||
|
hl.on("hyprland.start", function()
|
||||||
|
hl.exec_cmd(os.getenv("HOME") .. "/.config/hypr/initial-boot.sh")
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- ## This is where you want to start tinkering
|
||||||
|
require("startup") -- put your start-up packages in startup.lua
|
||||||
|
require("env") -- Environment variables to load
|
||||||
|
require("windowrules") -- all about Hyprland Window Rules and Layer Rules
|
||||||
|
require("decorations") -- Decorations config
|
||||||
|
require("animations") -- Animation config
|
||||||
|
require("keybinds") -- Put your own keybinds here
|
||||||
|
require("settings") -- Main Hyprland Settings
|
||||||
|
|
||||||
|
-- nwg-displays / hyprdynamicmonitors
|
||||||
|
require("monitors")
|
||||||
|
require("workspaces")
|
||||||
|
|
||||||
|
-- NOTE: the original hyprland.conf used a plain `exec` (not `exec-once`) here, so it
|
||||||
|
-- re-ran on every `hyprctl reload`, not just at startup. hl.on("hyprland.start", ...)
|
||||||
|
-- only fires once at actual compositor start — close enough for a one-shot gsettings
|
||||||
|
-- call, but worth knowing if you relied on the reload-time re-apply.
|
||||||
|
hl.on("hyprland.start", function()
|
||||||
|
hl.exec_cmd("gsettings set org.gnome.desktop.interface cursor-theme Future-black Cursors")
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- HyprMod managed settings
|
||||||
|
require("hyprmod")
|
||||||
228
dotfiles/.config/hypr/hyprlock.conf
Normal file
228
dotfiles/.config/hypr/hyprlock.conf
Normal file
@@ -0,0 +1,228 @@
|
|||||||
|
# BACKGROUND
|
||||||
|
background {
|
||||||
|
monitor =
|
||||||
|
path = screenshot
|
||||||
|
blur_passes = 3
|
||||||
|
contrast = 0.8916
|
||||||
|
brightness = 0.8172
|
||||||
|
vibrancy = 0.1696
|
||||||
|
vibrancy_darkness = 0.0
|
||||||
|
}
|
||||||
|
|
||||||
|
# GENERAL
|
||||||
|
general {
|
||||||
|
no_fade_in = false
|
||||||
|
grace = 0
|
||||||
|
disable_loading_bar = false
|
||||||
|
}
|
||||||
|
|
||||||
|
# Profie-Photo
|
||||||
|
image {
|
||||||
|
monitor = DP-2
|
||||||
|
path = $HOME/.config/hypr/hyprlock/profile-picture.jpg
|
||||||
|
border_size = 2
|
||||||
|
border_color = rgba(255, 255, 255, 0)
|
||||||
|
size = 430
|
||||||
|
rounding = -1
|
||||||
|
rotate = 0
|
||||||
|
reload_time = -1
|
||||||
|
reload_cmd =
|
||||||
|
position = 0, 0
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# Day-Month-Date
|
||||||
|
label {
|
||||||
|
monitor = DP-2
|
||||||
|
text = cmd[update:1000] echo -e "$(LC_TIME=en_US.UTF-8 date +"%A, %d %B %Y")"
|
||||||
|
color = rgba(216, 222, 233, 0.90)
|
||||||
|
font_size = 25
|
||||||
|
font_family = SF Pro Display Semibold
|
||||||
|
position = 0, 390
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# Time
|
||||||
|
label {
|
||||||
|
monitor = DP-2
|
||||||
|
text = cmd[update:1000] echo "<span>$(date +"%I:%M")</span>"
|
||||||
|
color = rgba(216, 222, 233, 0.90)
|
||||||
|
font_size = 120
|
||||||
|
font_family = SF Pro Display Bold
|
||||||
|
position = 0, 300
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# USER-BOX
|
||||||
|
shape {
|
||||||
|
monitor = DP-2
|
||||||
|
size = 280, 55
|
||||||
|
color = rgba(255, 255, 255, .1)
|
||||||
|
rounding = -1
|
||||||
|
border_size = 0
|
||||||
|
border_color = rgba(253, 198, 135, 0)
|
||||||
|
rotate = 0
|
||||||
|
xray = false # if true, make a "hole" in the background (rectangle of specified size, no rotation)
|
||||||
|
position = 0, -280
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# USER
|
||||||
|
label {
|
||||||
|
monitor = DP-2
|
||||||
|
text = $USER
|
||||||
|
color = rgba(216, 222, 233, 0.80)
|
||||||
|
outline_thickness = 2
|
||||||
|
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||||
|
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
|
||||||
|
dots_center = true
|
||||||
|
font_size = 18
|
||||||
|
font_family = SF Pro Display Bold
|
||||||
|
position = 0, -280
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# INPUT FIELD
|
||||||
|
input-field {
|
||||||
|
monitor = DP-2
|
||||||
|
size = 280, 55
|
||||||
|
outline_thickness = 2
|
||||||
|
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||||
|
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
|
||||||
|
dots_center = true
|
||||||
|
outer_color = rgba(0, 0, 0, 0)
|
||||||
|
inner_color = rgba(255, 255, 255, 0.1)
|
||||||
|
font_color = rgb(200, 200, 200)
|
||||||
|
fade_on_empty = false
|
||||||
|
font_family = SF Pro Display Bold
|
||||||
|
placeholder_text = <i><span foreground="##ffffff99">🔒 Enter Pass</span></i>
|
||||||
|
hide_input = false
|
||||||
|
position = 0, -340
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# CURRENT SONG
|
||||||
|
label {
|
||||||
|
monitor = DP-2
|
||||||
|
text = cmd[update:1000] echo "$(~/.config/hypr/hyprlock/Scripts/songdetail.sh)"
|
||||||
|
color = rgba(255, 255, 255, 0.6)
|
||||||
|
font_size = 18
|
||||||
|
font_family = JetBrains Mono Nerd, SF Pro Display Bold
|
||||||
|
position = 0, 90
|
||||||
|
halign = center
|
||||||
|
valign = bottom
|
||||||
|
}
|
||||||
|
|
||||||
|
####################################################################################################################
|
||||||
|
# Laptop Screen
|
||||||
|
##################################################################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# Profie-Photo
|
||||||
|
image {
|
||||||
|
monitor = eDP-1
|
||||||
|
path = $HOME/.config/hypr/hyprlock/profile-picture.jpg
|
||||||
|
border_size = 2
|
||||||
|
border_color = rgba(255, 255, 255, 0)
|
||||||
|
size = 600
|
||||||
|
rounding = -1
|
||||||
|
rotate = 0
|
||||||
|
reload_time = -1
|
||||||
|
reload_cmd =
|
||||||
|
position = 0, 0
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# Day-Month-Date
|
||||||
|
label {
|
||||||
|
monitor = eDP-1
|
||||||
|
text = cmd[update:1000] echo -e "$(LC_TIME=en_US.UTF-8 date +"%A, %d %B %Y")"
|
||||||
|
color = rgba(216, 222, 233, 0.90)
|
||||||
|
font_size = 35
|
||||||
|
font_family = SF Pro Display Semibold
|
||||||
|
position = 0, 550
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# Time
|
||||||
|
label {
|
||||||
|
monitor = eDP-1
|
||||||
|
text = cmd[update:1000] echo "<span>$(date +"%I:%M")</span>"
|
||||||
|
color = rgba(216, 222, 233, 0.90)
|
||||||
|
font_size = 150
|
||||||
|
font_family = SF Pro Display Bold
|
||||||
|
position = 0, 430
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# USER-BOX
|
||||||
|
shape {
|
||||||
|
monitor = eDP-1
|
||||||
|
size = 400, 90
|
||||||
|
color = rgba(255, 255, 255, .1)
|
||||||
|
rounding = -1
|
||||||
|
border_size = 0
|
||||||
|
border_color = rgba(253, 198, 135, 0)
|
||||||
|
rotate = 0
|
||||||
|
xray = false # if true, make a "hole" in the background (rectangle of specified size, no rotation)
|
||||||
|
position = 0, -400
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# USER
|
||||||
|
label {
|
||||||
|
monitor = eDP-1
|
||||||
|
text = $USER
|
||||||
|
color = rgba(216, 222, 233, 0.80)
|
||||||
|
outline_thickness = 2
|
||||||
|
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||||
|
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
|
||||||
|
dots_center = true
|
||||||
|
font_size = 28
|
||||||
|
font_family = SF Pro Display Bold
|
||||||
|
position = 0, -400
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# INPUT FIELD
|
||||||
|
input-field {
|
||||||
|
monitor = eDP-1
|
||||||
|
size = 400, 90
|
||||||
|
outline_thickness = 2
|
||||||
|
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||||
|
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
|
||||||
|
dots_center = true
|
||||||
|
outer_color = rgba(0, 0, 0, 0)
|
||||||
|
inner_color = rgba(255, 255, 255, 0.1)
|
||||||
|
font_color = rgb(200, 200, 200)
|
||||||
|
fade_on_empty = false
|
||||||
|
font_family = SF Pro Display Bold
|
||||||
|
placeholder_text = <i><span foreground="##ffffff99">🔒 Enter Pass</span></i>
|
||||||
|
hide_input = false
|
||||||
|
position = 0, -500
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# CURRENT SONG
|
||||||
|
label {
|
||||||
|
monitor = eDP-1
|
||||||
|
text = cmd[update:1000] echo "$(~/.config/hypr/hyprlock/Scripts/songdetail.sh)"
|
||||||
|
color = rgba(255, 255, 255, 0.6)
|
||||||
|
font_size = 28
|
||||||
|
font_family = JetBrains Mono Nerd, SF Pro Display Bold
|
||||||
|
position = 0, 90
|
||||||
|
halign = center
|
||||||
|
valign = bottom
|
||||||
|
}
|
||||||
Binary file not shown.
BIN
dotfiles/.config/hypr/hyprlock/Fonts/SF Pro Display/SF Pro Display Bold.otf
Executable file
BIN
dotfiles/.config/hypr/hyprlock/Fonts/SF Pro Display/SF Pro Display Bold.otf
Executable file
Binary file not shown.
BIN
dotfiles/.config/hypr/hyprlock/Fonts/SF Pro Display/SF Pro Display Regular.otf
Executable file
BIN
dotfiles/.config/hypr/hyprlock/Fonts/SF Pro Display/SF Pro Display Regular.otf
Executable file
Binary file not shown.
5
dotfiles/.config/hypr/hyprlock/Scripts/songdetail.sh
Executable file
5
dotfiles/.config/hypr/hyprlock/Scripts/songdetail.sh
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
song_info=$(playerctl metadata --format ' {{title}} {{artist}} ')
|
||||||
|
|
||||||
|
echo "$song_info"
|
||||||
BIN
dotfiles/.config/hypr/hyprlock/profile-picture.jpg
Normal file
BIN
dotfiles/.config/hypr/hyprlock/profile-picture.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
29
dotfiles/.config/hypr/hyprmod.lua
Normal file
29
dotfiles/.config/hypr/hyprmod.lua
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
-- Generated by HyprMod
|
||||||
|
-- Ported from hyprland-gui.conf
|
||||||
|
--
|
||||||
|
-- HyprMod isn't currently installed on this machine, so this is a straight syntax port of
|
||||||
|
-- whatever it last wrote. If you reinstall HyprMod, prefer letting its own "Migrate to Lua…"
|
||||||
|
-- wizard take over managing this file instead of hand-editing it going forward.
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
general = {
|
||||||
|
allow_tearing = true,
|
||||||
|
snap = {
|
||||||
|
enabled = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
misc = {
|
||||||
|
vrr = 1,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Monitors
|
||||||
|
hl.monitor({ output = "DP-2", mode = "1920x1080@165.00Hz", position = "0x0", scale = 1, bitdepth = 10, cm = "wide" })
|
||||||
|
|
||||||
|
-- Keybinds
|
||||||
|
-- (unbind = SUPER SHIFT, Print / unbind = SUPER, up from the source .conf have no Lua equivalent needed —
|
||||||
|
-- we just don't define a conflicting bind elsewhere; SUPER + up -> movefocus u below is otherwise identical
|
||||||
|
-- to the one already in keybinds.lua, kept here too for parity with the original file)
|
||||||
|
hl.bind("SUPER + Print", hl.dsp.exec_cmd("hyprshot -o " .. os.getenv("HOME") .. "/Pictures/Screenshots-Linux -m region"))
|
||||||
|
hl.bind("SUPER + up", hl.dsp.focus({ direction = "u" }))
|
||||||
|
hl.bind("SUPER + SHIFT + Print", hl.dsp.exec_cmd("hyprshot -o " .. os.getenv("HOME") .. "/Pictures/Screenshots-Linux -m window"))
|
||||||
39
dotfiles/.config/hypr/initial-boot.sh
Executable file
39
dotfiles/.config/hypr/initial-boot.sh
Executable file
@@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# A bash script designed to run only once dotfiles installed
|
||||||
|
|
||||||
|
# THIS SCRIPT CAN BE DELETED ONCE SUCCESSFULLY BOOTED!! And also, edit ~/.config/hypr/configs/Settings.conf
|
||||||
|
# NOT necessary to do since this script is only designed to run only once as long as the marker exists
|
||||||
|
# marker file is located at ~/.config/hypr/.initial_startup_done
|
||||||
|
# However, I do highly suggest not to touch it since again, as long as the marker exist, script wont run
|
||||||
|
|
||||||
|
# Variables
|
||||||
|
scriptsDir=$HOME/.config/hypr/scripts
|
||||||
|
kvantum_theme="catppuccin-mocha-blue"
|
||||||
|
color_scheme="prefer-dark"
|
||||||
|
gtk_theme="Material-DeepOcean-BL"
|
||||||
|
icon_theme="Papirus-Dark"
|
||||||
|
cursor_theme="Moga-Cursor"
|
||||||
|
|
||||||
|
# Check if a marker file exists.
|
||||||
|
if [ ! -f "$HOME/.config/hypr/.initial_startup_done" ]; then
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
# initiate GTK dark mode and apply icon and cursor theme
|
||||||
|
gsettings set org.gnome.desktop.interface color-scheme $color_scheme >/dev/null 2>&1 &
|
||||||
|
gsettings set org.gnome.desktop.interface gtk-theme $gtk_theme >/dev/null 2>&1 &
|
||||||
|
gsettings set org.gnome.desktop.interface icon-theme $icon_theme >/dev/null 2>&1 &
|
||||||
|
gsettings set org.gnome.desktop.interface cursor-theme $cursor_theme >/dev/null 2>&1 &
|
||||||
|
gsettings set org.gnome.desktop.interface cursor-size 24 >/dev/null 2>&1 &
|
||||||
|
|
||||||
|
# waybar style
|
||||||
|
#if [ -L "$HOME/.config/waybar/config" ]; then
|
||||||
|
## ln -sf "$waybar_style" "$HOME/.config/waybar/style.css"
|
||||||
|
# "$scriptsDir/Refresh.sh" > /dev/null 2>&1 &
|
||||||
|
#fi
|
||||||
|
|
||||||
|
# Create a marker file to indicate that the script has been executed.
|
||||||
|
touch "$HOME/.config/hypr/.initial_startup_done"
|
||||||
|
|
||||||
|
exit
|
||||||
|
fi
|
||||||
176
dotfiles/.config/hypr/keybinds.lua
Normal file
176
dotfiles/.config/hypr/keybinds.lua
Normal file
@@ -0,0 +1,176 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- Ported from UserConfigs/Keybinds.conf
|
||||||
|
-- See https://wiki.hypr.land/Configuring/Basics/Binds/ and .../Basics/Dispatchers/
|
||||||
|
|
||||||
|
local mainMod = "SUPER"
|
||||||
|
local scriptsDir = os.getenv("HOME") .. "/.config/hypr/scripts"
|
||||||
|
local userScripts = os.getenv("HOME") .. "/.config/hypr/UserScripts"
|
||||||
|
|
||||||
|
-- settings for user default apps
|
||||||
|
local edit = os.getenv("EDITOR") or "nvim"
|
||||||
|
|
||||||
|
-- These two are for UserKeybinds.conf & Waybar Modules
|
||||||
|
local term = "foot" -- Terminal
|
||||||
|
local files = "thunar" -- File Manager
|
||||||
|
|
||||||
|
-- Default Search Engine for ROFI Search (SUPER S)
|
||||||
|
local searchEngine = "https://www.google.com/search?q={}"
|
||||||
|
|
||||||
|
-- common shortcuts
|
||||||
|
hl.bind(mainMod .. " + SPACE", hl.dsp.exec_cmd(".config/rofi/launchers/type-4/launcher.sh")) -- desktop overview (if installed)
|
||||||
|
hl.bind(mainMod .. " + Q", hl.dsp.window.close()) -- close active (not kill)
|
||||||
|
hl.bind(mainMod .. " + SHIFT + Q", hl.dsp.exec_cmd(scriptsDir .. "/KillActiveProcess.sh")) -- Kill active process
|
||||||
|
hl.bind(mainMod .. " + Return", hl.dsp.exec_cmd(term)) -- terminal
|
||||||
|
hl.bind(mainMod .. " + F", hl.dsp.exec_cmd(files)) -- file manager
|
||||||
|
hl.bind(mainMod .. " + B", hl.dsp.exec_cmd("zen-browser")) -- Launch Zen Browser New Everytime
|
||||||
|
hl.bind(mainMod .. " + V", hl.dsp.exec_cmd(scriptsDir .. "/ClipManager.sh")) -- Clipboard Manager
|
||||||
|
hl.bind(mainMod .. " + C", hl.dsp.exec_cmd("code --ozone-platform=x11")) -- Visual Studio Code
|
||||||
|
hl.bind(mainMod .. " + O", hl.dsp.exec_cmd("obsidian --ozone-platform=x11")) -- Obsidian
|
||||||
|
hl.bind(mainMod .. " + X", hl.dsp.exec_cmd("vesktop")) -- Vesktop(Discord)
|
||||||
|
hl.bind(mainMod .. " + M", hl.dsp.exec_cmd("fdm")) -- Free Download Manager
|
||||||
|
hl.bind(mainMod .. " + W", hl.dsp.exec_cmd("waypaper")) -- Wayland Wallpaper Setter
|
||||||
|
hl.bind(mainMod .. " + L", hl.dsp.exec_cmd("hyprlock")) -- Screen Locker
|
||||||
|
hl.bind(mainMod .. " + DELETE", hl.dsp.exec_cmd("~/.config/rofi/powermenu/type-2/powermenu.sh")) -- Power Menu
|
||||||
|
hl.bind(mainMod .. " + S", hl.dsp.exec_cmd("cd /home/thomas/hyprmod && uv run hyprmod")) -- Hyprmod - A Hyprland settings manager (if installed)
|
||||||
|
hl.bind(mainMod .. " + 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
|
||||||
|
|
||||||
|
-- FEATURES / EXTRAS
|
||||||
|
hl.bind(mainMod .. " + SHIFT + F", hl.dsp.window.fullscreen({ mode = "fullscreen" })) -- whole full screen
|
||||||
|
hl.bind(mainMod .. " + SHIFT + SPACE", hl.dsp.window.float({ action = "toggle" })) -- Float Mode
|
||||||
|
|
||||||
|
-- Desktop zooming or magnifier
|
||||||
|
hl.bind(mainMod .. " + ALT + mouse_down", hl.dsp.exec_cmd([[hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor * 2.0}')"]]))
|
||||||
|
hl.bind(mainMod .. " + ALT + mouse_up", hl.dsp.exec_cmd([[hyprctl keyword cursor:zoom_factor "$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {factor = $2; if (factor < 1) {factor = 1}; print factor / 2.0}')"]]))
|
||||||
|
|
||||||
|
-- Waybar / Bar related
|
||||||
|
hl.bind(mainMod .. " + CTRL + ALT + B", hl.dsp.exec_cmd("pkill -SIGUSR1 waybar")) -- Toggle hide/show waybar
|
||||||
|
|
||||||
|
-- FEATURES / EXTRAS (UserScripts)
|
||||||
|
hl.bind(mainMod .. " + SHIFT + A", hl.dsp.exec_cmd(scriptsDir .. "/Animations.sh")) -- hyprland animations menu
|
||||||
|
hl.bind(mainMod .. " + SHIFT + Z", hl.dsp.exec_cmd(userScripts .. "/ZshChangeTheme.sh")) -- Change oh-my-zsh theme
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------------
|
||||||
|
-- Default Keybinds
|
||||||
|
--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
hl.bind("CTRL + ALT + Delete", hl.dsp.exit()) -- exit Hyprland
|
||||||
|
|
||||||
|
-- Master Layout
|
||||||
|
hl.bind(mainMod .. " + CTRL + D", hl.dsp.layout("removemaster"))
|
||||||
|
hl.bind(mainMod .. " + I", hl.dsp.layout("addmaster"))
|
||||||
|
hl.bind(mainMod .. " + J", hl.dsp.layout("cyclenext"))
|
||||||
|
hl.bind(mainMod .. " + K", hl.dsp.layout("cycleprev"))
|
||||||
|
hl.bind(mainMod .. " + CTRL + Return", hl.dsp.layout("swapwithmaster"))
|
||||||
|
|
||||||
|
-- Dwindle Layout
|
||||||
|
hl.bind(mainMod .. " + P", hl.dsp.window.pseudo()) -- dwindle
|
||||||
|
|
||||||
|
-- Special Keys / Hot Keys
|
||||||
|
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd(scriptsDir .. "/Volume.sh --inc"), { repeating = true, locked = true }) -- volume up
|
||||||
|
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd(scriptsDir .. "/Volume.sh --dec"), { repeating = true, locked = true }) -- volume down
|
||||||
|
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd(scriptsDir .. "/Volume.sh --toggle-mic"), { locked = true }) -- mic mute
|
||||||
|
hl.bind("XF86AudioMute", hl.dsp.exec_cmd(scriptsDir .. "/Volume.sh --toggle"), { locked = true }) -- mute
|
||||||
|
hl.bind("XF86Sleep", hl.dsp.exec_cmd("systemctl suspend"), { locked = true }) -- sleep button
|
||||||
|
hl.bind("XF86RFKill", hl.dsp.exec_cmd(scriptsDir .. "/AirplaneMode.sh"), { locked = true }) -- Airplane mode
|
||||||
|
|
||||||
|
-- media controls using keyboards
|
||||||
|
hl.bind("XF86MediaPlayPause", hl.dsp.exec_cmd(scriptsDir .. "/MediaCtrl.sh --pause"), { locked = true })
|
||||||
|
hl.bind("XF86AudioPause", hl.dsp.exec_cmd(scriptsDir .. "/MediaCtrl.sh --pause"), { locked = true })
|
||||||
|
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd(scriptsDir .. "/MediaCtrl.sh --pause"), { locked = true })
|
||||||
|
hl.bind("XF86AudioNext", hl.dsp.exec_cmd(scriptsDir .. "/MediaCtrl.sh --nxt"), { locked = true })
|
||||||
|
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd(scriptsDir .. "/MediaCtrl.sh --prv"), { locked = true })
|
||||||
|
hl.bind("XF86AudioStop", hl.dsp.exec_cmd(scriptsDir .. "/MediaCtrl.sh --stop"), { locked = true })
|
||||||
|
|
||||||
|
-- Resize windows
|
||||||
|
hl.bind(mainMod .. " + SHIFT + left", hl.dsp.window.resize({ x = -50, y = 0, relative = true }), { repeating = true })
|
||||||
|
hl.bind(mainMod .. " + SHIFT + right", hl.dsp.window.resize({ x = 50, y = 0, relative = true }), { repeating = true })
|
||||||
|
hl.bind(mainMod .. " + SHIFT + up", hl.dsp.window.resize({ x = 0, y = -50, relative = true }), { repeating = true })
|
||||||
|
hl.bind(mainMod .. " + SHIFT + down", hl.dsp.window.resize({ x = 0, y = 50, relative = true }), { repeating = true })
|
||||||
|
|
||||||
|
-- Move windows
|
||||||
|
hl.bind(mainMod .. " + CTRL + left", hl.dsp.window.move({ direction = "l" }))
|
||||||
|
hl.bind(mainMod .. " + CTRL + right", hl.dsp.window.move({ direction = "r" }))
|
||||||
|
hl.bind(mainMod .. " + CTRL + up", hl.dsp.window.move({ direction = "u" }))
|
||||||
|
hl.bind(mainMod .. " + CTRL + down", hl.dsp.window.move({ direction = "d" }))
|
||||||
|
|
||||||
|
-- Swap windows
|
||||||
|
hl.bind(mainMod .. " + ALT + left", hl.dsp.window.swap({ direction = "l" }))
|
||||||
|
hl.bind(mainMod .. " + ALT + right", hl.dsp.window.swap({ direction = "r" }))
|
||||||
|
hl.bind(mainMod .. " + ALT + up", hl.dsp.window.swap({ direction = "u" }))
|
||||||
|
hl.bind(mainMod .. " + ALT + down", hl.dsp.window.swap({ direction = "d" }))
|
||||||
|
|
||||||
|
-- Move focus with mainMod + arrow keys
|
||||||
|
hl.bind(mainMod .. " + left", hl.dsp.focus({ direction = "l" }))
|
||||||
|
hl.bind(mainMod .. " + right", hl.dsp.focus({ direction = "r" }))
|
||||||
|
hl.bind(mainMod .. " + up", hl.dsp.focus({ direction = "u" }))
|
||||||
|
hl.bind(mainMod .. " + down", hl.dsp.focus({ direction = "d" }))
|
||||||
|
|
||||||
|
-- Workspaces related
|
||||||
|
hl.bind(mainMod .. " + tab", hl.dsp.focus({ workspace = "m+1" }))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + tab", hl.dsp.focus({ workspace = "m-1" }))
|
||||||
|
|
||||||
|
-- Special workspace
|
||||||
|
-- hl.bind(mainMod .. " + SHIFT + U", hl.dsp.window.move({ workspace = "special" }))
|
||||||
|
-- hl.bind(mainMod .. " + U", hl.dsp.workspace.toggle_special())
|
||||||
|
hl.bind(mainMod .. " + U", hl.dsp.workspace.toggle_special("nyx"))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + U", hl.dsp.window.move({ workspace = "special:nyx" }))
|
||||||
|
|
||||||
|
-- The following mappings use key codes to better support various keyboard layouts
|
||||||
|
-- 1 is code:10, 2 is code:11, etc
|
||||||
|
-- Switch workspaces with mainMod + [0-9]
|
||||||
|
for i, code in ipairs({ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 }) do
|
||||||
|
hl.bind(mainMod .. " + code:" .. code, hl.dsp.focus({ workspace = i })) -- code:10 = key 1 ... code:19 = key 0
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Move active window and follow to workspace mainMod + SHIFT + [0-9]
|
||||||
|
for i, code in ipairs({ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 }) do
|
||||||
|
hl.bind(mainMod .. " + SHIFT + code:" .. code, hl.dsp.window.move({ workspace = i, follow = true }))
|
||||||
|
end
|
||||||
|
hl.bind(mainMod .. " + SHIFT + bracketleft", hl.dsp.window.move({ workspace = -1, follow = true })) -- brackets [
|
||||||
|
hl.bind(mainMod .. " + SHIFT + bracketright", hl.dsp.window.move({ workspace = 1, follow = true })) -- brackets ]
|
||||||
|
|
||||||
|
-- Move active window to a workspace silently mainMod + CTRL + [0-9]
|
||||||
|
for i, code in ipairs({ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 }) do
|
||||||
|
hl.bind(mainMod .. " + CTRL + code:" .. code, hl.dsp.window.move({ workspace = i, follow = false }))
|
||||||
|
end
|
||||||
|
hl.bind(mainMod .. " + CTRL + bracketleft", hl.dsp.window.move({ workspace = -1, follow = false })) -- brackets [
|
||||||
|
hl.bind(mainMod .. " + CTRL + bracketright", hl.dsp.window.move({ workspace = 1, follow = false })) -- brackets ]
|
||||||
|
|
||||||
|
-- Scroll through existing workspaces with mainMod + scroll
|
||||||
|
hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
|
||||||
|
hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
|
||||||
|
hl.bind(mainMod .. " + period", hl.dsp.focus({ workspace = "e+1" }))
|
||||||
|
hl.bind(mainMod .. " + comma", hl.dsp.focus({ workspace = "e-1" }))
|
||||||
|
|
||||||
|
-- Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true }) -- mouse:272 = left click
|
||||||
|
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true }) -- mouse:273 = right click
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------------
|
||||||
|
-- Laptop specific keybinds
|
||||||
|
--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
-- for disabling Touchpad. hyprctl devices to get device name.
|
||||||
|
local touchpadDevice = "asue1209:00-04f3:319f-touchpad"
|
||||||
|
|
||||||
|
hl.bind("XF86KbdBrightnessDown", hl.dsp.exec_cmd(scriptsDir .. "/BrightnessKbd.sh --dec"), { repeating = true }) -- decrease keyboard brightness
|
||||||
|
hl.bind("XF86KbdBrightnessUp", hl.dsp.exec_cmd(scriptsDir .. "/BrightnessKbd.sh --inc"), { repeating = true }) -- increase keyboard brightness
|
||||||
|
hl.bind("XF86Launch1", hl.dsp.exec_cmd("rog-control-center")) -- ASUS Armory crate button
|
||||||
|
hl.bind("XF86Launch3", hl.dsp.exec_cmd("asusctl led-mode -n")) -- FN+F4 Switch keyboard RGB profile
|
||||||
|
hl.bind("XF86Launch4", hl.dsp.exec_cmd("asusctl profile -n")) -- FN+F5 change of fan profiles (Quiet, Balance, Performance)
|
||||||
|
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd(scriptsDir .. "/Brightness.sh --dec"), { repeating = true }) -- decrease monitor brightness
|
||||||
|
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd(scriptsDir .. "/Brightness.sh --inc"), { repeating = true }) -- increase monitor brightness
|
||||||
|
hl.bind("XF86TouchpadToggle", hl.dsp.exec_cmd(scriptsDir .. "/TouchPad.sh")) -- disable touchpad
|
||||||
|
|
||||||
|
-- Screenshot keybindings using F6 (no PrintSrc button)
|
||||||
|
-- hl.bind(mainMod .. " + F6", hl.dsp.exec_cmd(scriptsDir .. "/ScreenShot.sh --now")) -- screenshot
|
||||||
|
-- hl.bind(mainMod .. " + SHIFT + F6", hl.dsp.exec_cmd(scriptsDir .. "/ScreenShot.sh --area")) -- screenshot (area)
|
||||||
|
-- hl.bind(mainMod .. " + CTRL + F6", hl.dsp.exec_cmd(scriptsDir .. "/ScreenShot.sh --in5")) -- screenshot (5 secs delay)
|
||||||
|
-- hl.bind(mainMod .. " + ALT + F6", hl.dsp.exec_cmd(scriptsDir .. "/ScreenShot.sh --in10")) -- screenshot (10 secs delay)
|
||||||
|
-- hl.bind("ALT + F6", hl.dsp.exec_cmd(scriptsDir .. "/ScreenShot.sh --active")) -- screenshot (active window only)
|
||||||
|
|
||||||
|
hl.device({
|
||||||
|
name = touchpadDevice,
|
||||||
|
enabled = true,
|
||||||
|
})
|
||||||
14
dotfiles/.config/hypr/monitors.lua
Normal file
14
dotfiles/.config/hypr/monitors.lua
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
-- 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 the TUI to edit, leave this at the end of the file (the last monitor config applies)
|
||||||
|
-- and leave the markers.
|
||||||
|
-- Ported from UserConfigs/monitors.conf — hyprdynamicmonitors already supports writing this file
|
||||||
|
-- directly as monitors.lua once hyprland.lua is active, so re-running it should stay compatible.
|
||||||
|
-- <<<<< TUI AUTO START
|
||||||
|
hl.monitor({ output = "desc:LG Electronics LG ULTRAWIDE 0x0002E68A", mode = "2560x1080@60.00000", position = "1920x-740", scale = 1.00000000, transform = 3, vrr = 0 })
|
||||||
|
hl.monitor({ output = "desc:HP Inc. HP 524pf VNG447017D", mode = "1920x1080@100.00000", position = "-1920x0", scale = 1.00000000, transform = 0, vrr = 0 })
|
||||||
|
hl.monitor({ output = "desc:Acer Technologies VG240Y S 0x126191DE", mode = "1920x1080@165.00301", position = "0x0", scale = 1.00000000, transform = 0, vrr = 1, bitdepth = 10, cm = "wide" })
|
||||||
|
-- <<<<< TUI AUTO END
|
||||||
16
dotfiles/.config/hypr/scripts/AirplaneMode.sh
Executable file
16
dotfiles/.config/hypr/scripts/AirplaneMode.sh
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# Airplane Mode. Turning on or off all wifi using rfkill.
|
||||||
|
|
||||||
|
notif="$HOME/.config/swaync/images/ja.png"
|
||||||
|
|
||||||
|
# Check if any wireless device is blocked
|
||||||
|
wifi_blocked=$(rfkill list wifi | grep -o "Soft blocked: yes")
|
||||||
|
|
||||||
|
if [ -n "$wifi_blocked" ]; then
|
||||||
|
rfkill unblock wifi
|
||||||
|
notify-send -u low -i "$notif" " Airplane" " mode: OFF"
|
||||||
|
else
|
||||||
|
rfkill block wifi
|
||||||
|
notify-send -u low -i "$notif" " Airplane" " mode: ON"
|
||||||
|
fi
|
||||||
31
dotfiles/.config/hypr/scripts/Animations.sh
Executable file
31
dotfiles/.config/hypr/scripts/Animations.sh
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# For applying Animations from different users
|
||||||
|
|
||||||
|
# Check if rofi is already running
|
||||||
|
if pidof rofi >/dev/null; then
|
||||||
|
pkill rofi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Variables
|
||||||
|
iDIR="$HOME/.config/swaync/images"
|
||||||
|
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||||
|
animations_dir="$HOME/.config/hypr/animations"
|
||||||
|
UserConfigs="$HOME/.config/hypr/UserConfigs"
|
||||||
|
rofi_theme="$HOME/.config/rofi/config-Animations.rasi"
|
||||||
|
msg='❗NOTE:❗ This will copy animations into UserAnimations.conf'
|
||||||
|
# list of animation files, sorted alphabetically with numbers first
|
||||||
|
animations_list=$(find -L "$animations_dir" -maxdepth 1 -type f | sed 's/.*\///' | sed 's/\.conf$//' | sort -V)
|
||||||
|
|
||||||
|
# Rofi Menu
|
||||||
|
chosen_file=$(echo "$animations_list" | rofi -i -dmenu -config $rofi_theme -mesg "$msg")
|
||||||
|
|
||||||
|
# Check if a file was selected
|
||||||
|
if [[ -n "$chosen_file" ]]; then
|
||||||
|
full_path="$animations_dir/$chosen_file.conf"
|
||||||
|
cp "$full_path" "$UserConfigs/UserAnimations.conf"
|
||||||
|
notify-send -u low -i "$iDIR/ja.png" "$chosen_file" "Hyprland Animation Loaded"
|
||||||
|
fi
|
||||||
|
|
||||||
|
sleep 1
|
||||||
|
"$SCRIPTSDIR/RefreshNoWaybar.sh"
|
||||||
69
dotfiles/.config/hypr/scripts/Brightness.sh
Executable file
69
dotfiles/.config/hypr/scripts/Brightness.sh
Executable file
@@ -0,0 +1,69 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# Script for Monitor backlights (if supported) using brightnessctl
|
||||||
|
|
||||||
|
iDIR="$HOME/.config/swaync/icons"
|
||||||
|
notification_timeout=1000
|
||||||
|
step=10 # INCREASE/DECREASE BY THIS VALUE
|
||||||
|
|
||||||
|
# Get current brightness as an integer (without %)
|
||||||
|
get_brightness() {
|
||||||
|
brightnessctl -m | cut -d, -f4 | tr -d '%'
|
||||||
|
}
|
||||||
|
|
||||||
|
# Determine the icon based on brightness level
|
||||||
|
get_icon_path() {
|
||||||
|
local brightness=$1
|
||||||
|
local level=$(( (brightness + 19) / 20 * 20 )) # Round up to next 20
|
||||||
|
if (( level > 100 )); then
|
||||||
|
level=100
|
||||||
|
fi
|
||||||
|
echo "$iDIR/brightness-${level}.png"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Send notification
|
||||||
|
send_notification() {
|
||||||
|
local brightness=$1
|
||||||
|
local icon_path=$2
|
||||||
|
|
||||||
|
notify-send -e \
|
||||||
|
-h string:x-canonical-private-synchronous:brightness_notif \
|
||||||
|
-h int:value:"$brightness" \
|
||||||
|
-u low \
|
||||||
|
-i "$icon_path" \
|
||||||
|
"Screen" "Brightness: ${brightness}%"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Change brightness and notify
|
||||||
|
change_brightness() {
|
||||||
|
local delta=$1
|
||||||
|
local current new icon
|
||||||
|
|
||||||
|
current=$(get_brightness)
|
||||||
|
new=$((current + delta))
|
||||||
|
|
||||||
|
# Clamp between 5 and 100
|
||||||
|
(( new < 5 )) && new=5
|
||||||
|
(( new > 100 )) && new=100
|
||||||
|
|
||||||
|
brightnessctl set "${new}%"
|
||||||
|
|
||||||
|
icon=$(get_icon_path "$new")
|
||||||
|
send_notification "$new" "$icon"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Main
|
||||||
|
case "$1" in
|
||||||
|
"--get")
|
||||||
|
get_brightness
|
||||||
|
;;
|
||||||
|
"--inc")
|
||||||
|
change_brightness "$step"
|
||||||
|
;;
|
||||||
|
"--dec")
|
||||||
|
change_brightness "-$step"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
get_brightness
|
||||||
|
;;
|
||||||
|
esac
|
||||||
51
dotfiles/.config/hypr/scripts/BrightnessKbd.sh
Executable file
51
dotfiles/.config/hypr/scripts/BrightnessKbd.sh
Executable file
@@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# Script for keyboard backlights (if supported) using brightnessctl
|
||||||
|
|
||||||
|
iDIR="$HOME/.config/swaync/icons"
|
||||||
|
|
||||||
|
# Get keyboard brightness
|
||||||
|
get_kbd_backlight() {
|
||||||
|
echo $(brightnessctl -d '*::kbd_backlight' -m | cut -d, -f4)
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get icons
|
||||||
|
get_icon() {
|
||||||
|
current=$(get_kbd_backlight | sed 's/%//')
|
||||||
|
if [ "$current" -le "20" ]; then
|
||||||
|
icon="$iDIR/brightness-20.png"
|
||||||
|
elif [ "$current" -le "40" ]; then
|
||||||
|
icon="$iDIR/brightness-40.png"
|
||||||
|
elif [ "$current" -le "60" ]; then
|
||||||
|
icon="$iDIR/brightness-60.png"
|
||||||
|
elif [ "$current" -le "80" ]; then
|
||||||
|
icon="$iDIR/brightness-80.png"
|
||||||
|
else
|
||||||
|
icon="$iDIR/brightness-100.png"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
# Notify
|
||||||
|
notify_user() {
|
||||||
|
notify-send -e -h string:x-canonical-private-synchronous:brightness_notif -h int:value:$current -h boolean:SWAYNC_BYPASS_DND:true -u low -i "$icon" "Keyboard" "Brightness:$current%"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Change brightness
|
||||||
|
change_kbd_backlight() {
|
||||||
|
brightnessctl -d *::kbd_backlight set "$1" && get_icon && notify_user
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute accordingly
|
||||||
|
case "$1" in
|
||||||
|
"--get")
|
||||||
|
get_kbd_backlight
|
||||||
|
;;
|
||||||
|
"--inc")
|
||||||
|
change_kbd_backlight "+30%"
|
||||||
|
;;
|
||||||
|
"--dec")
|
||||||
|
change_kbd_backlight "30%-"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
get_kbd_backlight
|
||||||
|
;;
|
||||||
|
esac
|
||||||
49
dotfiles/.config/hypr/scripts/ClipManager.sh
Executable file
49
dotfiles/.config/hypr/scripts/ClipManager.sh
Executable file
@@ -0,0 +1,49 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# Clipboard Manager. This script uses cliphist, rofi, and wl-copy.
|
||||||
|
|
||||||
|
# Variables
|
||||||
|
rofi_theme="$HOME/.config/rofi/config-clipboard.rasi"
|
||||||
|
msg='👀 **note** CTRL DEL = cliphist del (entry) or ALT DEL - cliphist wipe (all)'
|
||||||
|
# Actions:
|
||||||
|
# CTRL Del to delete an entry
|
||||||
|
# ALT Del to wipe clipboard contents
|
||||||
|
|
||||||
|
# Check if rofi is already running
|
||||||
|
if pidof rofi > /dev/null; then
|
||||||
|
pkill rofi
|
||||||
|
fi
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
result=$(
|
||||||
|
rofi -i -dmenu \
|
||||||
|
-kb-custom-1 "Control-Delete" \
|
||||||
|
-kb-custom-2 "Alt-Delete" \
|
||||||
|
-config $rofi_theme < <(cliphist list) \
|
||||||
|
-mesg "$msg"
|
||||||
|
)
|
||||||
|
|
||||||
|
case "$?" in
|
||||||
|
1)
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
0)
|
||||||
|
case "$result" in
|
||||||
|
"")
|
||||||
|
continue
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
cliphist decode <<<"$result" | wl-copy
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
10)
|
||||||
|
cliphist delete <<<"$result"
|
||||||
|
;;
|
||||||
|
11)
|
||||||
|
cliphist wipe
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
242
dotfiles/.config/hypr/scripts/DarkLight.sh
Executable file
242
dotfiles/.config/hypr/scripts/DarkLight.sh
Executable file
@@ -0,0 +1,242 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# For Dark and Light switching
|
||||||
|
# Note: Scripts are looking for keywords Light or Dark except for wallpapers as the are in a separate directories
|
||||||
|
|
||||||
|
# Paths
|
||||||
|
wallpaper_base_path="$HOME/Pictures/wallpapers/Dynamic-Wallpapers"
|
||||||
|
dark_wallpapers="$wallpaper_base_path/Dark"
|
||||||
|
light_wallpapers="$wallpaper_base_path/Light"
|
||||||
|
hypr_config_path="$HOME/.config/hypr"
|
||||||
|
swaync_style="$HOME/.config/swaync/style.css"
|
||||||
|
ags_style="$HOME/.config/ags/user/style.css"
|
||||||
|
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||||
|
notif="$HOME/.config/swaync/images/bell.png"
|
||||||
|
hyprflux_rofi="$HOME/.config/rofi/wallust/hyprflux-colors.rasi"
|
||||||
|
|
||||||
|
kitty_conf="$HOME/.config/kitty/kitty.conf"
|
||||||
|
|
||||||
|
|
||||||
|
# intial kill process
|
||||||
|
for pid in waybar rofi swaync ags swaybg; do
|
||||||
|
killall -SIGUSR1 "$pid"
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
# Initialize awww if needed
|
||||||
|
awww query || awww-daemon --format xrgb
|
||||||
|
|
||||||
|
# Set awww options
|
||||||
|
awww="awww img"
|
||||||
|
effect="--transition-bezier .43,1.19,1,.4 --transition-fps 60 --transition-type grow --transition-pos 0.925,0.977 --transition-duration 2"
|
||||||
|
|
||||||
|
# Determine current theme mode
|
||||||
|
if [ "$(cat $HOME/.cache/.theme_mode)" = "Light" ]; then
|
||||||
|
next_mode="Dark"
|
||||||
|
# Logic for Dark mode
|
||||||
|
wallpaper_path="$dark_wallpapers"
|
||||||
|
else
|
||||||
|
next_mode="Light"
|
||||||
|
# Logic for Light mode
|
||||||
|
wallpaper_path="$light_wallpapers"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Function to update theme mode for the next cycle
|
||||||
|
update_theme_mode() {
|
||||||
|
echo "$next_mode" > "$HOME/.cache/.theme_mode"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to notify user
|
||||||
|
notify_user() {
|
||||||
|
notify-send -u low -i "$notif" " Switching to" " $1 mode"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Function to set Waybar style
|
||||||
|
set_waybar_style() {
|
||||||
|
theme="$1"
|
||||||
|
waybar_styles="$HOME/.config/waybar/style"
|
||||||
|
waybar_style_link="$HOME/.config/waybar/style.css"
|
||||||
|
style_prefix="\\[${theme}\\].*\\.css$"
|
||||||
|
|
||||||
|
style_file=$(find -L "$waybar_styles" -maxdepth 1 -type f -regex ".*$style_prefix" | shuf -n 1)
|
||||||
|
|
||||||
|
if [ -n "$style_file" ]; then
|
||||||
|
ln -sf "$style_file" "$waybar_style_link"
|
||||||
|
else
|
||||||
|
echo "Style file not found for $theme theme."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Call the function after determining the mode
|
||||||
|
set_waybar_style "$next_mode"
|
||||||
|
notify_user "$next_mode"
|
||||||
|
|
||||||
|
|
||||||
|
# swaync color change
|
||||||
|
if [ "$next_mode" = "Dark" ]; then
|
||||||
|
sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(0, 0, 0, 0.8);/' "${swaync_style}"
|
||||||
|
#sed -i '/@define-color noti-bg-alt/s/#.*;/#111111;/' "${swaync_style}"
|
||||||
|
else
|
||||||
|
sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(255, 255, 255, 0.9);/' "${swaync_style}"
|
||||||
|
#sed -i '/@define-color noti-bg-alt/s/#.*;/#F0F0F0;/' "${swaync_style}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ags color change
|
||||||
|
if command -v ags >/dev/null 2>&1; then
|
||||||
|
if [ "$next_mode" = "Dark" ]; then
|
||||||
|
sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(0, 0, 0, 0.4);/' "${ags_style}"
|
||||||
|
sed -i '/@define-color text-color/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(255, 255, 255, 0.7);/' "${ags_style}"
|
||||||
|
sed -i '/@define-color noti-bg-alt/s/#.*;/#111111;/' "${ags_style}"
|
||||||
|
else
|
||||||
|
sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(255, 255, 255, 0.4);/' "${ags_style}"
|
||||||
|
sed -i '/@define-color text-color/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(0, 0, 0, 0.7);/' "${ags_style}"
|
||||||
|
sed -i '/@define-color noti-bg-alt/s/#.*;/#F0F0F0;/' "${ags_style}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# kitty background color change
|
||||||
|
if [ "$next_mode" = "Dark" ]; then
|
||||||
|
sed -i '/^foreground /s/^foreground .*/foreground #dddddd/' "${kitty_conf}"
|
||||||
|
sed -i '/^background /s/^background .*/background #000000/' "${kitty_conf}"
|
||||||
|
sed -i '/^cursor /s/^cursor .*/cursor #dddddd/' "${kitty_conf}"
|
||||||
|
else
|
||||||
|
sed -i '/^foreground /s/^foreground .*/foreground #000000/' "${kitty_conf}"
|
||||||
|
sed -i '/^background /s/^background .*/background #dddddd/' "${kitty_conf}"
|
||||||
|
sed -i '/^cursor /s/^cursor .*/cursor #000000/' "${kitty_conf}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for pid_kitty in $(pidof kitty); do
|
||||||
|
kill -SIGUSR1 "$pid_kitty"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Set Dynamic Wallpaper for Dark or Light Mode
|
||||||
|
if [ "$next_mode" = "Dark" ]; then
|
||||||
|
next_wallpaper="$(find -L "${dark_wallpapers}" -type f \( -iname "*.jpg" -o -iname "*.png" \) -print0 | shuf -n1 -z | xargs -0)"
|
||||||
|
else
|
||||||
|
next_wallpaper="$(find -L "${light_wallpapers}" -type f \( -iname "*.jpg" -o -iname "*.png" \) -print0 | shuf -n1 -z | xargs -0)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update wallpaper using awww command
|
||||||
|
$awww "${next_wallpaper}" $effect
|
||||||
|
|
||||||
|
|
||||||
|
# Set Kvantum Manager theme & QT5/QT6 settings
|
||||||
|
if [ "$next_mode" = "Dark" ]; then
|
||||||
|
kvantum_theme="catppuccin-mocha-blue"
|
||||||
|
#qt5ct_color_scheme="$HOME/.config/qt5ct/colors/Catppuccin-Mocha.conf"
|
||||||
|
#qt6ct_color_scheme="$HOME/.config/qt6ct/colors/Catppuccin-Mocha.conf"
|
||||||
|
else
|
||||||
|
kvantum_theme="catppuccin-latte-blue"
|
||||||
|
#qt5ct_color_scheme="$HOME/.config/qt5ct/colors/Catppuccin-Latte.conf"
|
||||||
|
#qt6ct_color_scheme="$HOME/.config/qt6ct/colors/Catppuccin-Latte.conf"
|
||||||
|
fi
|
||||||
|
|
||||||
|
sed -i "s|^color_scheme_path=.*$|color_scheme_path=$qt5ct_color_scheme|" "$HOME/.config/qt5ct/qt5ct.conf"
|
||||||
|
sed -i "s|^color_scheme_path=.*$|color_scheme_path=$qt6ct_color_scheme|" "$HOME/.config/qt6ct/qt6ct.conf"
|
||||||
|
kvantummanager --set "$kvantum_theme"
|
||||||
|
|
||||||
|
|
||||||
|
# set the rofi color for background
|
||||||
|
if [ "$next_mode" = "Dark" ]; then
|
||||||
|
sed -i '/^background:/s/.*/background: rgba(0,0,0,0.7);/' $hyprflux_rofi
|
||||||
|
else
|
||||||
|
sed -i '/^background:/s/.*/background: rgba(255,255,255,0.9);/' $hyprflux_rofi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# GTK themes and icons switching
|
||||||
|
set_custom_gtk_theme() {
|
||||||
|
mode=$1
|
||||||
|
gtk_themes_directory="$HOME/.themes"
|
||||||
|
icon_directory="$HOME/.icons"
|
||||||
|
color_setting="org.gnome.desktop.interface color-scheme"
|
||||||
|
theme_setting="org.gnome.desktop.interface gtk-theme"
|
||||||
|
icon_setting="org.gnome.desktop.interface icon-theme"
|
||||||
|
|
||||||
|
if [ "$mode" == "Light" ]; then
|
||||||
|
search_keywords="*Light*"
|
||||||
|
gsettings set $color_setting 'prefer-light'
|
||||||
|
elif [ "$mode" == "Dark" ]; then
|
||||||
|
search_keywords="*Dark*"
|
||||||
|
gsettings set $color_setting 'prefer-dark'
|
||||||
|
else
|
||||||
|
echo "Invalid mode provided."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
themes=()
|
||||||
|
icons=()
|
||||||
|
|
||||||
|
while IFS= read -r -d '' theme_search; do
|
||||||
|
themes+=("$(basename "$theme_search")")
|
||||||
|
done < <(find "$gtk_themes_directory" -maxdepth 1 -type d -iname "$search_keywords" -print0)
|
||||||
|
|
||||||
|
while IFS= read -r -d '' icon_search; do
|
||||||
|
icons+=("$(basename "$icon_search")")
|
||||||
|
done < <(find "$icon_directory" -maxdepth 1 -type d -iname "$search_keywords" -print0)
|
||||||
|
|
||||||
|
if [ ${#themes[@]} -gt 0 ]; then
|
||||||
|
if [ "$mode" == "Dark" ]; then
|
||||||
|
selected_theme=${themes[RANDOM % ${#themes[@]}]}
|
||||||
|
else
|
||||||
|
selected_theme=${themes[$RANDOM % ${#themes[@]}]}
|
||||||
|
fi
|
||||||
|
echo "Selected GTK theme for $mode mode: $selected_theme"
|
||||||
|
gsettings set $theme_setting "$selected_theme"
|
||||||
|
|
||||||
|
# Flatpak GTK apps (themes)
|
||||||
|
if command -v flatpak &> /dev/null; then
|
||||||
|
flatpak --user override --filesystem=$HOME/.themes
|
||||||
|
sleep 0.5
|
||||||
|
flatpak --user override --env=GTK_THEME="$selected_theme"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "No $mode GTK theme found"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ${#icons[@]} -gt 0 ]; then
|
||||||
|
if [ "$mode" == "Dark" ]; then
|
||||||
|
selected_icon=${icons[RANDOM % ${#icons[@]}]}
|
||||||
|
else
|
||||||
|
selected_icon=${icons[$RANDOM % ${#icons[@]}]}
|
||||||
|
fi
|
||||||
|
echo "Selected icon theme for $mode mode: $selected_icon"
|
||||||
|
gsettings set $icon_setting "$selected_icon"
|
||||||
|
|
||||||
|
## QT5ct icon_theme
|
||||||
|
sed -i "s|^icon_theme=.*$|icon_theme=$selected_icon|" "$HOME/.config/qt5ct/qt5ct.conf"
|
||||||
|
sed -i "s|^icon_theme=.*$|icon_theme=$selected_icon|" "$HOME/.config/qt6ct/qt6ct.conf"
|
||||||
|
|
||||||
|
# Flatpak GTK apps (icons)
|
||||||
|
if command -v flatpak &> /dev/null; then
|
||||||
|
flatpak --user override --filesystem=$HOME/.icons
|
||||||
|
sleep 0.5
|
||||||
|
flatpak --user override --env=ICON_THEME="$selected_icon"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "No $mode icon theme found"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Call the function to set GTK theme and icon theme based on mode
|
||||||
|
set_custom_gtk_theme "$next_mode"
|
||||||
|
|
||||||
|
# Update theme mode for the next cycle
|
||||||
|
update_theme_mode
|
||||||
|
|
||||||
|
|
||||||
|
# kill process
|
||||||
|
for pid1 in waybar rofi swaync ags swaybg; do
|
||||||
|
killall "$pid1"
|
||||||
|
done
|
||||||
|
|
||||||
|
sleep 1
|
||||||
|
${SCRIPTSDIR}/Refresh.sh
|
||||||
|
|
||||||
|
sleep 0.5
|
||||||
|
# Display notifications for theme and icon changes
|
||||||
|
notify-send -u low -i "$notif" " Themes switched to:" " $next_mode Mode"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
10
dotfiles/.config/hypr/scripts/KillActiveProcess.sh
Executable file
10
dotfiles/.config/hypr/scripts/KillActiveProcess.sh
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# Copied from Discord post. Thanks to @Zorg
|
||||||
|
|
||||||
|
|
||||||
|
# Get id of an active window
|
||||||
|
active_pid=$(hyprctl activewindow | grep -o 'pid: [0-9]*' | cut -d' ' -f2)
|
||||||
|
|
||||||
|
# Close active window
|
||||||
|
kill $active_pid
|
||||||
61
dotfiles/.config/hypr/scripts/MediaCtrl.sh
Executable file
61
dotfiles/.config/hypr/scripts/MediaCtrl.sh
Executable file
@@ -0,0 +1,61 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# Playerctl
|
||||||
|
|
||||||
|
music_icon="$HOME/.config/swaync/icons/music.png"
|
||||||
|
|
||||||
|
# Play the next track
|
||||||
|
play_next() {
|
||||||
|
playerctl next
|
||||||
|
show_music_notification
|
||||||
|
}
|
||||||
|
|
||||||
|
# Play the previous track
|
||||||
|
play_previous() {
|
||||||
|
playerctl previous
|
||||||
|
show_music_notification
|
||||||
|
}
|
||||||
|
|
||||||
|
# Toggle play/pause
|
||||||
|
toggle_play_pause() {
|
||||||
|
playerctl play-pause
|
||||||
|
show_music_notification
|
||||||
|
}
|
||||||
|
|
||||||
|
# Stop playback
|
||||||
|
stop_playback() {
|
||||||
|
playerctl stop
|
||||||
|
notify-send -e -u low -i $music_icon " Playback:" " Stopped"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Display notification with song information
|
||||||
|
show_music_notification() {
|
||||||
|
status=$(playerctl status)
|
||||||
|
if [[ "$status" == "Playing" ]]; then
|
||||||
|
song_title=$(playerctl metadata title)
|
||||||
|
song_artist=$(playerctl metadata artist)
|
||||||
|
notify-send -e -u low -i $music_icon "Now Playing:" "$song_title by $song_artist"
|
||||||
|
elif [[ "$status" == "Paused" ]]; then
|
||||||
|
notify-send -e -u low -i $music_icon " Playback:" " Paused"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get media control action from command line argument
|
||||||
|
case "$1" in
|
||||||
|
"--nxt")
|
||||||
|
play_next
|
||||||
|
;;
|
||||||
|
"--prv")
|
||||||
|
play_previous
|
||||||
|
;;
|
||||||
|
"--pause")
|
||||||
|
toggle_play_pause
|
||||||
|
;;
|
||||||
|
"--stop")
|
||||||
|
stop_playback
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 [--nxt|--prv|--pause|--stop]"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
42
dotfiles/.config/hypr/scripts/MonitorProfiles.sh
Executable file
42
dotfiles/.config/hypr/scripts/MonitorProfiles.sh
Executable file
@@ -0,0 +1,42 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# For applying Pre-configured Monitor Profiles
|
||||||
|
|
||||||
|
# Check if rofi is already running
|
||||||
|
if pidof rofi > /dev/null; then
|
||||||
|
pkill rofi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Variables
|
||||||
|
iDIR="$HOME/.config/swaync/images"
|
||||||
|
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||||
|
monitor_dir="$HOME/.config/hypr/Monitor_Profiles"
|
||||||
|
target="$HOME/.config/hypr/monitors.conf"
|
||||||
|
rofi_theme="$HOME/.config/rofi/config-Monitors.rasi"
|
||||||
|
msg='❗NOTE:❗ This will overwrite $HOME/.config/hypr/monitors.conf'
|
||||||
|
|
||||||
|
# Define the list of files to ignore
|
||||||
|
ignore_files=(
|
||||||
|
"README"
|
||||||
|
)
|
||||||
|
|
||||||
|
# list of Monitor Profiles, sorted alphabetically with numbers first
|
||||||
|
mon_profiles_list=$(find -L "$monitor_dir" -maxdepth 1 -type f | sed 's/.*\///' | sed 's/\.conf$//' | sort -V)
|
||||||
|
|
||||||
|
# Remove ignored files from the list
|
||||||
|
for ignored_file in "${ignore_files[@]}"; do
|
||||||
|
mon_profiles_list=$(echo "$mon_profiles_list" | grep -v -E "^$ignored_file$")
|
||||||
|
done
|
||||||
|
|
||||||
|
# Rofi Menu
|
||||||
|
chosen_file=$(echo "$mon_profiles_list" | rofi -i -dmenu -config $rofi_theme -mesg "$msg")
|
||||||
|
|
||||||
|
if [[ -n "$chosen_file" ]]; then
|
||||||
|
full_path="$monitor_dir/$chosen_file.conf"
|
||||||
|
cp "$full_path" "$target"
|
||||||
|
|
||||||
|
notify-send -u low -i "$iDIR/ja.png" "$chosen_file" "Monitor Profile Loaded"
|
||||||
|
fi
|
||||||
|
|
||||||
|
sleep 1
|
||||||
|
${SCRIPTSDIR}/RefreshNoWaybar.sh &
|
||||||
34
dotfiles/.config/hypr/scripts/Polkit.sh
Executable file
34
dotfiles/.config/hypr/scripts/Polkit.sh
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# This script starts the first available Polkit agent from a list of possible locations
|
||||||
|
|
||||||
|
# List of potential Polkit agent file paths
|
||||||
|
polkit=(
|
||||||
|
"/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1"
|
||||||
|
"/usr/libexec/hyprpolkitagent"
|
||||||
|
"/usr/lib/hyprpolkitagent"
|
||||||
|
"/usr/lib/hyprpolkitagent/hyprpolkitagent"
|
||||||
|
"/usr/lib/polkit-kde-authentication-agent-1"
|
||||||
|
"/usr/lib/polkit-gnome-authentication-agent-1"
|
||||||
|
"/usr/libexec/polkit-gnome-authentication-agent-1"
|
||||||
|
"/usr/libexec/polkit-mate-authentication-agent-1"
|
||||||
|
"/usr/lib/x86_64-linux-gnu/libexec/polkit-kde-authentication-agent-1"
|
||||||
|
"/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1"
|
||||||
|
)
|
||||||
|
|
||||||
|
executed=false
|
||||||
|
|
||||||
|
# Loop through the list of paths
|
||||||
|
for file in "${polkit[@]}"; do
|
||||||
|
if [ -e "$file" ] && [ ! -d "$file" ]; then
|
||||||
|
echo "Found: $file — executing..."
|
||||||
|
exec "$file"
|
||||||
|
executed=true
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Fallback message if nothing executed
|
||||||
|
if [ "$executed" == false ]; then
|
||||||
|
echo "No valid Polkit agent found. Please install one."
|
||||||
|
fi
|
||||||
16
dotfiles/.config/hypr/scripts/PortalHyprland.sh
Executable file
16
dotfiles/.config/hypr/scripts/PortalHyprland.sh
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# For manually starting xdg-desktop-portal-hyprland
|
||||||
|
|
||||||
|
sleep 1
|
||||||
|
killall xdg-desktop-portal-hyprland
|
||||||
|
killall xdg-desktop-portal-wlr
|
||||||
|
killall xdg-desktop-portal-gnome
|
||||||
|
killall xdg-desktop-portal
|
||||||
|
sleep 1
|
||||||
|
/usr/lib/xdg-desktop-portal-hyprland &
|
||||||
|
/usr/libexec/xdg-desktop-portal-hyprland &
|
||||||
|
sleep 2
|
||||||
|
/usr/lib/xdg-desktop-portal &
|
||||||
|
/usr/libexec/xdg-desktop-portal &
|
||||||
|
|
||||||
55
dotfiles/.config/hypr/scripts/Refresh.sh
Executable file
55
dotfiles/.config/hypr/scripts/Refresh.sh
Executable file
@@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# Scripts for refreshing waybar, rofi, swaync
|
||||||
|
|
||||||
|
SCRIPTSDIR=$HOME/.config/hypr/scripts
|
||||||
|
UserScripts=$HOME/.config/hypr/UserScripts
|
||||||
|
|
||||||
|
# Define file_exists function
|
||||||
|
file_exists() {
|
||||||
|
if [ -e "$1" ]; then
|
||||||
|
return 0 # File exists
|
||||||
|
else
|
||||||
|
return 1 # File does not exist
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Kill already running processes
|
||||||
|
_ps=(waybar rofi swaync ags)
|
||||||
|
for _prs in "${_ps[@]}"; do
|
||||||
|
if pidof "${_prs}" >/dev/null; then
|
||||||
|
pkill "${_prs}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# ensure waybar fully reloads
|
||||||
|
killall -SIGUSR2 waybar
|
||||||
|
|
||||||
|
# quit ags & relaunch ags
|
||||||
|
#ags -q && ags &
|
||||||
|
|
||||||
|
# quit quickshell & relaunch quickshell
|
||||||
|
pkill qs && qs &
|
||||||
|
|
||||||
|
# some process to kill
|
||||||
|
for pid in $(pidof waybar rofi swaync ags swaybg); do
|
||||||
|
kill -SIGUSR1 "$pid"
|
||||||
|
done
|
||||||
|
|
||||||
|
#Restart waybar
|
||||||
|
sleep 1
|
||||||
|
waybar &
|
||||||
|
|
||||||
|
# relaunch swaync
|
||||||
|
sleep 0.5
|
||||||
|
swaync > /dev/null 2>&1 &
|
||||||
|
# reload swaync
|
||||||
|
swaync-client --reload-config
|
||||||
|
|
||||||
|
# Relaunching rainbow borders if the script exists
|
||||||
|
sleep 1
|
||||||
|
if file_exists "${UserScripts}/RainbowBorders.sh"; then
|
||||||
|
${UserScripts}/RainbowBorders.sh &
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
77
dotfiles/.config/hypr/scripts/Sounds.sh
Executable file
77
dotfiles/.config/hypr/scripts/Sounds.sh
Executable file
@@ -0,0 +1,77 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# This script is used to play system sounds.
|
||||||
|
# Script is used by Volume.Sh and ScreenShots.sh
|
||||||
|
|
||||||
|
theme="freedesktop" # Set the theme for the system sounds.
|
||||||
|
mute=false # Set to true to mute the system sounds.
|
||||||
|
|
||||||
|
# Mute individual sounds here.
|
||||||
|
muteScreenshots=false
|
||||||
|
muteVolume=false
|
||||||
|
|
||||||
|
# Exit if the system sounds are muted.
|
||||||
|
if [[ "$mute" = true ]]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Choose the sound to play.
|
||||||
|
if [[ "$1" == "--screenshot" ]]; then
|
||||||
|
if [[ "$muteScreenshots" = true ]]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
soundoption="screen-capture.*"
|
||||||
|
elif [[ "$1" == "--volume" ]]; then
|
||||||
|
if [[ "$muteVolume" = true ]]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
soundoption="audio-volume-change.*"
|
||||||
|
elif [[ "$1" == "--error" ]]; then
|
||||||
|
if [[ "$muteScreenshots" = true ]]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
soundoption="dialog-error.*"
|
||||||
|
else
|
||||||
|
echo -e "Available sounds: --screenshot, --volume, --error"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set the directory defaults for system sounds.
|
||||||
|
if [ -d "/run/current-system/sw/share/sounds" ]; then
|
||||||
|
systemDIR="/run/current-system/sw/share/sounds" # NixOS
|
||||||
|
else
|
||||||
|
systemDIR="/usr/share/sounds"
|
||||||
|
fi
|
||||||
|
userDIR="$HOME/.local/share/sounds"
|
||||||
|
defaultTheme="freedesktop"
|
||||||
|
|
||||||
|
# Prefer the user's theme, but use the system's if it doesn't exist.
|
||||||
|
sDIR="$systemDIR/$defaultTheme"
|
||||||
|
if [ -d "$userDIR/$theme" ]; then
|
||||||
|
sDIR="$userDIR/$theme"
|
||||||
|
elif [ -d "$systemDIR/$theme" ]; then
|
||||||
|
sDIR="$systemDIR/$theme"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get the theme that it inherits.
|
||||||
|
iTheme=$(cat "$sDIR/index.theme" | grep -i "inherits" | cut -d "=" -f 2)
|
||||||
|
iDIR="$sDIR/../$iTheme"
|
||||||
|
|
||||||
|
# Find the sound file and play it.
|
||||||
|
sound_file=$(find -L $sDIR/stereo -name "$soundoption" -print -quit)
|
||||||
|
if ! test -f "$sound_file"; then
|
||||||
|
sound_file=$(find -L $iDIR/stereo -name "$soundoption" -print -quit)
|
||||||
|
if ! test -f "$sound_file"; then
|
||||||
|
sound_file=$(find -L $userDIR/$defaultTheme/stereo -name "$soundoption" -print -quit)
|
||||||
|
if ! test -f "$sound_file"; then
|
||||||
|
sound_file=$(find -L $systemDIR/$defaultTheme/stereo -name "$soundoption" -print -quit)
|
||||||
|
if ! test -f "$sound_file"; then
|
||||||
|
echo "Error: Sound file not found."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# pipewire priority, fallback pulseaudio
|
||||||
|
pw-play "$sound_file" || pa-play "$sound_file"
|
||||||
32
dotfiles/.config/hypr/scripts/TouchPad.sh
Executable file
32
dotfiles/.config/hypr/scripts/TouchPad.sh
Executable file
@@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# For disabling touchpad.
|
||||||
|
# Edit the Touchpad_Device on ~/.config/hypr/UserConfigs/Laptops.conf according to your system
|
||||||
|
# use hyprctl devices to get your system touchpad device name
|
||||||
|
# source https://github.com/hyprwm/Hyprland/discussions/4283?sort=new#discussioncomment-8648109
|
||||||
|
|
||||||
|
notif="$HOME/.config/swaync/images/ja.png"
|
||||||
|
|
||||||
|
export STATUS_FILE="$XDG_RUNTIME_DIR/touchpad.status"
|
||||||
|
|
||||||
|
enable_touchpad() {
|
||||||
|
printf "true" >"$STATUS_FILE"
|
||||||
|
notify-send -u low -i $notif " Enabling" " touchpad"
|
||||||
|
hyprctl keyword '$TOUCHPAD_ENABLED' "true" -r
|
||||||
|
}
|
||||||
|
|
||||||
|
disable_touchpad() {
|
||||||
|
printf "false" >"$STATUS_FILE"
|
||||||
|
notify-send -u low -i $notif " Disabling" " touchpad"
|
||||||
|
hyprctl keyword '$TOUCHPAD_ENABLED' "false" -r
|
||||||
|
}
|
||||||
|
|
||||||
|
if ! [ -f "$STATUS_FILE" ]; then
|
||||||
|
enable_touchpad
|
||||||
|
else
|
||||||
|
if [ $(cat "$STATUS_FILE") = "true" ]; then
|
||||||
|
disable_touchpad
|
||||||
|
elif [ $(cat "$STATUS_FILE") = "false" ]; then
|
||||||
|
enable_touchpad
|
||||||
|
fi
|
||||||
|
fi
|
||||||
143
dotfiles/.config/hypr/scripts/Volume.sh
Executable file
143
dotfiles/.config/hypr/scripts/Volume.sh
Executable file
@@ -0,0 +1,143 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
# Scripts for volume controls for audio and mic
|
||||||
|
|
||||||
|
iDIR="$HOME/.config/swaync/icons"
|
||||||
|
sDIR="$HOME/.config/hypr/scripts"
|
||||||
|
|
||||||
|
# Get Volume
|
||||||
|
get_volume() {
|
||||||
|
volume=$(pamixer --get-volume)
|
||||||
|
if [[ "$volume" -eq "0" ]]; then
|
||||||
|
echo "Muted"
|
||||||
|
else
|
||||||
|
echo "$volume %"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get icons
|
||||||
|
get_icon() {
|
||||||
|
current=$(get_volume)
|
||||||
|
if [[ "$current" == "Muted" ]]; then
|
||||||
|
echo "$iDIR/volume-mute.png"
|
||||||
|
elif [[ "${current%\%}" -le 30 ]]; then
|
||||||
|
echo "$iDIR/volume-low.png"
|
||||||
|
elif [[ "${current%\%}" -le 60 ]]; then
|
||||||
|
echo "$iDIR/volume-mid.png"
|
||||||
|
else
|
||||||
|
echo "$iDIR/volume-high.png"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Notify
|
||||||
|
notify_user() {
|
||||||
|
if [[ "$(get_volume)" == "Muted" ]]; then
|
||||||
|
notify-send -e -h string:x-canonical-private-synchronous:volume_notif -h boolean:SWAYNC_BYPASS_DND:true -u low -i "$(get_icon)" " Volume:" " Muted"
|
||||||
|
else
|
||||||
|
notify-send -e -h int:value:"$(get_volume | sed 's/%//')" -h string:x-canonical-private-synchronous:volume_notif -h boolean:SWAYNC_BYPASS_DND:true -u low -i "$(get_icon)" " Volume Level:" " $(get_volume)" &&
|
||||||
|
"$sDIR/Sounds.sh" --volume
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Increase Volume
|
||||||
|
inc_volume() {
|
||||||
|
if [ "$(pamixer --get-mute)" == "true" ]; then
|
||||||
|
toggle_mute
|
||||||
|
else
|
||||||
|
pamixer -i 5 --allow-boost --set-limit 150 && notify_user
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Decrease Volume
|
||||||
|
dec_volume() {
|
||||||
|
if [ "$(pamixer --get-mute)" == "true" ]; then
|
||||||
|
toggle_mute
|
||||||
|
else
|
||||||
|
pamixer -d 5 && notify_user
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Toggle Mute
|
||||||
|
toggle_mute() {
|
||||||
|
if [ "$(pamixer --get-mute)" == "false" ]; then
|
||||||
|
pamixer -m && notify-send -e -u low -h boolean:SWAYNC_BYPASS_DND:true -i "$iDIR/volume-mute.png" " Mute"
|
||||||
|
elif [ "$(pamixer --get-mute)" == "true" ]; then
|
||||||
|
pamixer -u && notify-send -e -u low -h boolean:SWAYNC_BYPASS_DND:true -i "$(get_icon)" " Volume:" " Switched ON"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Toggle Mic
|
||||||
|
toggle_mic() {
|
||||||
|
if [ "$(pamixer --default-source --get-mute)" == "false" ]; then
|
||||||
|
pamixer --default-source -m && notify-send -e -u low -h boolean:SWAYNC_BYPASS_DND:true -i "$iDIR/microphone-mute.png" " Microphone:" " Switched OFF"
|
||||||
|
elif [ "$(pamixer --default-source --get-mute)" == "true" ]; then
|
||||||
|
pamixer -u --default-source u && notify-send -e -u low -h boolean:SWAYNC_BYPASS_DND:true -i "$iDIR/microphone.png" " Microphone:" " Switched ON"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
# Get Mic Icon
|
||||||
|
get_mic_icon() {
|
||||||
|
current=$(pamixer --default-source --get-volume)
|
||||||
|
if [[ "$current" -eq "0" ]]; then
|
||||||
|
echo "$iDIR/microphone-mute.png"
|
||||||
|
else
|
||||||
|
echo "$iDIR/microphone.png"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get Microphone Volume
|
||||||
|
get_mic_volume() {
|
||||||
|
volume=$(pamixer --default-source --get-volume)
|
||||||
|
if [[ "$volume" -eq "0" ]]; then
|
||||||
|
echo "Muted"
|
||||||
|
else
|
||||||
|
echo "$volume %"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Notify for Microphone
|
||||||
|
notify_mic_user() {
|
||||||
|
volume=$(get_mic_volume)
|
||||||
|
icon=$(get_mic_icon)
|
||||||
|
notify-send -e -h int:value:"$volume" -h "string:x-canonical-private-synchronous:volume_notif" -h boolean:SWAYNC_BYPASS_DND:true -u low -i "$icon" " Mic Level:" " $volume"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Increase MIC Volume
|
||||||
|
inc_mic_volume() {
|
||||||
|
if [ "$(pamixer --default-source --get-mute)" == "true" ]; then
|
||||||
|
toggle_mic
|
||||||
|
else
|
||||||
|
pamixer --default-source -i 5 && notify_mic_user
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Decrease MIC Volume
|
||||||
|
dec_mic_volume() {
|
||||||
|
if [ "$(pamixer --default-source --get-mute)" == "true" ]; then
|
||||||
|
toggle-mic
|
||||||
|
else
|
||||||
|
pamixer --default-source -d 5 && notify_mic_user
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute accordingly
|
||||||
|
if [[ "$1" == "--get" ]]; then
|
||||||
|
get_volume
|
||||||
|
elif [[ "$1" == "--inc" ]]; then
|
||||||
|
inc_volume
|
||||||
|
elif [[ "$1" == "--dec" ]]; then
|
||||||
|
dec_volume
|
||||||
|
elif [[ "$1" == "--toggle" ]]; then
|
||||||
|
toggle_mute
|
||||||
|
elif [[ "$1" == "--toggle-mic" ]]; then
|
||||||
|
toggle_mic
|
||||||
|
elif [[ "$1" == "--get-icon" ]]; then
|
||||||
|
get_icon
|
||||||
|
elif [[ "$1" == "--get-mic-icon" ]]; then
|
||||||
|
get_mic_icon
|
||||||
|
elif [[ "$1" == "--mic-inc" ]]; then
|
||||||
|
inc_mic_volume
|
||||||
|
elif [[ "$1" == "--mic-dec" ]]; then
|
||||||
|
dec_mic_volume
|
||||||
|
else
|
||||||
|
get_volume
|
||||||
|
fi
|
||||||
120
dotfiles/.config/hypr/settings.lua
Normal file
120
dotfiles/.config/hypr/settings.lua
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- User Settings
|
||||||
|
-- Ported from UserConfigs/UserSettings.conf
|
||||||
|
--
|
||||||
|
-- refer to Hyprland wiki for more info https://wiki.hyprland.org/Configuring/Variables/
|
||||||
|
-- NOTE: some settings are in animations.lua / decorations.lua
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
dwindle = {
|
||||||
|
preserve_split = true,
|
||||||
|
-- smart_split = true,
|
||||||
|
special_scale_factor = 1,
|
||||||
|
},
|
||||||
|
|
||||||
|
master = {
|
||||||
|
new_status = "master",
|
||||||
|
new_on_top = true,
|
||||||
|
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 tablet, see link above for proper variables
|
||||||
|
tablet = {
|
||||||
|
transform = 0,
|
||||||
|
left_handed = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- "gestures" here only holds the tuning knobs. workspace_swipe/workspace_swipe_fingers
|
||||||
|
-- were removed from this category upstream in favor of hl.gesture() (see below) — and
|
||||||
|
-- were already commented out in the source .conf, so the swipe gesture itself stays
|
||||||
|
-- disabled here too, ported as-is.
|
||||||
|
gestures = {
|
||||||
|
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 = false,
|
||||||
|
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 = false,
|
||||||
|
},
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
sync_gsettings_theme = true,
|
||||||
|
no_hardware_cursors = 2, -- change to 1 if you want to disable
|
||||||
|
enable_hyprcursor = true,
|
||||||
|
warp_on_change_workspace = 2,
|
||||||
|
no_warps = true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Uncomment to actually enable the touchpad workspace-swipe gesture (see the note above):
|
||||||
|
-- hl.gesture({ fingers = 3, direction = "horizontal", action = "workspace" })
|
||||||
49
dotfiles/.config/hypr/startup.lua
Normal file
49
dotfiles/.config/hypr/startup.lua
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- Commands and Apps to be executed at launch
|
||||||
|
-- Ported from UserConfigs/Startup_Apps.conf
|
||||||
|
-- See https://wiki.hypr.land/Configuring/Basics/Autostart/
|
||||||
|
|
||||||
|
local scriptsDir = os.getenv("HOME") .. "/.config/hypr/scripts"
|
||||||
|
|
||||||
|
hl.on("hyprland.start", function()
|
||||||
|
-- wallpaper stuff
|
||||||
|
hl.exec_cmd("awww-daemon --format xrgb")
|
||||||
|
-- hl.exec_cmd("mpvpaper '*' -o \"load-scripts=no no-audio --loop\" $livewallpaper")
|
||||||
|
|
||||||
|
-- Startup
|
||||||
|
hl.exec_cmd("dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
|
||||||
|
hl.exec_cmd("systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
|
||||||
|
|
||||||
|
-- Polkit (Polkit Gnome / KDE)
|
||||||
|
hl.exec_cmd(scriptsDir .. "/Polkit.sh")
|
||||||
|
|
||||||
|
-- startup apps
|
||||||
|
hl.exec_cmd("nm-applet --indicator")
|
||||||
|
hl.exec_cmd("swaync")
|
||||||
|
-- hl.exec_cmd("ags")
|
||||||
|
-- hl.exec_cmd("blueman-applet")
|
||||||
|
-- hl.exec_cmd("rog-control-center")
|
||||||
|
hl.exec_cmd("waybar")
|
||||||
|
hl.exec_cmd("qs") -- quickshell AGS Desktop Overview alternative
|
||||||
|
|
||||||
|
-- clipboard manager
|
||||||
|
hl.exec_cmd("wl-paste --type text --watch cliphist store")
|
||||||
|
hl.exec_cmd("wl-paste --type image --watch cliphist store")
|
||||||
|
|
||||||
|
-- Starting hypridle to start hyprlock
|
||||||
|
hl.exec_cmd("hypridle")
|
||||||
|
|
||||||
|
hl.dispatch(hl.dsp.focus({ workspace = 3 }))
|
||||||
|
|
||||||
|
-- NOTE: the trailing "&&" here is a stray leftover from the original .conf (dangling, does nothing) — ported as-is
|
||||||
|
hl.exec_cmd("/usr/bin/Plexamp.AppImage &&")
|
||||||
|
hl.exec_cmd("sleep 3 && vesktop")
|
||||||
|
hl.dispatch(hl.dsp.focus({ workspace = 1 }))
|
||||||
|
hl.exec_cmd("bitwarden-desktop --ozone-platform-hint=auto --silent")
|
||||||
|
|
||||||
|
-- Here are a list of features available but disabled by default
|
||||||
|
-- hl.exec_cmd("awww-daemon --format xrgb && awww img " .. os.getenv("HOME") .. "/Pictures/wallpapers/mecha-nostalgia.png") -- persistent wallpaper
|
||||||
|
|
||||||
|
-- xdg-desktop-portal-hyprland (should be auto starting. However, you can force to start)
|
||||||
|
-- hl.exec_cmd(scriptsDir .. "/PortalHyprland.sh")
|
||||||
|
end)
|
||||||
203
dotfiles/.config/hypr/windowrules.lua
Normal file
203
dotfiles/.config/hypr/windowrules.lua
Normal file
@@ -0,0 +1,203 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- For window rules and layer rules
|
||||||
|
-- Ported from UserConfigs/WindowRules.conf
|
||||||
|
-- See https://wiki.hypr.land/Configuring/Basics/Window-Rules/
|
||||||
|
|
||||||
|
-- windowrule - tags - add apps under appropriate tag to use the same settings
|
||||||
|
-- browser tags
|
||||||
|
hl.window_rule({ name = "windowrule-1", tag = "+browser", match = { class = "^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr|[Ff]irefox-bin)$" } })
|
||||||
|
hl.window_rule({ name = "rustdesk", tag = "+rustdesk", match = { class = "^(rustdesk)$", xwayland = true } })
|
||||||
|
hl.window_rule({ name = "windowrule-2", tag = "+browser", match = { class = "^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-3", tag = "+browser", match = { class = "^(chrome-.+-Default)$" } }) -- Chrome PWAs
|
||||||
|
-- hl.window_rule({ name = "browser-chromium", tag = "+browser", match = { class = "^([Cc]hromium)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-4", tag = "+browser", match = { class = "^([Mm]icrosoft-edge(-stable|-beta|-dev|-unstable))$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-5", tag = "+browser", match = { class = "^(Brave-browser(-beta|-dev|-unstable)?)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-6", tag = "+browser", match = { class = "^([Tt]horium-browser|[Cc]achy-browser)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-7", tag = "+browser", match = { class = "^(zen-alpha|zen)$" } })
|
||||||
|
|
||||||
|
-- notif tags
|
||||||
|
hl.window_rule({ name = "windowrule-8", tag = "+notif", match = { class = "^(swaync-control-center|swaync-notification-window|swaync-client|class)$" } })
|
||||||
|
|
||||||
|
-- HyprFlux settings tag
|
||||||
|
hl.window_rule({ name = "windowrule-9", tag = "+HyprFlux_Cheat", match = { title = "^(HyprFlux Quick Cheat Sheet)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-10", tag = "+HyprFlux_Settings", match = { title = "^(HyprFlux Settings)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-11", tag = "+HyprFlux-Settings", match = { class = "^(nwg-displays|nwg-look)$" } })
|
||||||
|
|
||||||
|
-- terminal tags
|
||||||
|
hl.window_rule({ name = "windowrule-12", tag = "+terminal", match = { class = "^(Alacritty|kitty|kitty-dropterm)$" } })
|
||||||
|
|
||||||
|
-- email tags
|
||||||
|
hl.window_rule({ name = "windowrule-13", tag = "+email", match = { class = "^([Tt]hunderbird|org.gnome.Evolution)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-14", tag = "+email", match = { class = "^(eu.betterbird.Betterbird)$" } })
|
||||||
|
|
||||||
|
-- project tags
|
||||||
|
hl.window_rule({ name = "windowrule-15", tag = "+projects", match = { class = "^(codium|codium-url-handler|VSCodium)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-16", tag = "+projects", match = { class = "^(VSCode|code-url-handler)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-17", tag = "+projects", match = { class = "^(jetbrains-.+)$" } }) -- JetBrains IDEs
|
||||||
|
|
||||||
|
-- screenshare tags
|
||||||
|
hl.window_rule({ name = "windowrule-18", tag = "+screenshare", match = { class = "^(com.obsproject.Studio)$" } })
|
||||||
|
|
||||||
|
-- IM tags
|
||||||
|
-- hl.window_rule({ tag = "+im", match = { class = "^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$" } })
|
||||||
|
hl.window_rule({
|
||||||
|
name = "windowrule-19",
|
||||||
|
tag = "+im",
|
||||||
|
center = true,
|
||||||
|
float = true,
|
||||||
|
size = "monitor_w*0.6 monitor_h*0.7",
|
||||||
|
match = { class = "^([Ff]erdium)$" },
|
||||||
|
})
|
||||||
|
hl.window_rule({ name = "windowrule-20", tag = "+im", match = { class = "^([Ww]hatsapp-for-linux)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-21", tag = "+im", match = { class = "^(ZapZap|com.rtosta.zapzap)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-22", tag = "+im", match = { class = "^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-23", tag = "+im", match = { class = "^(teams-for-linux)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-24", tag = "+im", match = { class = "^(im.riot.Riot|Element)$" } }) -- Element Matrix client
|
||||||
|
|
||||||
|
-- game tags
|
||||||
|
hl.window_rule({ name = "windowrule-25", tag = "+games", match = { class = "^(gamescope)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-26", tag = "+games", match = { class = "^(steam_app_\\d+)$" } })
|
||||||
|
|
||||||
|
-- gamestore tags
|
||||||
|
hl.window_rule({ name = "windowrule-27", tag = "+gamestore", match = { class = "^([Ss]team)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-28", tag = "+gamestore", match = { title = "^([Ll]utris)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-29", tag = "+gamestore", match = { class = "^(com.heroicgameslauncher.hgl)$" } })
|
||||||
|
|
||||||
|
-- file-manager tags
|
||||||
|
hl.window_rule({ name = "windowrule-30", tag = "+file-manager", match = { class = "^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-31", tag = "+file-manager", match = { class = "^(app.drey.Warp)$" } })
|
||||||
|
|
||||||
|
-- wallpaper tags
|
||||||
|
hl.window_rule({ name = "windowrule-32", tag = "+wallpaper", match = { class = "^([Ww]aytrogen)$" } })
|
||||||
|
|
||||||
|
-- multimedia tags
|
||||||
|
hl.window_rule({ name = "windowrule-33", tag = "+multimedia", match = { class = "^([Aa]udacious)$" } })
|
||||||
|
|
||||||
|
-- multimedia-video tags
|
||||||
|
hl.window_rule({ name = "windowrule-34", tag = "+multimedia_video", match = { class = "^([Mm]pv|vlc)$" } })
|
||||||
|
|
||||||
|
-- settings tags
|
||||||
|
hl.window_rule({ name = "windowrule-35", tag = "+settings", center = true, match = { title = "^(ROG Control)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-36", tag = "+settings", match = { class = "^(wihotspot(-gui)?)$" } }) -- wifi hotspot
|
||||||
|
hl.window_rule({ name = "windowrule-37", tag = "+settings", match = { class = "^([Bb]aobab|org.gnome.[Bb]aobab)$" } }) -- Disk usage analyzer
|
||||||
|
hl.window_rule({ name = "windowrule-38", tag = "+settings", match = { class = "^(gnome-disks|wihotspot(-gui)?)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-39", tag = "+settings", match = { title = "(Kvantum Manager)" } })
|
||||||
|
hl.window_rule({ name = "windowrule-40", tag = "+settings", match = { class = "^(file-roller|org.gnome.FileRoller)$" } }) -- archive manager
|
||||||
|
hl.window_rule({ name = "windowrule-41", tag = "+settings", match = { class = "^(nm-applet|nm-connection-editor|blueman-manager)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-42", tag = "+settings", center = true, match = { class = "^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-43", tag = "+settings", match = { class = "^(qt5ct|qt6ct|[Yy]ad)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-44", tag = "+settings", match = { class = "(xdg-desktop-portal-gtk)" } })
|
||||||
|
hl.window_rule({ name = "windowrule-45", tag = "+settings", match = { class = "^(org.kde.polkit-kde-authentication-agent-1)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-46", tag = "+settings", match = { class = "^([Rr]ofi)$" } })
|
||||||
|
|
||||||
|
-- Custom rule
|
||||||
|
hl.window_rule({ name = "windowrule-47", tile = true, match = { class = "^([Cc]hromium)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-48", size = "monitor_w*0.25 monitor_h*0.55", float = true, match = { class = "^(com.network.manager)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-49", workspace = "special:nyx", match = { class = "^([Vv]esktop|[Dd]iscord|[Ss]potify)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-255", size = "monitor_w*0.75 monitor_h*0.80", float = true, match = { class = "^([Bb]itwarden)$" } })
|
||||||
|
|
||||||
|
-- viewer tags
|
||||||
|
hl.window_rule({ name = "windowrule-50", tag = "+viewer", match = { class = "^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$" } }) -- system monitor
|
||||||
|
hl.window_rule({ name = "windowrule-51", tag = "+viewer", match = { class = "^(evince)$" } }) -- document viewer
|
||||||
|
hl.window_rule({ name = "windowrule-52", tag = "+viewer", match = { class = "^(eog|org.gnome.Loupe)$" } }) -- image viewer
|
||||||
|
|
||||||
|
-- Some special override rules
|
||||||
|
hl.window_rule({ name = "windowrule-53", no_blur = true, opacity = "1.0", match = { tag = "multimedia_video*" } })
|
||||||
|
|
||||||
|
-- POSITION
|
||||||
|
-- hl.window_rule({ center = true, match = { float = true } }) -- warning, it cause even the menu to float and center.
|
||||||
|
hl.window_rule({ name = "windowrule-54", center = true, float = true, size = "monitor_w*0.65 monitor_h*0.9", match = { tag = "HyprFlux_Cheat*" } })
|
||||||
|
hl.window_rule({ name = "windowrule-55", center = true, float = true, match = { class = "([Tt]hunar)", title = "negative:(.*[Tt]hunar.*)" } })
|
||||||
|
hl.window_rule({ name = "windowrule-56", center = true, float = true, match = { tag = "HyprFlux-Settings*" } })
|
||||||
|
hl.window_rule({ name = "windowrule-57", center = true, match = { title = "^(Keybindings)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-58", center = true, size = "monitor_w*0.6 monitor_h*0.7", match = { class = "^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$" } })
|
||||||
|
hl.window_rule({
|
||||||
|
name = "windowrule-59",
|
||||||
|
move = "monitor_w*0.61 monitor_h*0.07",
|
||||||
|
float = true,
|
||||||
|
size = "monitor_w*0.38 monitor_h*0.38",
|
||||||
|
pin = true,
|
||||||
|
keep_aspect_ratio = true,
|
||||||
|
match = { title = "^(Picture-in-Picture)$" },
|
||||||
|
})
|
||||||
|
|
||||||
|
-- hl.window_rule({ move = "72% 7%", match = { title = "^(Firefox)$" } })
|
||||||
|
|
||||||
|
-- windowrule to avoid idle for fullscreen apps
|
||||||
|
-- hl.window_rule({ idle_inhibit = "fullscreen", match = { class = "^(*)$" } })
|
||||||
|
-- hl.window_rule({ idle_inhibit = "fullscreen", match = { title = "^(*)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-60", idle_inhibit = "fullscreen", match = { fullscreen = true } })
|
||||||
|
|
||||||
|
-- Discord to workspace 3
|
||||||
|
-- NOTE: these two used the old single-line windowrule syntax in the source .conf (match packed
|
||||||
|
-- oddly with the rule); windowrule-49 above already sends the same apps to special:nyx, so this
|
||||||
|
-- looks like a pre-existing conflict in the original config rather than something introduced here —
|
||||||
|
-- ported literally, last-defined-wins as before.
|
||||||
|
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)" } })
|
||||||
|
|
||||||
|
-- FLOAT
|
||||||
|
hl.window_rule({ name = "windowrule-75", float = true, opacity = "0.9 0.7", size = "monitor_w*0.7 monitor_h*0.7", match = { tag = "wallpaper*" } })
|
||||||
|
hl.window_rule({ name = "windowrule-76", float = true, opacity = "0.8 0.7", size = "monitor_w*0.7 monitor_h*0.7", match = { tag = "settings*" } })
|
||||||
|
hl.window_rule({ name = "windowrule-77", float = true, match = { tag = "viewer*" } })
|
||||||
|
hl.window_rule({ name = "windowrule-78", float = true, match = { class = "([Zz]oom|onedriver|onedriver-launcher)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-79", float = true, match = { class = "(org.gnome.Calculator)", title = "(Calculator)" } })
|
||||||
|
hl.window_rule({ name = "windowrule-80", float = true, match = { class = "^(mpv|com.github.rafostar.Clapper)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-81", float = true, match = { class = "^([Qq]alculate-gtk)$" } })
|
||||||
|
-- hl.window_rule({ float = true, match = { class = "^([Ww]hatsapp-for-linux|ZapZap|com.rtosta.zapzap)$" } })
|
||||||
|
-- hl.window_rule({ float = true, match = { title = "^(Firefox)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-82", float = true, match = { class = "^(fdm|freedownloadmanager)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-83", float = true, match = { class = "^(proton-authenticator)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-84", float = true, match = { class = "^([Ww]indscribe)$" } })
|
||||||
|
|
||||||
|
-- windowrule - ######### float popups and dialogue #######
|
||||||
|
hl.window_rule({ name = "windowrule-85", float = true, center = true, match = { title = "^(Authentication Required)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-86", float = true, match = { class = "(codium|codium-url-handler|VSCodium)", title = "negative:(.*codium.*|.*VSCodium.*)" } })
|
||||||
|
hl.window_rule({ name = "windowrule-87", float = true, match = { class = "^(com.heroicgameslauncher.hgl)$", title = "negative:(Heroic Games Launcher)" } })
|
||||||
|
hl.window_rule({ name = "windowrule-88", float = true, match = { class = "^([Ss]team)$", title = "negative:^([Ss]team)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-89", float = true, size = "monitor_w*0.7 monitor_h*0.6", center = true, match = { title = "^(Add Folder to Workspace)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-90", float = true, size = "monitor_w*0.7 monitor_h*0.6", center = true, match = { title = "^(Save As)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-91", float = true, size = "monitor_w*0.7 monitor_h*0.6", match = { initial_title = "(Open Files)" } })
|
||||||
|
hl.window_rule({ name = "windowrule-92", float = true, center = true, 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
|
||||||
|
-- hl.window_rule({ opacity = "0.9 0.7", match = { tag = "browser*" } })
|
||||||
|
-- hl.window_rule({ opacity = "0.9 0.8", match = { tag = "projects*" } })
|
||||||
|
-- hl.window_rule({ opacity = "0.94 0.86", match = { tag = "im*" } })
|
||||||
|
-- hl.window_rule({ opacity = "0.94 0.86", match = { tag = "multimedia*" } })
|
||||||
|
-- hl.window_rule({ opacity = "0.9 0.8", match = { tag = "file-manager*" } })
|
||||||
|
hl.window_rule({ name = "windowrule-93", opacity = "0.8 0.7", match = { tag = "terminal*" } })
|
||||||
|
-- hl.window_rule({ opacity = "0.82 0.75", match = { tag = "viewer*" } })
|
||||||
|
hl.window_rule({ name = "windowrule-94", opacity = "0.8 0.7", match = { class = "^(gedit|org.gnome.TextEditor|mousepad)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-95", opacity = "0.9 0.8", match = { class = "^(deluge)$" } })
|
||||||
|
hl.window_rule({ name = "windowrule-96", opacity = "0.9 0.8", match = { class = "^(seahorse)$" } }) -- gnome-keyring gui
|
||||||
|
-- hl.window_rule({ opacity = "0.95 0.75", match = { title = "^(Picture-in-Picture)$" } })
|
||||||
|
|
||||||
|
-- SIZE
|
||||||
|
-- hl.window_rule({ size = "25% 25%", match = { title = "^(Firefox)$" } })
|
||||||
|
|
||||||
|
-- PINNING
|
||||||
|
-- hl.window_rule({ pin = true, match = { title = "^(Firefox)$" } })
|
||||||
|
|
||||||
|
-- windowrule - extras
|
||||||
|
|
||||||
|
-- BLUR & FULLSCREEN
|
||||||
|
-- hl.window_rule({ active_border_color = "rgb(EE4B55)", inactive_border_color = "rgb(880808)", match = { fullscreen = true } })
|
||||||
|
-- hl.window_rule({ active_border_color = "rgb(282737)", inactive_border_color = "rgb(1E1D2D)", match = { float = true } })
|
||||||
|
-- hl.window_rule({ opacity = "0.8 0.8", match = { pin = true } })
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------------
|
||||||
|
-- LAYER RULES
|
||||||
|
--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
hl.layer_rule({ name = "layerrule-1", blur = true, ignore_alpha = 0, match = { namespace = "rofi" } })
|
||||||
|
hl.layer_rule({ name = "layerrule-2", blur = true, ignore_alpha = 0, match = { namespace = "notifications" } })
|
||||||
|
hl.layer_rule({ name = "layerrule-3", blur = true, ignore_alpha = 0.5, match = { namespace = "quickshell:overview" } })
|
||||||
|
|
||||||
|
-- hl.layer_rule({ ignore_alpha = 0.5, match = { tag = "notif*" } })
|
||||||
|
-- hl.layer_rule({ no_anim = true (unset), match = { class = "^([Rr]ofi)$" } })
|
||||||
|
-- hl.layer_rule({ blur = true, match = { class = "^([Rr]ofi)$" } })
|
||||||
|
-- hl.layer_rule({ ignore_alpha = 0, match = { class = "<rofi>" } })
|
||||||
|
-- hl.layer_rule({ ignore_alpha = 0, match = { namespace = "overview" } })
|
||||||
|
-- hl.layer_rule({ blur = true, match = { namespace = "overview" } })
|
||||||
29
dotfiles/.config/hypr/workspaces.lua
Normal file
29
dotfiles/.config/hypr/workspaces.lua
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
-- HyprFlux — https://github.com/ahmad9059/HyprFlux
|
||||||
|
-- NOTE: This will be overwritten by NWG-Displays
|
||||||
|
-- once you use it and click apply.
|
||||||
|
-- (nwg-displays already supports writing this file directly as workspaces.lua once
|
||||||
|
-- hyprland.lua is active, so re-running it should stay compatible.)
|
||||||
|
--
|
||||||
|
-- Ported from UserConfigs/workspaces.conf
|
||||||
|
-- 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.hypr.land/Configuring/Basics/Workspace-Rules/
|
||||||
|
|
||||||
|
-- Assigning workspace to a certain monitor. Below are just examples
|
||||||
|
hl.workspace_rule({ workspace = 1, monitor = "DP-2", default = true })
|
||||||
|
hl.workspace_rule({ workspace = 2, monitor = "DP-1", default = true })
|
||||||
|
hl.workspace_rule({ workspace = 3, monitor = "HDMI-A-1", default = true })
|
||||||
|
-- hl.workspace_rule({ workspace = 4, monitor = "eDP-1" })
|
||||||
|
-- hl.workspace_rule({ workspace = 5, monitor = "DP-2" })
|
||||||
|
-- hl.workspace_rule({ workspace = 6, monitor = "DP-2" })
|
||||||
|
-- hl.workspace_rule({ workspace = 7, monitor = "DP-2" })
|
||||||
|
-- hl.workspace_rule({ workspace = 8, monitor = "DP-2" })
|
||||||
|
|
||||||
|
-- example rules (from wiki)
|
||||||
|
-- hl.workspace_rule({ workspace = 3, rounding = false, decorate = false })
|
||||||
|
-- hl.workspace_rule({ workspace = "name:coding", rounding = false, decorate = false, gaps_in = 0, gaps_out = 0, border = false, monitor = "DP-1" })
|
||||||
|
-- hl.workspace_rule({ workspace = 8, border_size = 8 })
|
||||||
|
-- hl.workspace_rule({ workspace = "name:Hello", monitor = "DP-1", default = true })
|
||||||
|
-- hl.workspace_rule({ workspace = "name:gaming", monitor = "desc:Chimei Innolux Corporation 0x150C", default = true })
|
||||||
|
-- hl.workspace_rule({ workspace = 5, on_created_empty = "[float] firefox" })
|
||||||
|
-- hl.workspace_rule({ workspace = "special:scratchpad", on_created_empty = "foot" })
|
||||||
93
dotfiles/.config/ohmyposh/zen.toml
Normal file
93
dotfiles/.config/ohmyposh/zen.toml
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
#:schema https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json
|
||||||
|
|
||||||
|
version = 2
|
||||||
|
final_space = true
|
||||||
|
console_title_template = '{{ .Shell }} in {{ .Folder }}'
|
||||||
|
|
||||||
|
[[blocks]]
|
||||||
|
type = 'prompt'
|
||||||
|
alignment = 'left'
|
||||||
|
newline = true
|
||||||
|
|
||||||
|
[[blocks.segments]]
|
||||||
|
type = 'path'
|
||||||
|
style = 'plain'
|
||||||
|
background = 'transparent'
|
||||||
|
foreground = 'blue'
|
||||||
|
template = '{{ .Path }}'
|
||||||
|
|
||||||
|
[blocks.segments.properties]
|
||||||
|
style = 'full'
|
||||||
|
|
||||||
|
[[blocks.segments]]
|
||||||
|
type = 'git'
|
||||||
|
style = 'plain'
|
||||||
|
foreground = 'p:grey'
|
||||||
|
background = 'transparent'
|
||||||
|
template = ' {{ .HEAD }}{{ if or (.Working.Changed) (.Staging.Changed) }}*{{ end }} <cyan>{{ if gt .Behind 0 }}⇣{{ end }}{{ if gt .Ahead 0 }}⇡{{ end }}</>'
|
||||||
|
|
||||||
|
[blocks.segments.properties]
|
||||||
|
branch_icon = ''
|
||||||
|
commit_icon = '@'
|
||||||
|
fetch_status = true
|
||||||
|
|
||||||
|
[[blocks.segments]]
|
||||||
|
type = "pnpm"
|
||||||
|
style = "powerline"
|
||||||
|
powerline_symbol = "❯"
|
||||||
|
foreground = "blue"
|
||||||
|
background = "transparent"
|
||||||
|
template = " {{ .Full }} "
|
||||||
|
|
||||||
|
[[blocks.segments]]
|
||||||
|
type = 'docker'
|
||||||
|
style = 'powerline'
|
||||||
|
foreground = 'blue'
|
||||||
|
background = 'transparent'
|
||||||
|
template = ' {{ .Context }} '
|
||||||
|
|
||||||
|
[blocks.segments.options]
|
||||||
|
display_mode = 'files'
|
||||||
|
|
||||||
|
[[blocks]]
|
||||||
|
type = 'rprompt'
|
||||||
|
overflow = 'hidden'
|
||||||
|
|
||||||
|
[[blocks.segments]]
|
||||||
|
type = 'executiontime'
|
||||||
|
style = 'plain'
|
||||||
|
foreground = 'yellow'
|
||||||
|
background = 'transparent'
|
||||||
|
template = '{{ .FormattedMs }}'
|
||||||
|
|
||||||
|
[blocks.segments.properties]
|
||||||
|
threshold = 5000
|
||||||
|
|
||||||
|
[[blocks]]
|
||||||
|
type = 'prompt'
|
||||||
|
alignment = 'left'
|
||||||
|
newline = true
|
||||||
|
|
||||||
|
[[blocks.segments]]
|
||||||
|
type = 'text'
|
||||||
|
style = 'plain'
|
||||||
|
foreground_templates = [
|
||||||
|
"{{if gt .Code 0}}red{{end}}",
|
||||||
|
"{{if eq .Code 0}}magenta{{end}}",
|
||||||
|
]
|
||||||
|
background = 'transparent'
|
||||||
|
template = '❯'
|
||||||
|
|
||||||
|
|
||||||
|
[transient_prompt]
|
||||||
|
foreground_templates = [
|
||||||
|
"{{if gt .Code 0}}red{{end}}",
|
||||||
|
"{{if eq .Code 0}}magenta{{end}}",
|
||||||
|
]
|
||||||
|
background = 'transparent'
|
||||||
|
template = '❯ '
|
||||||
|
|
||||||
|
[secondary_prompt]
|
||||||
|
foreground = 'magenta'
|
||||||
|
background = 'transparent'
|
||||||
|
template = '❯❯ '
|
||||||
4
dotfiles/.config/qt5ct/colors/Catppuccin-Latte.conf
Normal file
4
dotfiles/.config/qt5ct/colors/Catppuccin-Latte.conf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
[ColorScheme]
|
||||||
|
active_colors=#ff4c4f69, #ffe6e9ef, #ff6c6f85, #ff7c7f93, #ffbcc0cc, #ff9ca0b0, #ff4c4f69, #ff4c4f69, #ff4c4f69, #ffeff1f5, #ffe6e9ef, #ff8c8fa1, #ff1e66f5, #ffeff1f5, #ff7287fd, #ffe64553, #ffeff1f5, #ff4c4f69, #ffdce0e8, #ff4c4f69, #808c8fa1
|
||||||
|
disabled_colors=#ff6c6f85, #ffe6e9ef, #ff6c6f85, #ff7c7f93, #ffbcc0cc, #ff9ca0b0, #ff6c6f85, #ff6c6f85, #ff6c6f85, #ffeff1f5, #ffe6e9ef, #ff8c8fa1, #ff9ca0b0, #ff5c5f77, #ff7287fd, #ffe64553, #ffeff1f5, #ff4c4f69, #ffdce0e8, #ff4c4f69, #808c8fa1
|
||||||
|
inactive_colors=#ff4c4f69, #ffe6e9ef, #ff6c6f85, #ff7c7f93, #ffbcc0cc, #ff9ca0b0, #ff4c4f69, #ff4c4f69, #ff4c4f69, #ffeff1f5, #ffe6e9ef, #ff8c8fa1, #ffccd0da, #ff6c6f85, #ff7287fd, #ffe64553, #ffeff1f5, #ff4c4f69, #ffdce0e8, #ff4c4f69, #808c8fa1
|
||||||
4
dotfiles/.config/qt5ct/colors/Catppuccin-Mocha.conf
Normal file
4
dotfiles/.config/qt5ct/colors/Catppuccin-Mocha.conf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
[ColorScheme]
|
||||||
|
active_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ff1e1e2e, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c
|
||||||
|
disabled_colors=#ffa6adc8, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffa6adc8, #ffa6adc8, #ffa6adc8, #ff1e1e2e, #ff11111b, #ff7f849c, #ff89b4fa, #ff45475a, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c
|
||||||
|
inactive_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ffa6adc8, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c
|
||||||
32
dotfiles/.config/qt5ct/qt5ct.conf
Normal file
32
dotfiles/.config/qt5ct/qt5ct.conf
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
[Appearance]
|
||||||
|
color_scheme_path=
|
||||||
|
custom_palette=true
|
||||||
|
icon_theme=Papirus-Dark
|
||||||
|
standard_dialogs=default
|
||||||
|
style=Fusion
|
||||||
|
|
||||||
|
[Fonts]
|
||||||
|
fixed="Adwaita Sans,10,-1,5,50,0,0,0,0,0,Regular"
|
||||||
|
general="Adwaita Sans,12,-1,5,50,0,0,0,0,0,Regular"
|
||||||
|
|
||||||
|
[Interface]
|
||||||
|
activate_item_on_single_click=1
|
||||||
|
buttonbox_layout=0
|
||||||
|
cursor_flash_time=1000
|
||||||
|
dialog_buttons_have_icons=1
|
||||||
|
double_click_interval=400
|
||||||
|
gui_effects=General, AnimateMenu, AnimateCombo, AnimateTooltip, AnimateToolBox
|
||||||
|
keyboard_scheme=2
|
||||||
|
menus_have_icons=true
|
||||||
|
show_shortcuts_in_context_menus=true
|
||||||
|
stylesheets=@Invalid()
|
||||||
|
toolbutton_style=4
|
||||||
|
underline_shortcut=1
|
||||||
|
wheel_scroll_lines=3
|
||||||
|
|
||||||
|
[SettingsWindow]
|
||||||
|
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x5?\0\0\x2\xf3\0\0\0\0\0\0\0\0\0\0\x5?\0\0\x2\xf3\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x5?\0\0\x2\xf3)
|
||||||
|
|
||||||
|
[Troubleshooting]
|
||||||
|
force_raster_widgets=1
|
||||||
|
ignored_applications=@Invalid()
|
||||||
4
dotfiles/.config/qt6ct/colors/Catppuccin-Latte.conf
Normal file
4
dotfiles/.config/qt6ct/colors/Catppuccin-Latte.conf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
[ColorScheme]
|
||||||
|
active_colors=#ff4c4f69, #ffe6e9ef, #ff6c6f85, #ff7c7f93, #ffbcc0cc, #ff9ca0b0, #ff4c4f69, #ff4c4f69, #ff4c4f69, #ffeff1f5, #ffe6e9ef, #ff8c8fa1, #ff1e66f5, #ffeff1f5, #ff7287fd, #ffe64553, #ffeff1f5, #ff4c4f69, #ffdce0e8, #ff4c4f69, #808c8fa1
|
||||||
|
disabled_colors=#ff6c6f85, #ffe6e9ef, #ff6c6f85, #ff7c7f93, #ffbcc0cc, #ff9ca0b0, #ff6c6f85, #ff6c6f85, #ff6c6f85, #ffeff1f5, #ffe6e9ef, #ff8c8fa1, #ff9ca0b0, #ff5c5f77, #ff7287fd, #ffe64553, #ffeff1f5, #ff4c4f69, #ffdce0e8, #ff4c4f69, #808c8fa1
|
||||||
|
inactive_colors=#ff4c4f69, #ffe6e9ef, #ff6c6f85, #ff7c7f93, #ffbcc0cc, #ff9ca0b0, #ff4c4f69, #ff4c4f69, #ff4c4f69, #ffeff1f5, #ffe6e9ef, #ff8c8fa1, #ffccd0da, #ff6c6f85, #ff7287fd, #ffe64553, #ffeff1f5, #ff4c4f69, #ffdce0e8, #ff4c4f69, #808c8fa1
|
||||||
4
dotfiles/.config/qt6ct/colors/Catppuccin-Mocha.conf
Normal file
4
dotfiles/.config/qt6ct/colors/Catppuccin-Mocha.conf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
[ColorScheme]
|
||||||
|
active_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ff1e1e2e, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c
|
||||||
|
disabled_colors=#ffa6adc8, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffa6adc8, #ffa6adc8, #ffa6adc8, #ff1e1e2e, #ff11111b, #ff7f849c, #ff89b4fa, #ff45475a, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c
|
||||||
|
inactive_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ffa6adc8, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user