diff --git a/hypr/armory.conf b/hypr/armory.conf index b1d32f6..4af755b 100644 --- a/hypr/armory.conf +++ b/hypr/armory.conf @@ -102,7 +102,7 @@ general { gaps_in = 0 gaps_out = 4 border_size = 2 - col.active_border = 0x000000 + col.active_border = 0x000000 col.inactive_border = 0x000000 layout = master resize_on_border = false @@ -110,9 +110,9 @@ general { decoration { rounding = 0 - shadow { - enabled = false - } + shadow { + enabled = false + } dim_special = 0.3 fullscreen_opacity = 1.0 @@ -165,7 +165,7 @@ misc { vrr = 1 vfr = true middle_click_paste = false - render_unfocused_fps = 15 + render_unfocused_fps = 15 } xwayland { @@ -178,12 +178,12 @@ cursor { inactive_timeout = 2 no_warps = false default_monitor = DP-1 - warp_on_change_workspace = false + warp_on_change_workspace = false } debug { disable_logs = true - #overlay = false + #overlay = false } render { @@ -193,9 +193,9 @@ render { } experimental { - wide_color_gamut = false - hdr = false - xx_color_management_v4 = true + wide_color_gamut = false + hdr = false + xx_color_management_v4 = true } # < End Section > diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 6d5de5a..ef95359 100755 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -2,11 +2,40 @@ source = ~/.config/hypr/mocha.conf # Catppuccin colorscheme # < Start Section > # monitors +# Main +monitorv2 { + output = DP-1 + # 3440x1440@160 + # mode = 3440x1440@160 + # 3440x1440@155 + mode = modeline 1177.50 3440 3744 4128 4816 1440 1443 1453 1578 -hsync +vsync + position = 0x1350 # alt: 0x0 + vrr = true + bitdepth = 10 + cm = auto + sdr_min_luminance = 0.005 + sdr_max_luminance = 250 # + supports_wide_color = true + supports_hdr = true + sdrbrightness = 1.1 + sdrsaturation = 1.1 +} -#monitor=HDMI-A-4, disabled - -monitor = HDMI-A-4, 3840x2160@60, 0x0, 1.6, bitdepth, 10, transform, 1 -monitor = DP-1, 3440x1440@160, 1350x0, 1, vrr, 1, bitdepth, 10 +# Side +monitorv2 { + output = HDMI-A-4 + mode = 3840x2160@60 # alt: disabled + transform = 2 + scale = 1.6 + position = 520x0 + vrr = true + bitdepth = 10 + cm = auto + sdr_min_luminance = 0.005 + sdr_max_luminance = 150 # + sdrbrightness = 1.0 + sdrsaturation = 1.0 +} # < End Section > @@ -55,17 +84,18 @@ exec-once = dunst exec-once = swww-daemon exec-once = syncthing --no-browser exec-once = xwaylandvideobridge +exec-once = pulsemeeter # main applications exec-once = thunderbird -#exec-once = obs +exec-once = obs #exec-once = discord -exec-once = vesktop +exec-once = vesktop --ozone-platform-hint=auto --enable-webrtc-pipewire-capturer --enable-features=WaylandWindowDecorations exec-once = spotify exec-once = alacritty exec-once = firefox -#exec-once = bolt -exec-once = taskset -c 1-7 steam +exec-once = env JAVA_HOME=/usr/lib/jvm/java-17-openjdk bolt > /tmp/bolt-launcher.log 2>&1 +exec-once = taskset -c 0-19 steam # obsidian planner exec-once = ~/sync/obsidian/Trinote/create-week.sh @@ -91,8 +121,7 @@ workspace = 4, monitor:DP-1, persistent:true # Workspaces swapped for ease of use workspace = 6, monitor:DP-1, persistent:true -workspace = 5, monitor:HDMI-A-4, persistent:true -workspace = 5, layoutopt:orientation:right +workspace = 5, monitor:HDMI-A-4, persistent:true, gapsout:0 # < End Section > @@ -103,7 +132,7 @@ workspace = 5, layoutopt:orientation:right general { gaps_in = 0 - gaps_out = 4 + gaps_out = 25, 440, 25, 440 border_size = 0 col.active_border = 0x000000 col.inactive_border = 0x000000 @@ -112,7 +141,7 @@ general { } decoration { - rounding = 0 + rounding = 4 shadow { enabled = false } @@ -150,7 +179,7 @@ input { kb_layout = us kb_options = caps:escape follow_mouse = 2 - mouse_refocus = false; + mouse_refocus = true force_no_accel = 1 } @@ -178,8 +207,9 @@ xwayland { } cursor { - inactive_timeout = 2 + inactive_timeout = 5 no_warps = false + persistent_warps = true default_monitor = DP-1 warp_on_change_workspace = false } @@ -187,17 +217,17 @@ cursor { debug { disable_logs = true #overlay + full_cm_proto = true } render { - explicit_sync = 1 - explicit_sync_kms = 1 - direct_scanout = false + new_render_scheduling = false + direct_scanout = true + cm_fs_passthrough = 1 + cm_enabled = true } experimental { - wide_color_gamut = true - hdr = false xx_color_management_v4 = true } @@ -220,49 +250,48 @@ master { # window rules # core -workspace = w[t1], gapsout:0, border:0, rounding:0 -windowrulev2 = suppressevent maximize, class:^(.*)$ -windowrulev2 = renderunfocused,class:^(.*)$ -windowrulev2 = opacity 0.80 0.80,class:^(.*)$ -windowrulev2 = opacity 0.80 0.70,class:^(pavucontrol)$ -windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$ -windowrulev2 = float, class:^(qt5ct)$ -windowrulev2 = float, class:^(nwg-look)$ -windowrulev2 = float, class:^(pavucontrol)$ -windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$ -windowrulev2 = float, class:.* +windowrule { + name = globals + match:class = ^(.*)$ + suppress_event = maximize + render_unfocused = true + opacity = 0.80 0.80 +} + +windowrule = match:class ^(qt5ct)$, float true +windowrule = match:class ^(nwg-look)$, float true +windowrule = match:class ^(pavucontrol)$, float true +windowrule = match:class ^(org.kde.polkit-kde-authentication-agent-1)$, float true +windowrule = match:workspace 4, float true # main -windowrulev2 = workspace 1 silent, class:^(discord)$ -windowrulev2 = workspace 1 silent, class:^(vesktop)$ -windowrulev2 = workspace 1 silent, class:^(thunderbird)$ -windowrulev2 = workspace 1 silent, class:^(Dopamine)$ -windowrulev2 = workspace 1 silent, class:^(spotify)$ -windowrulev2 = workspace 2 silent, class:^(Alacritty)$ -windowrulev2 = float, class:^(Alacritty)$ -windowrulev2 = size 1920 1080, class:^(Alacritty)$ -windowrulev2 = workspace 3 silent, class:^(firefox)$ -windowrulev2 = float, class:^(firefox)$ -windowrulev2 = size 1920 1080, class:^(firefox)$ -windowrulev2 = workspace 4 silent, class:^(steam)$ -windowrulev2 = workspace 4 silent, class:^(org.prismlauncher.PrismLauncher)$ -windowrulev2 = workspace 4 silent, title:^(Minecraft.*)$ -windowrulev2 = workspace 4 silent, class:^(steam_app_.*)$ -windowrulev2 = workspace 4 silent, class:^(steam_proton)$ -windowrulev2 = workspace 4 silent, class:^(cstrike_linux64)$ -windowrulev2 = workspace 4 silent, class:^(dota2)$ -windowrulev2 = workspace 4 silent, class:^(gamescope)$ -windowrulev2 = workspace 6 silent, class:^(steam)$ +windowrule = match:class ^(discord)$, workspace 1 silent +windowrule = match:class ^(vesktop)$, workspace 1 silent +windowrule = match:class ^(thunderbird)$, workspace 1 silent +windowrule = match:class ^(Dopamine)$, workspace 1 silent +windowrule = match:class ^(spotify)$, workspace 1 silent +windowrule = match:class ^(Alacritty)$, workspace 2 silent +windowrule = match:class ^(Alacritty)$, tile true +windowrule = match:class ^(firefox)$, float true +windowrule = match:class ^(firefox)$, tile true +windowrule = match:class ^(steam)$, workspace 4 silent +windowrule = match:class ^(org.prismlauncher.PrismLauncher)$, workspace 4 silent +windowrule = match:class ^(Minecraft.*)$, workspace 4 silent +windowrule = match:class ^(steam_app_.*)$, workspace 4 silent +windowrule = match:class ^(steam_proton)$, workspace 4 silent +windowrule = match:class ^(cstrike_linux64)$, workspace 4 silent +windowrule = match:class ^(dota2)$, workspace 4 silent +windowrule = match:class ^(gamescope)$, workspace 4 silent +windowrule = match:class ^(steam)$, workspace 6 silent # development -windowrulev2 = float, class:^(VirtualBox.*)$ -windowrulev2 = float, title:^(SnakePlusPlus)$ -windowrulev2 = center, title:^(SnakePlusPlus)$ -windowrulev2 = opacity 0.4, title:^(SnakePlusPlus)$ -windowrulev2 = float, title:^(TetrisPlusPlus)$ -windowrulev2 = center, title:^(TetrisPlusPlus)$ -windowrulev2 = workspace 5 silent, class:^(aquamarine)$ -windowrulev2 = fullscreen, class:^(aquamarine)$ +windowrule = match:class ^(VirtualBox.*)$, float true +windowrule = match:title ^(SnakePlusPlus)$, float true +windowrule = match:title ^(SnakePlusPlus)$, center true +windowrule = match:title ^(SnakePlusPlus)$, opacity 0.4 +windowrule = match:title ^(TetrisPlusPlus)$, center true +windowrule = match:class ^(aquamarine)$, workspace 5 silent +windowrule = match:class ^(aquamarine)$, fullscreen true # games # 16:9 windowed - 1920 1080 @@ -271,46 +300,50 @@ windowrulev2 = fullscreen, class:^(aquamarine)$ # theoretical mix - 3200 1100 # alternative - 2660 1140 # world of warcraft classic -windowrulev2 = opacity 1.00 override 1.00 override, class:^(wowclassic.exe)$ -windowrulev2 = workspace 4 silent, class:^(wowclassic.exe)$ +windowrule = match:class ^(wowclassic.exe)$, opacity 1.00 override 1.00 override +windowrule = match:class ^(wowclassic.exe)$, workspace 4 silent # world of warcraft -windowrulev2 = opacity 1.00 override 1.00 override, title:^(World of Warcraft)$ -windowrulev2 = workspace 4 silent, title:^(World of Warcraft)$ +windowrule = match:title ^(World of Warcraft)$, opacity 1.00 override 1.00 override +windowrule = match:title ^(World of Warcraft)$, workspace 4 silent # runelite -windowrulev2 = opacity 1.00 override 1.00 override, class:^(net-runelite-client-RuneLite)$ -windowrulev2 = fullscreen, class:^(net-runelite-client-RuneLite)$ -windowrulev2 = workspace 5, class:^(net-runelite-client-RuneLite)$ -windowrulev2 = workspace 5, class:^(Bolt.*)$ -windowrulev2 = centerwindow, class:^(Bolt.*)$ +windowrule = match:class ^(net-runelite-client-RuneLite)$, opacity 1.00 override 1.00 override +windowrule = match:class ^(net-runelite-client-RuneLite)$, fullscreen true +windowrule = match:class ^(net-runelite-client-RuneLite)$, workspace 5 silent +windowrule = match:class ^(bolt.*)$, workspace 5 silent +windowrule = match:class ^(bolt.*)$, tile true # minecraft -windowrulev2 = opacity 1.00 override 1.00 override, title:^(Minecraft.*)$ +windowrule = match:class ^(Minecraft.*)$, opacity 1.00 override 1.00 override +windowrule = match:class ^(Minecraft.*)$, workspace 4 silent +windowrule = match:class ^(Minecraft.*)$, float true +windowrule = match:class ^(Minecraft.*)$, size 3200 1100 # native -windowrulev2 = opacity 1.00 override 1.00 override, class:^(steam_app_.*)$ -windowrulev2 = float, class:^(steam_app_.*)$ +windowrule = match:class ^(steam_app_.*)$, opacity 1.00 override 1.00 override +windowrule = match:class ^(steam_app_.*)$, float true # proton -windowrulev2 = opacity 1.00 override 1.00 override, class:^(steam_proton)$ -windowrulev2 = float, class:^(steam_proton)$ +windowrule = match:class ^(steam_proton)$, opacity 1.00 override 1.00 override +windowrule = match:class ^(steam_proton)$, float true # hl2 (css, etc) +windowrule = match:class ^(cstrike_linux64)$, opacity 1.00 override 1.00 override # dota 2 -windowrulev2 = opacity 1.00 override 1.00 override, class:^(dota2)$ +windowrule = match:class ^(dota2)$, opacity 1.00 override 1.00 override # gamescope -windowrulev2 = opacity 1.00 override 1.00 override, class:^(gamescope)$ -windowrulev2 = float, class:^(gamescope)$ -windowrulev2 = size 3200 1100, class:^(gamescope)$ +windowrule = match:class ^(gamescope)$, opacity 1.00 override 1.00 override +windowrule = match:class ^(gamescope)$, float true +windowrule = match:class ^(gamescope)$, size 3200 1100 # steamtinkerlaunch -windowrulev2 = float, class:^(yad)$ -windowrulev2 = size 1920 1080, class:^(yad)$ +windowrule = match:class ^(yad)$, float true +windowrule = match:class ^(yad)$, size 1920 1080 # layer rules -layerrule = blur,waybar -layerrule = ignorezero, waybar +layerrule = match:namespace waybar, blur true +layerrule = match:namespace waybar, ignore_alpha 0 # xwaylandvideobridge -windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$ -windowrulev2 = noanim,class:^(xwaylandvideobridge)$ -windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ -windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$ -windowrulev2 = noblur,class:^(xwaylandvideobridge)$ +windowrule = match:class ^(xwaylandvideobridge)$, opacity 0.0 override +windowrule = match:class ^(xwaylandvideobridge)$, no_anim true +windowrule = match:class ^(xwaylandvideobridge)$, no_initial_focus true +windowrule = match:class ^(xwaylandvideobridge)$, max_size 1 1 +windowrule = match:class ^(xwaylandvideobridge)$, no_blur true # < End Section > @@ -341,7 +374,8 @@ bind = $mainMod, RETURN, exec, alacritty bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | wl-copy bind = $mainMod SHIFT, 7, exec, taskset -c 1-7 prismlauncher bind = $mainMod, S, exec, pkill -x rofi || rofi -show drun -bind = $mainMod, 0, exec, taskset -c 1-7 virtualbox +bind = $mainMod, 9, exec, taskset -c 1-7 steam +bind = $mainMod, 0, exec, JAVA_HOME=/usr/lib/jvm/java-17-openjdk bolt --ozone-platform=wayland > /tmp/bolt-launcher.log 2>&1 # generic audio control binde = , XF86AudioPlay, exec, playerctl play-pause @@ -371,11 +405,17 @@ bind = $mainMod, 4, workspace, 4 bind = $mainMod, 5, workspace, 5 bind = $mainMod, 6, workspace, 6 bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 1, centerwindow bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 2, centerwindow bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 3, centerwindow bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 4, centerwindow bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 5, centerwindow bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 6, centerwindow bind = $mainMod ALT, 1, movetoworkspacesilent, 1 bind = $mainMod ALT, 2, movetoworkspacesilent, 2 bind = $mainMod ALT, 3, movetoworkspacesilent, 3 diff --git a/hypr/scripts/xrandr.sh b/hypr/scripts/xrandr.sh index 892fdd9..f6be532 100755 --- a/hypr/scripts/xrandr.sh +++ b/hypr/scripts/xrandr.sh @@ -18,4 +18,8 @@ xrandr --addmode DP-1 3200x1100 xrandr --newmode "2100x900" 462.50 2100 2280 2512 2920 900 903 913 991 -hsync +vsync xrandr --addmode DP-1 2100x900 +# 2.4 +xrandr --newmode "2880x1200" 818.50 2880 3128 3448 4016 1200 1203 1213 1316 -hsync +vsync +xrandr --addmode DP-1 2880x1200 + sleep 2 && xrandr --output DP-1 --primary # Set primary monitor for xwayland diff --git a/waybar/config b/waybar/config index de82045..2011061 100755 --- a/waybar/config +++ b/waybar/config @@ -27,7 +27,7 @@ ], "clock": { "interval": 1, - "format": "{:%I:%M:%S %p}", + "format": "{:%H:%M:%S}", "format-alt": "{:%Y-%m-%d}", "tooltip-format": "{:%Y %B}\n{calendar}" },