Hyprland icon indicating copy to clipboard operation
Hyprland copied to clipboard

Ultrawide Screen Scaling Issue

Open YourSandwich opened this issue 1 year ago • 2 comments

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

  1. Set the screen resolution to 3440x1440.
  2. Change the scaling to 1.33.
  3. Reboot or PowerOff/On the Monitor
  4. Observe the gap on the right edge of the screen.
  5. Change the scaling to below 1.33, for example, to 1.
  6. Change the scaling back to 1.33.
  7. Observe that the gap disappears until the monitor is turned off or the system is rebooted.

Crash reports, logs, images, videos

image

YourSandwich avatar Jul 13 '24 18:07 YourSandwich

hyprland.log

Fresh log with debugging enabled

YourSandwich avatar Jul 13 '24 18:07 YourSandwich

related #8663, #5509

0xda157 avatar Dec 24 '24 01:12 0xda157

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!

vaxerski avatar Apr 05 '25 18:04 vaxerski