monitor=,preferred,auto,auto

# Source a file (multi-file configs)
source = ~/.config/hypr/prefs/app_shortcut_commands.conf 
source = ~/.config/hypr/prefs/settings.conf 
source = ~/.config/hypr/prefs/shortcuts.conf
source = ~/.config/hypr/prefs/startup.conf

# Execute your favorite apps at launch
exec-once = $authentication_agent & $wallpaper_manager & $notification_manager & $widgets &widgets_desktop_mode & $env_access & $clipboard_manager & $keyring & $auto_mounting $spotify

# Environment Variables
env = XCURSOR_SIZE,24
env = WLR_NO_HARDWARE_CURSORS,1
env = QT_QPA_PLATFORMTHEME,qt5ct
env = QT_QPA_PLATFORM,wayland
env = GRIMBLAST_EDITOR,gwenview
env = MOZ_ENABLE_WAYLAND,1
env = SSH_ASKPASS=ksshaskpass

input {
    kb_layout = $keyboard_layout
    kb_variant =
    kb_model =
    kb_options =
    kb_rules =

    follow_mouse = 1

    touchpad {
        natural_scroll = no
    }

    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}

general {

    gaps_in = $inside_gaps
    gaps_out = $outside_gaps
    border_size = $border_size
    col.active_border = $active_border_color
    col.inactive_border = $inactive_border_color

    layout = dwindle
}

decoration {

    rounding = 10
    blur = yes
    blur_size = 3
    blur_passes = 1
    blur_new_optimizations = on
    
    inactive_opacity = 0.75

    drop_shadow = yes
    shadow_range = 4
    shadow_render_power = 3
    col.shadow = rgba(1a1a1aee)
}

animations {
    enabled = yes

    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
}

dwindle {
    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 {
    new_is_master = true
}

gestures {
    workspace_swipe = off
}

windowrulev2 = float,class:^(chat-gpt)$
windowrulev2 = stayfocused,class:^(Rofi)$
windowrulev2 = fakefullscreen,class:^(firefox)$

bind = $open_terminal, exec, $terminal_emulator
bind = $close_window, killactive, 
bind = $exit_hyprland, exit, 
bind = $open_file_explorer, exec, $file_explorer
bind = $toggle_floating, togglefloating, 
bindr = $open_app_launcher,exec, $app_launcher
bind = $toggle_tile_split, togglesplit, # dwindle
bind = $open_browser, exec, $browser
bind = $lock_screen, exec ,$lockscreen_manager
bind = $window_to_new_workspace, $move_to_new_workspace
bind = $cycle_workspace, exec, $cycle_workspaces
bind = $maximise_window, fullscreen
bind = $fake_maximise, fakefullscreen
bind = $toggle_notifications, exec, $toggle_notification_draw
bind = $sys_monitor, exec, $sys_monitor_app
bind = $color_picker, exec, $color_picker_app
bind = $chat_gpt, exec, $chat_gpt_app 
bind = $pass_mgr, exec, $lastpass

bind = $clipboard_history, exec, $clipboard_history_menu

bind = $screenshot_area, exec, $screenshot_area_cmd
bind = $screenshot_screen, exec, $screenshot_screen_cmd

binde = $volume_down, exec, $volume_down_percent
binde = $volume_up, exec, $volume_up_percent
bind = $volume_mute, exec, $volume_mute_cmd

binde = $brightness_up, exec, $brightness_up_percent
binde = $brightness_down, exec, $brightness_down_percent 

# 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

# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

