This commit is contained in:
2026-06-15 00:24:26 +03:00
commit 3fab9257e0
45 changed files with 2729 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
exec-once = hyprswitch init --show-title
exec-once = hyprpaper
exec-once = waybar
exec-once = awww-daemon
exec-once = hyprctl dispatch workspace 1
exec-once = ~/.config/hypr/scripts/replay-startup.sh
exec-once = walker --gapplication-service
exec-once = swaync
exec-once = gsettings set org.gnome.desktop.interface gtk-theme "catppuccin-mocha-mauve-standard+default"
exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP

97
config/hypr/binds.conf Normal file
View File

@@ -0,0 +1,97 @@
$mainMod = SUPER
$secMod = SUPER SHIFT
$terminal = kitty
$fileManager = thunar
$menu = walker
$menuLauncher = ~/.config/rofi/launchers/type-2/launcher.sh
# System
bind = $mainMod, F4, exec, wlogout -l ~/.config/wlogout/layout -s ~/.config/wlogout/style.css -b 4 -T 350 -B 350
bind = $mainMod, Q, exec, $terminal
bind = $mainMod, C, killactive,
bind = $mainMod, M, exec, command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, L, exec, hyprlock
# Windows
bind = $secMod, V, togglefloating
bind = $mainMod, F11, fullscreen, 0
bind = $mainMod, T, layoutmsg, togglesplit
bind = $secMod, right, movewindow, r
bind = $secMod, left, movewindow, l
bind = $secMod, up, movewindow, u
bind = $secMod, down, movewindow, d
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Applications
bind = $mainMod, F, exec, firefox
bind = $mainMod, S, exec, spotify
bind = $mainMod, N, exec, swaync-client -t -sw
bind = $secMod, N, exec, swaync-cleint --close-all
bind = ALT, SPACE, exec, $menu
bind = $mainMod, V, exec, walker --provider clipboard
bind = ALT, Tab, exec, hyprswitch gui --mod-key=alt --key=tab --close=mod-key-release --reverse-key=mod=shift
# Screenshots
bind = $secMod, S, exec, hyprshot -m region -z
# Screen recording
bind = $mainMod, R, exec, notify-send "Recording Started" "Screen recording has started, Press Super + Shift + R to end it."; wf-recorder -f ~/Videos/$(date +%Y%m%d_%H%M%S).mp4 -g "$(slurp)"
bind = $mainMod SHIFT, R, exec, pkill -INT wf-recorder && notify-send "Recording Saved" "Screen recording saved to ~/Videos/"
bind = ALT, E, exec, killall -SIGUSR1 gpu-screen-recorder && notify-send "Replay Saved" "Clip dumped to ~/Videos/Replays"
# Audio
bind = , XF86AudioPlay, exec, playerctl play-pause
bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioPrev, exec, playerctl previous
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bind = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
# Display
bind = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
bind = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
# Opacity
bind = $secMod, mouse_down, exec, ~/.config/hypr/scripts/opacity.sh decrease
bind = $secMod, mouse_up, exec, ~/.config/hypr/scripts/opacity.sh increase
# Touchpad
bind = , XF86TouchpadToggle, exec, hyprctl keyword input:touchpad:enabled toggle
# Switch to workspace
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
# Move window to workspace
bind = $secMod, 1, movetoworkspace, 1
bind = $secMod, 2, movetoworkspace, 2
bind = $secMod, 3, movetoworkspace, 3
bind = $secMod, 4, movetoworkspace, 4
bind = $secMod, 5, movetoworkspace, 5
bind = $secMod, 6, movetoworkspace, 6
# Next/previous workspace on focused monitor
bind = $mainMod, mouse_up, workspace, m+1
bind = $mainMod, mouse_down, workspace, m-1
bind = $mainMod, bracketright, exec, ~/.config/hypr/workspace_next.sh
bind = $mainMod, bracketleft, exec, ~/.config/hypr/workspace_prev.sh
# Pin workspaces to monitors (uncomment to use)
#workspace = 1, monitor:DP-1
#workspace = 2, monitor:DP-1
#workspace = 3, monitor:DP-1
#workspace = 1, monitor:HDMI-A-1
#workspace = 2, monitor:HDMI-A-1
#workspace = 3, monitor:HDMI-A-1
#workspace = 4, monitor:eDP-2
#workspace = 5, monitor:eDP-2
#workspace = 6, monitor:eDP-2
#monitor = DP-1, 1920x1080@60, 0x0, 1
#monitor = eDP-2, 2560x1600@144, 0x1080, 1.67
#monitor = eDP-2, disable

