Hyprland
Hyprland copied to clipboard
Ultrawide Screen Scaling Issue
Regression?
No
System Info and Version
System/Version info
Hyprland, built from branch at commit 918d8340afd652b011b937d29d5eea0be08467f5 (flake.lock: update).
Date: Tue Jun 25 12:06:02 2024
Tag: v0.41.2, commits: 4886
flags: (if any)
System Information:
System name: Linux
Node name: BORKEN
Release: 6.9.9-273-tkg-eevdf
Version: #1 SMP PREEMPT_DYNAMIC TKG Thu, 11 Jul 2024 21:51:39 +0000
GPU information:
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M] [1002:744c] (rev c8) (prog-if 00 [VGA controller])
18:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c1) (prog-if 00 [VGA controller])
os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo
plugins:
======Config-Start======
Config File: /home/sandwich/.config/hypr/hyprland.conf: Read Succeeded
# Include configuration files (Order is important!)
source=~/.config/hypr/latte.conf
source=~/.config/hypr/configs/env.conf
source=~/.config/hypr/configs/variables.conf
source=~/.config/hypr/configs/input.conf
source=~/.config/hypr/configs/monitors.conf
source=~/.config/hypr/configs/keybinds.conf
source=~/.config/hypr/configs/autostart.conf
source=~/.config/hypr/configs/window_rules.conf
# General settings for layout, borders, and gaps
general {
gaps_in = 5 # Inner gaps between windows
gaps_out = 15 # Outer gaps between windows and screen edge
border_size = 2 # Border thickness around windows
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg # Color gradient for active borders
col.inactive_border = rgba(595959aa) # Color for inactive borders
layout = dwindle # Default window layout
allow_tearing = true # Allow tearing
}
# Decoration settings for window rounding, blur, and shadows
decoration {
rounding = 10 # Corner rounding for windows
blur {
enabled = true # Enable window blur
size = 3 # Blur size
passes = 1 # Number of blur passes
}
drop_shadow = yes # Enable drop shadows
shadow_range = 4 # Shadow range
shadow_render_power = 3 # Shadow intensity
col.shadow = rgba(1a1a1aee) # Shadow color
}
# Animation settings
animations {
enabled = yes # Enable animations
# Define custom Bezier curve
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
# Animations for windows, borders, fading, and workspaces
animation = windows, 1, 5, myBezier
animation = windowsOut, 1, 5, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 5, default
animation = workspaces, 1, 4, default
}
# Dwindle layout-specific settings
dwindle {
pseudotile = yes # Enable pseudotiling, bound to mainMod + P
preserve_split = yes # Keep window splits as-is (recommended)
}
# Master layout-specific settings
#master {
# new_is_master = true # New windows become the master
#}
# Xwayland-specific settings
xwayland {
force_zero_scaling = true # Force zero scaling in Xwayland
}
# Miscellaneous settings for additional configurations
misc {
disable_hyprland_logo = true
#vrr = 2
mouse_move_enables_dpms = true
key_press_enables_dpms = true
enable_swallow = true
swallow_regex = ^(Alacritty|kitty|konsole)$
}
Config File: /home/sandwich/.config/hypr/latte.conf: Read Succeeded
$rosewater = rgb(dc8a78)
$rosewaterAlpha = dc8a78
$flamingo = rgb(dd7878)
$flamingoAlpha = dd7878
$pink = rgb(ea76cb)
$pinkAlpha = ea76cb
$mauve = rgb(8839ef)
$mauveAlpha = 8839ef
$red = rgb(d20f39)
$redAlpha = d20f39
$maroon = rgb(e64553)
$maroonAlpha = e64553
$peach = rgb(fe640b)
$peachAlpha = fe640b
$yellow = rgb(df8e1d)
$yellowAlpha = df8e1d
$green = rgb(40a02b)
$greenAlpha = 40a02b
$teal = rgb(179299)
$tealAlpha = 179299
$sky = rgb(04a5e5)
$skyAlpha = 04a5e5
$sapphire = rgb(209fb5)
$sapphireAlpha = 209fb5
$blue = rgb(1e66f5)
$blueAlpha = 1e66f5
$lavender = rgb(7287fd)
$lavenderAlpha = 7287fd
$text = rgb(4c4f69)
$textAlpha = 4c4f69
$subtext1 = rgb(5c5f77)
$subtext1Alpha = 5c5f77
$subtext0 = rgb(6c6f85)
$subtext0Alpha = 6c6f85
$overlay2 = rgb(7c7f93)
$overlay2Alpha = 7c7f93
$overlay1 = rgb(8c8fa1)
$overlay1Alpha = 8c8fa1
$overlay0 = rgb(9ca0b0)
$overlay0Alpha = 9ca0b0
$surface2 = rgb(acb0be)
$surface2Alpha = acb0be
$surface1 = rgb(bcc0cc)
$surface1Alpha = bcc0cc
$surface0 = rgb(ccd0da)
$surface0Alpha = ccd0da
$base = rgb(eff1f5)
$baseAlpha = eff1f5
$mantle = rgb(e6e9ef)
$mantleAlpha = e6e9ef
$crust = rgb(dce0e8)
$crustAlpha = dce0e8
Config File: /home/sandwich/.config/hypr/configs/env.conf: Read Succeeded
### Environment variables ###
## Wayland
env = WLR_DRM_NO_ATOMIC,1
## Theming
# Qt
env = XCURSOR_SIZE,32
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_QPA_PLATFORM,wayland;xc
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,
# GDK
env = GTK_THEME,Breeze-Dark
env = GDK_BACKEND,wayland,x11,*
env = HYPRCURSOR_THEME,ModestLight
env = HYPRCURSOR_SIZE,32
## Electron
env = OZONE_PLATFORM,wayland
## XDG
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
Config File: /home/sandwich/.config/hypr/configs/variables.conf: Read Succeeded
## Variable Config ##
$terminal = kitty
$fileManager = dolphin
$menu = pkill rofi || rofi -show drun -modi drun,filebrowser,run,window
$locker = hyprlock
Config File: /home/sandwich/.config/hypr/configs/input.conf: Read Succeeded
## Input Devices Configuration ##
input {
kb_layout = us
kb_variant = altgr-intl
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
disable_while_typing=0
natural_scroll=1
clickfinger_behavior=1
middle_button_emulation=1
tap-to-click=1
drag_lock=0
}
accel_profile=flat
sensitivity = 0 # -1.0 to 1.0, 0 means no modification.
}
device {
name = epic-mouse-v1
sensitivity = -0.5
}
# Gesture settings for touchpad gestures
gestures {
workspace_swipe = off # Disable workspace swipe gestures
}
Config File: /home/sandwich/.config/hypr/configs/monitors.conf: Read Succeeded
### Display Configuration ##
## Monitors
$mon1 = LG Electronics LG ULTRAGEAR 110NTGY03711
$mon2 = Samsung Electric Company C27FG70 HTHK400021
## Output Configuration
# monitor = , preferred, auto, 1, mirror, DP-1
monitor = , preferred, auto, auto
monitor = desc:$mon1, 3440x1440@144, 0x0, 1.33
monitor = desc:$mon2, 1920x1080@144, -1920x0, 1
## Workspaces
workspace = 1, monitor:desc:$mon2
workspace = 2, monitor:desc:$mon2
workspace = 3, monitor:desc:$mon2, default:true
workspace = 4, monitor:desc:$mon2
workspace = 5, monitor:desc:$mon2
workspace = 6, monitor:desc:$mon1, default:true
workspace = 7, monitor:desc:$mon1
workspace = 8, monitor:desc:$mon1
workspace = 9, monitor:desc:$mon1
workspace = 10, monitor:desc:$mon1
Config File: /home/sandwich/.config/hypr/configs/keybinds.conf: Read Succeeded
### Keybind Configuration ###
# Main modifier key
$mainMod = SUPER
# Scripts
$scriptsDir = $HOME/.config/hypr/scripts
### Windows Management
## Application Launchers and System Commands
bind = $mainMod, Q, exec, $terminal # Open terminal
bind = , F12, exec, pypr toggle term # Dropdown terminal
bind = $mainMod, E, exec, $fileManager # Open file manager
bind = $mainMod, D, exec, $menu # Open menu
bind = $mainMod ALT, E, exec, $scriptsDir/RofiEmoji.sh # Emoji picker
bind = $mainMod ALT, C, exec, $scriptsDir/RofiCalc.sh # RofiCalc
bind = $mainMod, S, exec, $scriptsDir/RofiSearch.sh # ArchWorks's search from Rofi
bind = $mainMod, L, exec, $locker # Lock screen
bind = $mainMod, C, killactive # Close active window
bind = $mainMod SHIFT, B, exec, $scriptsDir/ChangeBlur.sh # Toggle blur settings
bind = $mainMod, B, exec, killall -SIGUSR1 waybar # Toggle hide/show waybar
bind = $mainMod SHIFT, Q, exec, $scriptsDir/KillActiveProcess.sh
bind = CTRL ALT, P, exec, $scriptsDir/Wlogout.sh
## Move focus
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
## Move and Resize Windows
binde = $mainMod SHIFT, right, resizeactive, 50 0
binde = $mainMod SHIFT, left, resizeactive, -50 0
binde = $mainMod SHIFT, up, resizeactive, 0 -50
binde = $mainMod SHIFT, down, resizeactive, 0 50
bind = $mainMod ALT, right, movewindow, r
bind = $mainMod ALT, left, movewindow, l
bind = $mainMod ALT, up, movewindow, u
bind = $mainMod ALT, down, movewindow, d
# Move to prev/next Workspace
bind = $mainMod CONTROL ALT, left, movetoworkspace, -1
bind = $mainMod CONTROL ALT, right, movetoworkspace, +1
bindm = $mainMod, mouse:272, movewindow # Move window with LMB
bindm = $mainMod, mouse:273, resizewindow # Resize window with RMB
## Miscellaneous Windows
bind = $mainMod SHIFT, F, fullscreen, 0 # Real fullscreen
bind = $mainMod, F, fullscreen, 1 # Fake fullscreen
bind = $mainMod, P, pin # Pin floating window
bind = $mainMod, J, togglesplit # Toggle split mode
bind = $mainMod, V, togglefloating # Toggle floating mode
bind = $mainMod, W, exec, rofi -show window # Window switch script
### Workspace Management
## Switch Workspaces
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 CONTROL, left, workspace, -1 # Move to the previous workspace
bind = $mainMod CONTROL, right, workspace, +1 # Move to the next workspace
bind = $mainMod, mouse_down, workspace, e+1 # Scroll to the next workspace
bind = $mainMod, mouse_up, workspace, e-1 # Scroll to the previous workspace
## Move Active Windows to Workspaces
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
### Key pass
# OBS
bind = ALT, 1, pass ,^(com\.obsproject\.Studio)$
bind = ALT, 2, pass ,^(com\.obsproject\.Studio)$
bind = ALT, 3, pass ,^(com\.obsproject\.Studio)$
bind = CONTROL ALT, right, pass ,^(com\.obsproject\.Studio)$
bind = CONTROL ALT, left, pass ,^(com\.obsproject\.Studio)$
bind = CONTROL ALT, up, pass ,^(com\.obsproject\.Studio)$
bind = CONTROL ALT, down, pass ,^(com\.obsproject\.Studio)$
### Modes
# exit mode
bind = SUPER, escape, exec, hyprctl dispatch submap logout; notify-send -a Hyprland -t 3500 $'\ne - exit\n\nr - reboot\n\ns - suspend\n\nS - poweroff\n\nl - lock' -i /usr/share/icons/breeze-dark/actions/32/system-suspend.svg
submap = logout
bindr = , E, exec, hyprctl dispatch exit
bindr = , S, exec, hyprctl dispatch submap reset && systemctl suspend
bindr = , R, exec, systemctl reboot
bindr = SHIFT, S, exec, systemctl poweroff -i
bindr = , L, exec,hyprctl dispatch submap reset && hyprlock
bindr = , escape, submap, reset
bind = , Return, submap, reset
submap=reset
### Features
# General
bind = $mainMod, slash, exec, $scriptsDir/KeyHints.sh # Small help file
bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofi
bind = $mainMod ALT, L, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwindle Layout
bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # swayNC panel
bind = CONTROL ALT SHIFT, V, exec, sleep 0.3 && wl-paste | xargs -I {} ydotool type -d 0 {} # Type paste
bind = $mainMod, A, exec, $scriptsDir/ClipManager.sh # Clipboard manager
bind = $mainMod, F1, exec, $scriptsDir/GameMode.sh
bind = $mainMod, Z, exec, pypr zoom # Toggle Zoom
# Screenshot
bind = $mainMod SHIFT, S, exec, $scriptsDir/ScreenShot.sh --swappy
bind = $mainMod SHIFT, Print, exec, $scriptsDir/ScreenShot.sh --area
bind = ALT, Print, exec, $scriptsDir/ScreenShot.sh --active
### Misc Binds
## Lid Switch Controls
bindl = , switch:off:Lid Switch, exec, hyprctl dispatch dpms on eDP-1 # Lid open
bindl = , switch:on:Lid Switch, exec, hyprctl dispatch dpms off eDP-1 && hyprlock # Lid closed
bindl = , xf86Sleep, exec, systemctl suspend # Sleep button
## Fn Keys
# Volume
bindel = , XF86AudioRaiseVolume, exec, $scriptsDir/Volume.sh --inc
bindel = , XF86AudioLowerVolume, exec, $scriptsDir/Volume.sh --dec
bind = , XF86AudioMute, exec, $scriptsDir/Volume.sh --toggle
bind = , XF86AudioMicMute, exec, $scriptsDir/Volume.sh --toggle-mic
# Media
bindl = , xf86AudioPlayPause, exec, $scriptsDir/MediaCtrl.sh --pause
bindl = , xf86AudioPause, exec, $scriptsDir/MediaCtrl.sh --pause
bindl = , xf86AudioPlay, exec, $scriptsDir/MediaCtrl.sh --pause
bindl = , xf86AudioNext, exec, $scriptsDir/MediaCtrl.sh --nxt
bindl = , xf86AudioPrev, exec, $scriptsDir/MediaCtrl.sh --prv
bindl = , xf86audiostop, exec, $scriptsDir/MediaCtrl.sh --stop
bindel = , XF86MonBrightnessUp, exec, $scriptsDir/Brightness.sh --inc
bindel = , XF86MonBrightnessDown, exec, $scriptsDir/Brightness.sh --dec
Config File: /home/sandwich/.config/hypr/configs/autostart.conf: Read Succeeded
### Autostart Configuration ###
## Background
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = /usr/lib/polkit-kde-authentication-agent-1
exec-once = waybar & hyprpaper & pypr
exec-once = swaync
exec-once = wlsunset -T 5500
exec-once = sleep 10; nm-applet --indicator
exec-once = blueman-apple
exec-once = sleep 10; nextcloud --background
exec-once = /bin/kdeconnectd
## Clipbord
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
## Applications
exec-once = [workspace 1 silent] sleep 10; keepassxc
exec-once = [workspace 2 silent] sleep 10; thunderbird
exec-once = [workspace 3 silent] sleep 10; element-desktop-nightly
exec-once = [workspace 6 silent] kitty tmux new-session -s MAIN
exec-once = [workspace 7 silent] firefox
exec-once = [workspace 10 silent] kitty tmux new-session -s MUSIC 'ncmpcpp'
Config File: /home/sandwich/.config/hypr/configs/window_rules.conf: Read Succeeded
## Window Rules Configuration ##
# General Window Management Rules
windowrulev2 = suppressevent maximize, class:.* # Suppress maximize events for all windows.
# General Rules
windowrule = float, title:^(Open)$
windowrule = float, title:^(Choose Files)$
windowrule = float, title:^(Save As)$
windowrule = float, title:^(Confirm to replace files)$
windowrule = float, title:^(File Operation Progress)$
windowrule = immediate,^(steam_app)(.*)$
# Floating Rules
windowrulev2 = float, class:^(yad)$
windowrulev2 = float, class:^(nm-.*)$
windowrulev2 = float, class:^([Rr]ofi)$
windowrulev2 = float, class:^(blueman-manager)$
windowrulev2 = float, class:^(pavucontrol-qt)$
windowrulev2 = float, class:^(showmethekey-gtk)$
windowrulev2 = float, class:^(nwg-look|qt5ct|qt6ct|mpv)$
windowrulev2 = float, class:^([Ss]team)$,title:^((?![Ss]team).*|[Ss]team [Ss]ettings)$
# Tiling Rules
windowrulev2 = tile, class:^(ffplay)$
# Firefox-specific rules
windowrulev2 = float, class:^(firefox)$, title:^(Picture-in-Picture)$ # Float PiP windows.
windowrulev2 = pin, class:^(firefox)$, title:^(Picture-in-Picture)$ # Pin PiP windows.
windowrulev2 = fakefullscreen, class:^(firefox)$, title:^(Picture-in-Picture)$ # Fullscreen in PiP.
windowrulev2 = fakefullscreen, class:^(firefox)$, title:^(Firefox — Sharing Indicator)$
windowrulev2 = float, class:^(firefox)$, title:^(Firefox — Sharing Indicator)$
# 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)$
# Force tearing rule
# windowrulev2 = immediate, class:^(osu!)$ # Uncomment if needed to force tearing for osu!
## SwayNC Rules
layerrule = blur, swaync-control-center
layerrule = blur, swaync-notification-window
layerrule = ignorezero, swaync-control-center
layerrule = ignorezero, swaync-notification-window
layerrule = ignorealpha 0.5, swaync-control-center
layerrule = ignorealpha 0.5, swaync-notification-window
======Config-End========
Description
When I scale my ultrawide screen to 1.33, it leaves a gap on the right edge of the screen. It looks like the desktop isn't fully extending to the edge.
How to reproduce
- Set the screen resolution to 3440x1440.
- Change the scaling to 1.33.
- Reboot or PowerOff/On the Monitor
- Observe the gap on the right edge of the screen.
- Change the scaling to below 1.33, for example, to 1.
- Change the scaling back to 1.33.
- Observe that the gap disappears until the monitor is turned off or the system is rebooted.
Crash reports, logs, images, videos
related #8663, #5509
Hello there!
This issue has been closed, as we are moving from issues to discussions. More about this can be found here and in #9854.
Firstly, please make sure this issue is still relevant in latest Hyprland. If so, we ask you to open a discussion (please read the discussion guidelines first, in the pinned post)
Thank you for your understanding!