dotfiles/.config/hypr/hyprland.conf
2025-05-31 02:48:38 +03:00

242 lines
8.8 KiB
Text

monitor=,preferred,auto,auto
monitor = eDP-1, 2880x1800@90, 0x1080, 2
monitor = HDMI-A-1, 1920x1080@75, 0x0, 1
monitor = eDP-1, disable
# bindl = , switch:on:Lid Switch, exec, hyprctl keyword monitor "eDP-1, disable"
#bindl = , switch:on:Lid Switch, exec, hyprctl keyword input:touchdevice:enabled false
bindl = , switch:off:Lid Switch, exec, hyprctl keyword input:touchdevice:enabled false
bindl = , switch:off:Lid Switch, exec, hyprctl keyword monitor "eDP-1, 2880x1800@90, 0x1080, 2" monitor = HDMI-A-1, disable
exec-once = sleep 1 && waybar
exec-once = sleep 2 && nm-applet
exec-once = sleep 2 && blueman-applet
exec-once = sleep 2 && hyprpaper
exec-once = sleep 3 && /opt/Mullvad\ VPN/mullvad-vpn
exec-once = sleep 3 && hyprctl keyword input:touchdevice:enabled false
exec-once = wl-paste --type text --watch cliphist store # Stores only text data
exec-once = wl-paste --type image --watch cliphist store # Stores only image data
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
env = PATH, $HOME/.cargo/bin/:$HOME/.local/bin/:$PATH
env = XDG_CURRENT_SESSION, Hyprland
render:explicit_sync = true
$terminal = wezterm start --always-new-process
$fileManager = cosmic-files
$active_menu = rofi -show
$menu = rofi -show drun -show-icons
$menu_unsafe = mullvad-exclude rofi -show drun -show-icons
$clipboard = cliphist list | rofi -dmenu -show-icons | cliphist decode | wl-copy
$screenshot = grim "$HOME/Pictures/Screenshots/$(date '+%y%m%d_%H-%M-%S').png" | grim - | wl-copy
$screenshot_with_area_selector = grim -g "$(slurp)" - | wl-copy
$browser = flatpak run app.zen_browser.zen
$browser_unsafe = mullvad-exclude flatpak run io.github.ungoogled_software.ungoogled_chromium --incognito --enable-features=MiddleClickAutoscroll
$mainMod = SUPER
$my_trigger = Alt
bind = $my_trigger, 0, exec, bluetoothctl disconnect BC:7F:7B:6D:4F:87 && bluetoothctl connect BC:7F:7B:6D:4F:87
bind = $my_trigger, 1, exec, playerctl previous
bind = $my_trigger, 2, exec, playerctl play-pause
bind = $my_trigger, 3, exec, playerctl next
bind = $my_trigger, T, exec, $terminal
bind = $my_trigger, Q, exec, $fileManager
bind = Alt, F1, exec, $active_menu
bind = Alt, F2, exec, $menu
bind = Alt SHIFT, F2, exec, $menu_unsafe
bind = Alt, F3, exec, $clipboard
bind = , Print, exec, $screenshot
bind = $my_trigger, F, exec, $browser
bind = $my_trigger SHIFT, F, exec, $browser_unsafe
bind = Shift, Print, exec, $screenshot_with_area_selector
$tahinli_source = /var/lib/flatpak/exports/bin/io.github.ungoogled_software.ungoogled_chromium --app=https://source.tahinli.com --class=dev.heppen.webapps.Source3132 --name=dev.heppen.webapps.Source3132 --user-data-dir="/home/tahinli/.var/app/dev.heppen.webapps/data/quick-webapps/profiles/io.github.ungoogled_software.ungoogled_chromium/Source3132"
$whatsapp = /var/lib/flatpak/exports/bin/app.zen_browser.zen --no-remote --class dev.heppen.webapps.WhatsApp5679 --name dev.heppen.webapps.WhatsApp5679 --profile "/home/tahinli/.var/app/dev.heppen.webapps/data/quick-webapps/profiles/app.zen_browser.zen/WhatsApp5679" --new-window https://web.whatsapp.com
$discord = flatpak run dev.vencord.Vesktop
$youtube = mullvad-exclude flatpak run io.freetubeapp.FreeTube
$deezer = mullvad-exclude /var/lib/flatpak/exports/bin/io.github.ungoogled_software.ungoogled_chromium --app=https://deezer.com --class=dev.heppen.webapps.Deezer7429 --name=dev.heppen.webapps.Deezer7429 --user-data-dir="/home/tahinli/.var/app/dev.heppen.webapps/data/quick-webapps/profiles/io.github.ungoogled_software.ungoogled_chromium/Deezer7429"
$mail = /var/lib/flatpak/exports/bin/app.zen_browser.zen --no-remote --class dev.heppen.webapps.Proton1470 --name dev.heppen.webapps.Proton1470 --profile "/home/tahinli/.var/app/dev.heppen.webapps/data/quick-webapps/profiles/app.zen_browser.zen/Proton1470" --new-window https://mail.proton.me
workspace = 101, on-created-empty: $tahinli_source
workspace = 102, on-created-empty: $dev
workspace = 201, on-created-empty: $whatsapp
workspace = 202, on-created-empty: $discord
workspace = 203, on-created-empty: $deezer
workspace = 204, on-created-empty: $youtube
workspace = 205, on-created-empty: $mail
bind = $my_trigger, G, workspace, 101
bind = $my_trigger, E, workspace, 102
bind = $my_trigger, W, workspace, 201
bind = $my_trigger, D, workspace, 202
bind = $my_trigger, S, workspace, 203
bind = $my_trigger, Y, workspace, 204
bind = $my_trigger, P, workspace, 205
bind = $mainMod, D, workspace, 999
bind = Alt, F4, killactive,
bind = $mainMod $my_trigger, F4, exit,
bind = $mainMod, H, exec, pkill -SIGUSR1 waybar
binds {
allow_workspace_cycles = true
}
bindr = $mainMod, Tab, bringactivetotop
binde = $mainMod, Tab, cyclenext
bind = Alt, Tab, workspace, previous
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod, F, togglefloating,
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
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
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
bindle = $mainMod SHIFT, right, resizeactive, 30 0
bindle = $mainMod SHIFT, left, resizeactive, -30 0
bindle = $mainMod SHIFT, up, resizeactive, 0 -30
bindle = $mainMod SHIFT, down, resizeactive, 0 30
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
windowrulev2 = suppressevent maximize, class:.*
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
general {
gaps_in = 3
gaps_out = 10
border_size = 2
col.active_border = rgba(FFAA93FF) rgba(0053DFEE) rgba(5500FFAA) rgba(FFAFFAAA) 0deg
col.inactive_border = rgba(595959aa)
resize_on_border = true
allow_tearing = true
layout = dwindle
}
decoration {
rounding = 0
active_opacity = 1.0
inactive_opacity = 1.0
drop_shadow = true
shadow_range = 100
shadow_render_power = 10
col.shadow = rgba(1a1a1aee)
blur {
enabled = true
size = 3
passes = 1
vibrancy = 0.1696
}
windowrulev2 = opacity 0.8, class:kitty
windowrulev2 = opacity 0.8, class:wezterm
windowrulev2 = opacity 0.8, class:yazi
windowrulev2 = tile, class:dev.heppen.webapps
}
animations {
enabled = false
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 = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
}
master {
new_status = master
}
misc {
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
}
input {
kb_layout = tr
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 0
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
touchpad {
natural_scroll = true
}
}
gestures {
workspace_swipe = false
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
name = epic-mouse-v1
sensitivity = -0.5
}