6
config/hypr/env.conf Normal file
View File

@@ -0,0 +1,6 @@
env = QT_QPA_PLATFORMTHEME, qt6ct
env = JAVA_AWT_WM_NONPARENTING, 1
env = GTK_THEME,catppuccin-mocha-mauve-standard+default
env = COLOR_SCHEME, prefer-dark
env = LIBVA_DRIVER_NAME, nvidia
env = __GLX_VENDOR_LIBRARY_NAME, nvidia

View File

@@ -0,0 +1,7 @@
source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/workspaces.conf
source = ~/.config/hypr/autostart.conf
source = ~/.config/hypr/env.conf
source = ~/.config/hypr/windowrules.conf
source = ~/.config/hypr/settings.conf
source = ~/.config/hypr/binds.conf

View File

@@ -0,0 +1,83 @@
# This config is a STUB! This should never be generated.
# Use the default lua config from https://github.com/hyprwm/Hyprland/blob/main/example/hyprland.lua
exec-once = hyprswitch init --show-title
exec-once = waybar
env = QT_QPA_PLATFORMTHEME, qt6ct
env = JAVA_AWT_WM_NONPARENTING, 1
env = GTK_THEME = Adwaita:dark
input {
touchpad {
natural_scroll = true
}
}
xwayland {
force_zero_scaling = true
}
$mainMod = SUPER
$secMod = SUPER SHIFT
$terminal = kitty
$fileManager = dolphin
$menu = rofi
$menuLauncher = ~/.config/rofi/launchers/type-2/launcher.sh
bind = $mainMod, Q, exec, $terminal
bind = $mainMod, C, killactive,
bind = $mainMod, M, exec, command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = ALT, SPACE, exec, bash $menuLauncher
bind = $secMod, right, movewindow, r
bind = $secMod, left, movewindow, l
bind = $secMod, up, movewindow, u
bind = $secMod, down, movewindow, d
bind = $mainMod, F11, fullscreen, 0
bind = $mainMod, F, exec, firefox
bind = ALT, Tab, exec, hyprswitch gui --mod-key=alt --key=tab --close=mod-key-release --reverse-key=mod=shift
bind = , XF86AudioPlay, exec, playerctl play-pause
bind = $secMod, S, exec, hyprshot -m region
# Pin workspaces to monitors
workspace = 1, monitor:DP-1
workspace = 2, monitor:DP-1
workspace = 3, monitor:DP-1
workspace = 4, monitor:eDP-1
workspace = 5, monitor:eDP-1
workspace = 6, monitor:eDP-1
# Switch to workspace
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
# Move window to workspace
bind = $secMod, 1, movetoworkspace, 1
bind = $secMod, 2, movetoworkspace, 2
bind = $secMod, 3, movetoworkspace, 3
bind = $secMod, 4, movetoworkspace, 4
bind = $secMod, 5, movetoworkspace, 5
bind = $secMod, 6, movetoworkspace, 6
# Next/previous workspace on focused monitor
bind = $mainMod, mouse_down, workspace, m+1
bind = $mainMod, mouse_up, workspace, m-1
bind = $mainMod, bracketright, workspace, m+1
bind = $mainMod, bracketleft, workspace, m-1
monitor = DP-1, 1920x1080@60, 0x0, 1
monitor = eDP-1, 2560x1600@144, 1920x0, 1.67
workspace = 1, monitor:DP-1
workspace = 2, monitor:DP-1
workspace = 3, monitor:DP-1
workspace = 4, monitor:eDP-1
workspace = 5, monitor:eDP-1
workspace = 6, monitor:eDP-1

View File

