# Please note not all available settings / options are set here.
# For a full list, see the wiki
#

#autogenerated = 1 # remove this line to remove the warning

# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=eDP-1,1920x1080@60,0x0,1
monitor=HDMI-A-1,1920x1080@60,0x0,1,mirror,eDP-1


# See https://wiki.hyprland.org/Configuring/Keywords/ for more

# Execute your favorite apps at launch
exec-once = hypridle
exec-once = waybar
exec-once = clipse -listen
exec-once = swaync
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = eww daemon

exec-once = hyprpaper && ~/dotfiles/scripts/currentWallpaperHyprlock.sh
exec-once = /home/rafayahmad/dotfiles/scripts/brightnessWidget.sh
exec-once = ~/dotfiles/scripts/battWarning.sh
exec-once = ~/dotfiles/scripts/youtubeBlocker.py

exec-once = [workspace special:whatsapp silent] flatpak run com.rtosta.zapzap
exec-once = [workspace special:thunderbird silent] thunderbird

# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
source = ~/.config/hypr/hyprbinds.conf

# Set programs that you use
$menu = ~/Stuff/scripts/rofiFocus.sh

# Some default env vars.
env = XCURSOR_SIZE,24
env = XCURSOR_THEME,mytheme
env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that
env = GTK_THEME, Adwaita-dark

# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
    kb_layout = 
    kb_variant =
    kb_model =
    kb_options = 
    kb_rules = 
    kb_file = /home/rafayahmad/.config/hypr/pauseMod3.xkb
    numlock_by_default = true

    follow_mouse = 1

    touchpad {
        natural_scroll = yes
    }

    sensitivity = 0.25 # -1.0 - 1.0, 0 means no modification.
    
    repeat_rate = 30
    repeat_delay = 200
}

general {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more

    gaps_in = 5
    gaps_out = 10
    border_size = 2
    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)

    layout = dwindle

    # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
    allow_tearing = false
}

decoration {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more

    rounding = 10
    inactive_opacity = 0.8   
    blur {
        enabled = true
        size = 4
        passes = 2
        ignore_opacity=true
    }

}

animations {
    enabled = yes

    # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more

    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
    animation = specialWorkspace, 1, 7, myBezier, slidefadevert
}

dwindle {
    # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
    pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = yes # you probably want this
}

master {
    # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
    # new_is_master = true
}

gestures {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more
    gesture = 3, horizontal, workspace
}

misc {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more
    force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
    enable_anr_dialog = false
}

# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
# device:epic-mouse-v1 {
#     sensitivity = -0.5
# }

# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# windowrulev2 = nomaximizerequest, class:.* # You'll probably like this.

windowrulev2 = pin, class:(Rofi)
windowrulev2 = float, class:(clipse)
windowrulev2 = size 700 600, class:(clipse)
windowrulev2 = float, class:^(xdg-desktop-portal-gtk|gtk3-filechooser-dialog)$
windowrulev2 = size 900 600, class:^(xdg-desktop-portal-gtk|gtk3-filechooser-dialog)$