@@ -0,0 +1,130 @@
# This config is a STUB! This should never be generated.
# Use the default lua config from https://github.com/hyprwm/Hyprland/blob/main/example/hyprland.lua
source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/workspaces.conf
exec-once = hyprswitch init --show-title
exec-once = hyprpaper
exec-once = waybar
exec-once = awww-daemon
exec-once = hyprctl dispatch workspace 1
exec-once = ~/.config/hypr/scripts/replay-startup.sh
exec-once = walker --gapplication-service
exec-once = swaync
env = QT_QPA_PLATFORMTHEME, qt6ct
env = JAVA_AWT_WM_NONPARENTING, 1
env = GTK_THEME, Adwaita:dark
env = COLOR_SCHEME, prefer-dark
env = LIBVA_DRIVER_NAME, nvidia
env = __GLX_VENDOR_LIBRARY_NAME, nvidia
windowrule = match:class ^(steam_app_1091500)$, fullscreen 1
windowrule = match:class ^(ArqaamAccounting)$, float true
windowrule = match:class ^(ArqaamAccounting)$, center true
windowrule = match:title ^(Network Manager)$, float true
general {
col.active_border = rgba(6C7086ff) # focused window border
col.inactive_border = rgba(313244ff) # unfocused windows
gaps_out = 10,10,10,10
}
input {
touchpad {
natural_scroll = true
clickfinger_behavior = true
}
numlock_by_default = true
kb_layout = us,ara
kb_variant = ,
kb_options = grp:alt_shift_toggle
}
general {
}
xwayland {
force_zero_scaling = true
}
$mainMod = SUPER
$secMod = SUPER SHIFT
$terminal = kitty
$fileManager = hyprfm
$menu = walker
$menuLauncher = ~/.config/rofi/launchers/type-2/launcher.sh
bind = $mainMod, F4, exec, wlogout -l ~/.config/wlogout/layout -s ~/.config/wlogout/style.css -b 4 -T 350 -B 350
bind = $mainMod, Q, exec, $terminal
bind = $mainMod, C, killactive,
bind = $mainMod, M, exec, command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit
bind = $mainMod, E, exec, $fileManager
bind = $secMod, V, togglefloating
bind = $mainMod, V, exec, walker --provider clipboard
bind = ALT, SPACE, exec, $menu
bind = ALT, E, exec, killall -SIGUSR1 gpu-screen-recorder && notify-send "Replay Saved" "Clip dumped to ~/Videos/Replays"
bind = $secMod, right, movewindow, r
bind = $secMod, left, movewindow, l
bind = $secMod, up, movewindow, u
bind = $secMod, down, movewindow, d
bind = $mainMod, F11, fullscreen, 0
bind = $mainMod, F, exec, firefox
bind = $mainMod, S, exec, spotify
bind = $mainMod, N, exec, swaync-client -t -sw
bind = $secMod, N, exec, swaync-cleint --close-all
bind = ALT, Tab, exec, hyprswitch gui --mod-key=alt --key=tab --close=mod-key-release --reverse-key=mod=shift
bind = $mainMod, L, exec, hyprlock
bind = , XF86AudioPlay, exec, playerctl play-pause
bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioPrev, exec, playerctl previous
bind = $secMod, S, exec, hyprshot -m region -z
bind = $mainMod, T, layoutmsg, togglesplit
# Screen recording
bind = $mainMod, R, exec, wf-recorder -f ~/Videos/$(date +%Y%m%d_%H%M%S).mp4 -g "$(slurp)"
bind = $mainMod SHIFT, R, exec, pkill -INT wf-recorder
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bind = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bind = , XF86MonBrightnessDown, exec, brightnessctl set 5%-
bind = , XF86MonBrightnessUp, exec, brightnessctl set 5%+
bind = $secMod, mouse_down, exec, ~/.config/hypr/scripts/opacity.sh decrease
bind = $secMod, mouse_up, exec, ~/.config/hypr/scripts/opacity.sh increase
bind = , XF86TouchpadToggle, exec, hyprctl keyword input:touchpad:enabled toggle
# Pin workspaces to monitors
#workspace = 1, monitor:DP-1
#workspace = 2, monitor:DP-1
#workspace = 3, monitor:DP-1
#workspace = 1, monitor:HDMI-A-1
#workspace = 2, monitor:HDMI-A-1
#workspace = 3, monitor:HDMI-A-1
#workspace = 4, monitor:eDP-2
#workspace = 5, monitor:eDP-2
#workspace = 6, monitor:eDP-2
# Switch to workspace
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
# Move window to workspace
bind = $secMod, 1, movetoworkspace, 1
bind = $secMod, 2, movetoworkspace, 2
bind = $secMod, 3, movetoworkspace, 3
bind = $secMod, 4, movetoworkspace, 4
bind = $secMod, 5, movetoworkspace, 5
bind = $secMod, 6, movetoworkspace, 6
# Next/previous workspace on focused monitor
bind = $mainMod, mouse_up, workspace, m+1
bind = $mainMod, mouse_down, workspace, m-1
bind = $mainMod, bracketright, exec, ~/.config/hypr/workspace_next.sh
bind = $mainMod, bracketleft, exec, ~/.config/hypr/workspace_prev.sh
#monitor = DP-1, 1920x1080@60, 0x0, 1
#monitor = eDP-2, 2560x1600@144, 0x1080, 1.67
# monitor = eDP-2, disable

View File

@@ -0,0 +1,78 @@
# This config is a STUB! This should never be generated.
# Use the default lua config from https://github.com/hyprwm/Hyprland/blob/main/example/hyprland.lua
exec-once = hyprswitch init --show-title
windowrule = match:fullscreen 1, border_size 0
env = QT_QPA_PLATFORMTHEME, qt6ct
env = JAVA_AWT_WM_NONPARENTING, 1
xwayland {
force_zero_scaling = true
}
$mainMod = SUPER
$secMod = SUPER SHIFT
$terminal = kitty
$fileManager = dolphin
$menu = rofi
$menuLauncher = ~/.config/rofi/launchers/type-2/launcher.sh
bind = $mainMod, Q, exec, $terminal
bind = $mainMod, C, killactive,
bind = $mainMod, M, exec, command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = ALT, SPACE, exec, bash $menuLauncher
bind = $secMod, right, movewindow, r
bind = $secMod, left, movewindow, l
bind = $secMod, up, movewindow, u
bind = $secMod, down, movewindow, d
bind = $mainMod, F11, fullscreen, 1
bind = $mainMod, F, exec, firefox
bind = ALT, Tab, exec, hyprswitch gui --mod-key=alt --key=tab --close=mod-key-release --reverse-key=mod=shift
bind = , XF86AudioPlay, exec, playerctl play-pause
bind = $secMod, S, exec, hyprshot -m region
# Pin workspaces to monitors
workspace = 1, monitor:DP-1
workspace = 2, monitor:DP-1
workspace = 3, monitor:DP-1
workspace = 4, monitor:eDP-1
workspace = 5, monitor:eDP-1
workspace = 6, monitor:eDP-1
# Switch to workspace
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
# Move window to workspace
bind = $secMod, 1, movetoworkspace, 1
bind = $secMod, 2, movetoworkspace, 2
bind = $secMod, 3, movetoworkspace, 3
bind = $secMod, 4, movetoworkspace, 4
bind = $secMod, 5, movetoworkspace, 5
bind = $secMod, 6, movetoworkspace, 6
# Next/previous workspace on focused monitor
bind = $mainMod, mouse_down, workspace, m+1
bind = $mainMod, mouse_up, workspace, m-1
bind = $mainMod, bracketright, workspace, m+1
bind = $mainMod, bracketleft, workspace, m-1
monitor = DP-1, 1920x1080@60, 0x0, 1
monitor = eDP-1, 2560x1600@144, 1920x0, 1.67
workspace = 1, monitor:DP-1
workspace = 2, monitor:DP-1
workspace = 3, monitor:DP-1
workspace = 4, monitor:eDP-1
workspace = 5, monitor:eDP-1
workspace = 6, monitor:eDP-1

108
config/hypr/hyprlock.conf Normal file
View File

@@ -0,0 +1,108 @@
source = ~/.config/hypr/mocha.conf
$accent = $mauve
$accentAlpha = $mauveAlpha
$font = JetBrainsMono Nerd Font
# GENERAL
general {
hide_cursor = true
}
# BACKGROUND
background {
monitor =
path = $HOME/.config/background
blur_passes = 0
color = $base
}
# LAYOUT
label {
monitor =
text = Layout: $LAYOUT
color = $text
font_size = 25
font_family = $font
position = 30, -30
halign = left
valign = top
}
# TIME
label {
monitor =
text = $TIME
color = $text
font_size = 90
font_family = $font
position = -30, 0
halign = right
valign = top
}
# DATE
label {
monitor =
text = cmd[update:43200000] date +"%A, %d %B %Y"
color = $text
font_size = 25
font_family = $font
position = -30, -150
halign = right
valign = top
}
# FINGERPRINT
{
monitor = "";
text = "$FPRINTPROMPT";
color = "$text";
font_size = 14;
font_family = $font;
position = "0, -107";
halign = "center";
valign = "center";
}
# USER AVATAR
image {
monitor =
path = $HOME/.face
size = 100
border_color = $accent
position = 0, 75
halign = center
valign = center
}
# INPUT FIELD
input-field {
monitor =
size = 300, 60
outline_thickness = 4
dots_size = 0.2
dots_spacing = 0.2
dots_center = true
outer_color = $accent
inner_color = $surface0
font_color = $text
fade_on_empty = false
placeholder_text = <span foreground="##$textAlpha"><i>Logged in as </i><span foreground="##$accentAlpha">$USER</span></span>
hide_input = false
check_color = $accent
fail_color = $red
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
capslock_color = $yellow
position = 0, -47
halign = center
valign = center
}
auth {
fingerprint {
enabled = true
ready_message = Scan fingerprint to unlock
present_message = Scanning...
}
}

View File

@@ -0,0 +1,8 @@
preload = /home/nouredeen/wallpapers/disco.png
splash = false
wallpaper {
monitor =
path = /home/nouredeen/wallpapers/disco.png
fit_mode = cover
}

78
config/hypr/mocha.conf Normal file
View File

@@ -0,0 +1,78 @@
$rosewater = rgb(f5e0dc)
$rosewaterAlpha = f5e0dc
$flamingo = rgb(f2cdcd)
$flamingoAlpha = f2cdcd
$pink = rgb(f5c2e7)
$pinkAlpha = f5c2e7
$mauve = rgb(cba6f7)
$mauveAlpha = cba6f7
$red = rgb(f38ba8)
$redAlpha = f38ba8
$maroon = rgb(eba0ac)
$maroonAlpha = eba0ac
$peach = rgb(fab387)
$peachAlpha = fab387
$yellow = rgb(f9e2af)
$yellowAlpha = f9e2af
$green = rgb(a6e3a1)
$greenAlpha = a6e3a1
$teal = rgb(94e2d5)
$tealAlpha = 94e2d5
$sky = rgb(89dceb)
$skyAlpha = 89dceb
$sapphire = rgb(74c7ec)
$sapphireAlpha = 74c7ec
$blue = rgb(89b4fa)
$blueAlpha = 89b4fa
$lavender = rgb(b4befe)
$lavenderAlpha = b4befe
$text = rgb(cdd6f4)
$textAlpha = cdd6f4
$subtext1 = rgb(bac2de)
$subtext1Alpha = bac2de
$subtext0 = rgb(a6adc8)
$subtext0Alpha = a6adc8
$overlay2 = rgb(9399b2)
$overlay2Alpha = 9399b2
$overlay1 = rgb(7f849c)
$overlay1Alpha = 7f849c
$overlay0 = rgb(6c7086)
$overlay0Alpha = 6c7086
$surface2 = rgb(585b70)
$surface2Alpha = 585b70
$surface1 = rgb(45475a)
$surface1Alpha = 45475a
$surface0 = rgb(313244)
$surface0Alpha = 313244
$base = rgb(1e1e2e)
$baseAlpha = 1e1e2e
$mantle = rgb(181825)
$mantleAlpha = 181825
$crust = rgb(11111b)
$crustAlpha = 11111b

View File

@@ -0,0 +1,4 @@
# Generated by nwg-displays on 2026-06-05 at 18:10:13. Do not edit manually.
monitor=eDP-2,2560x1600@144.0,3650x898,1.67
monitor=DP-1,1920x1080@60.0,1730x898,1.0

14
config/hypr/monitors.lua Normal file
View File

@@ -0,0 +1,14 @@
-- Generated by nwg-displays on 2026-06-05 at 18:10:13. Do not edit manually.
hl.monitor({
output = "eDP-2",
mode = "2560x1600@144.0",
position = "3650x898",
scale = 1.67
})
hl.monitor({
output = "DP-1",
mode = "1920x1080@60.0",
position = "1730x898",
scale = 1.0
})

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Define your monitor names
EXTERNAL="DP-1"
LAPTOP="eDP-1"
# Kill any existing dock instances
pkill -f nwg-dock-hyprland
# Give Wayland a little more time to clear the screen edge
sleep 0.6
# Check if the external monitor is actively connected
if hyprctl monitors | grep -q "Monitor $EXTERNAL"; then
# Launch on external using Hyprland's native exec
hyprctl dispatch exec "nwg-dock-hyprland -o $EXTERNAL -p bottom -a center -ml 10 -mr 10 -mb 10 -i 28 -nolauncher -x"
else
# Fallback to laptop
hyprctl dispatch exec "nwg-dock-hyprland -o $LAPTOP -p bottom -a center -ml 10 -mr 10 -mb 10 -i 28 -nolauncher -x"
fi

21
config/hypr/scripts/opacity.sh Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/bash
# Usage: opacity.sh [increase|decrease]
STEP=0.1
ADDRESS=$(hyprctl activewindow -j | grep -oP '"address": "\K[^"]+')
CURRENT=$(hyprctl getprop active opacity | grep -oP '[\d.]+' | head -1)
if [[ -z "$CURRENT" ]]; then
CURRENT=1.0
fi
if [[ "$1" == "increase" ]]; then
NEW=$(echo "$CURRENT + $STEP" | bc)
else
NEW=$(echo "$CURRENT - $STEP" | bc)
fi
# Clamp between 0.1 and 1.0
NEW=$(echo "if ($NEW > 1.0) 1.0 else if ($NEW < 0.1) 0.1 else $NEW" | bc)
hyprctl dispatch setprop active opacity "$NEW"

View File

@@ -0,0 +1,25 @@
#!/bin/bash
# Define your monitors
EXTERNAL="DP-1"
LAPTOP="eDP-1"
REPLAY_DIR="$HOME/Videos/Replays"
# Ensure the output directory exists
mkdir -p "$REPLAY_DIR"
# Kill any existing recorder instances to prevent duplicates/errors
# 2>/dev/null hides the "no process found" message if it wasn't running
killall gpu-screen-recorder 2>/dev/null
# Give the hardware encoder a fraction of a second to free up
sleep 0.5
# Check if the external monitor is actively connected
if hyprctl monitors | grep -q "Monitor $EXTERNAL"; then
TARGET_MONITOR=$EXTERNAL
else
TARGET_MONITOR=$LAPTOP
fi
# Launch the recorder on the chosen monitor in the background
gpu-screen-recorder -w "$TARGET_MONITOR" -f 60 -r 120 -c mp4 -a default_output -a "alsa_input.pci-0000_00_1f.3.analog-stereo" -o "$REPLAY_DIR" &

20
config/hypr/settings.conf Normal file
View File

@@ -0,0 +1,20 @@
general {
col.active_border = rgba(6C7086ff) # focused window border
col.inactive_border = rgba(313244ff) # unfocused windows
gaps_out = 10,10,10,10
}
input {
touchpad {
natural_scroll = true
clickfinger_behavior = true
}
numlock_by_default = true
kb_layout = us,ara
kb_variant = ,
kb_options = grp:alt_shift_toggle
}
xwayland {
force_zero_scaling = true
}

View File

@@ -0,0 +1,6 @@
windowrule = match:class ^(steam_app_1091500)$, fullscreen 1
windowrule = match:class ^(ArqaamAccounting)$, float true
windowrule = match:class ^(ArqaamAccounting)$, center true
windowrule = match:title ^(Network Manager)$, float true
windowrule = match:title ^(File Operation Progress)$, float true
windowrule = match:class ^(blueman-manager)$, float true

5
config/hypr/workspace_next.sh Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
current=$(hyprctl activeworkspace -j | jq '.id')
if [ "$current" -lt 5 ]; then
hyprctl dispatch workspace $(( current + 1 ))
fi

5
config/hypr/workspace_prev.sh Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
current=$(hyprctl activeworkspace -j | jq '.id')
if [ "$current" -gt 1 ]; then
hyprctl dispatch workspace $(( current - 1 ))
fi

View File

@@ -0,0 +1,8 @@
# Generated by nwg-displays on 2026-06-05 at 18:10:26. Do not edit manually.
workspace=1,monitor:DP-1,default:true
workspace=2,monitor:DP-1
workspace=3,monitor:DP-1
workspace=4,monitor:eDP-2,default:true
workspace=5,monitor:eDP-2
workspace=6,monitor:eDP-2

View File

@@ -0,0 +1,28 @@
-- Generated by nwg-displays on 2026-06-05 at 18:10:26. Do not edit manually.
hl.workspace_rule({
workspace = "1",
monitor = "DP-1",
default = true
})
hl.workspace_rule({
workspace = "2",
monitor = "DP-1"
})
hl.workspace_rule({
workspace = "3",
monitor = "DP-1"
})
hl.workspace_rule({
workspace = "4",
monitor = "eDP-2",
default = true
})
hl.workspace_rule({
workspace = "5",
monitor = "eDP-2"
})
hl.workspace_rule({
workspace = "6",
monitor = "eDP-2"
})