hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
21.44k stars 897 forks source link

Pseudo windows shrink when dragged. #8319

Closed ItsFireStorm closed 4 days ago

ItsFireStorm commented 4 days ago

Already reported ? *

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 4520b30d498daca8079365bdb909a8dea38e8d55 (version: bump to 0.44.1). Date: Wed Oct 9 12:54:39 2024 Tag: v0.44.1, commits: 5309 built against aquamarine 0.4.3 flags: (if any) System Information: System name: Linux Node name: ARCHUS Release: 6.11.5-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Tue, 22 Oct 2024 18:31:38 +0000 GPU information: 0000:00:02.0 VGA compatible controller [0300]: Intel Corporation TigerLake-H GT1 [UHD Graphics] [8086:9a68] (rev 01) (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: Hyprspace by KZdkm ver 0.1 ======Config-Start====== Config File: /home/itsfirestorm/.config/hypr/hyprland.conf: Read Succeeded # I separate my configuration files to make looking up different settings easier, I only keep things I generally don't touch in here. source = ./plugins/hyprbar.conf source = ./hyprland/monitors.conf source = ./hyprland/autostart.conf source = ./hyprland/defaults.conf source = ./hyprland/env_vars.conf source = ./hyprland/binds.conf source = ./hyprland/windowrules.conf ##################### ### LOOK AND FEEL ### ##################### # These are my look and feel settings, these are easily customizable, check out how to in the links below! # https://wiki.hyprland.org/Configuring/Variables/ # https://wiki.hyprland.org/Configuring/Variables/#general source = ~/.cache/wal/colors-hyprland.conf # Adds the pywal color variables set from the wallpaper. general { gaps_in = 5 gaps_out = 10 resize_on_border = false border_size = 2 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors. col.active_border = $color1 $color14 $color12 $color3 45deg col.inactive_border = rgba(00000000) # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on. allow_tearing = false layout = dwindle } # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { rounding = 7 # Change transparency of focused and unfocused windows active_opacity = 1.0 inactive_opacity = 0.9 drop_shadow = true shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = true size = 3 passes = 1 vibrancy = 0.1696 } } # https://wiki.hyprland.org/Configuring/Animations/ animations { enabled = true bezier = wspacecurve,0.1,0.3,0,1.11 animation = windows, 1, 3, default, slide animation = windowsOut, 1, 6, default, popin 20% animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 7, default animation = workspaces, 1, 8, wspacecurve } # https://wiki.hyprland.org/Configuring/Dwindle-Layout/ dwindle { pseudotile = true preserve_split = true # You probably want this. special_scale_factor = 0 } # https://wiki.hyprland.org/Configuring/Master-Layout/ master { new_status = master } # https://wiki.hyprland.org/Configuring/Variables/#misc misc { force_default_wallpaper = 1 # 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. :( focus_on_activate = true } cursor { no_warps = true no_hardware_cursors = true } ############# ### INPUT ### ############# # Input variables depend on one's keyboard locale or hardware. # https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = es # !! If you're wondering why the keys on your keyboard don't do the things they're supposed to, this is why. kb_variant = kb_model = kb_options = kb_rules = follow_mouse = 1 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. touchpad { natural_scroll = false } } # https://wiki.hyprland.org/Configuring/Variables/#gestures gestures { workspace_swipe = false } # Example per-device config # https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs device { name = epic-mouse-v1 sensitivity = -0.5 } Config File: /home/itsfirestorm/.config/hypr/plugins/hyprbar.conf: Read Succeeded plugin { hyprbars { bar_color = rgb(24,24,24) bar_height = 20 } } Config File: /home/itsfirestorm/.config/hypr/hyprland/monitors.conf: Read Succeeded ################ ### MONITORS ### ################ # Configuration for my monitors, this is freely adjustable depending on your needs, if you want to set keyboard shortcuts to control these, feel free. # https://wiki.hyprland.org/Configuring/Monitors/ monitor = eDP-1, 1920x1080@144, 0x0, 1 monitor = eDP-1, disable # Disable this when using an external monitor to get focus to the external monitor. monitor = HDMI-A-1, 1920x1080@144, 0x0, 1 Config File: /home/itsfirestorm/.config/hypr/hyprland/autostart.conf: Read Succeeded ################# ### AUTOSTART ### ################# # Programs needed for this rice to fully come together. # https://wiki.archlinux.org/title/Autostarting exec-once = waybar exec = ~/.config/hypr/scripts/hypr-swww.sh exec-once = swaync exec = gsettings set org.gnome.desktop.interface gtk-theme "Arc-Dark" # dark theme for GTK apps exec-once= dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once= hyprpm enable Hyprspace exec-once = systemctl --user start hyprpolkitagent exec-once = systemctl --user start xdg-desktop-portal-hyprland Config File: /home/itsfirestorm/.config/hypr/hyprland/defaults.conf: Read Succeeded ################### ### MY PROGRAMS ### ################### # These are purely variables to set for easier access to my default program list, do note, if you don't have any of these installed, keybinds may not work. # https://wiki.hyprland.org/Configuring/Keywords/ $terminal = kitty $fileManager = nemo $menu = rofi -show drun $cmdmenu = rofi -show run Config File: /home/itsfirestorm/.config/hypr/hyprland/env_vars.conf: Read Succeeded ############################# ### ENVIRONMENT VARIABLES ### ############################# # Enviroment variables depend on ones need or own prefered settings. # https://wiki.hyprland.org/Configuring/Environment-variables/ env = XDG_SESSION_TYPE,wayland env = HYPRCURSOR_THEME,Breeze Light env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 env = XDG_MENU_PREFIX,arch- Config File: /home/itsfirestorm/.config/hypr/hyprland/binds.conf: Read Succeeded ################### ### KEYBINDINGS ### ################### # My custom keybinds! Try to change them as you please. # https://wiki.hyprland.org/Configuring/Keywords/ $mainMod = SUPER # Sets "Windows" key as main modifier # Custom utility keybinds. bind = $mainMod, R, exec, $terminal # Exec kitty bind = $mainMod, X, killactive, # Kill active window bind = $mainMod SHIFT ALT, M, exit # Keybind to forcefully exit Hyprland bind = $mainMod, E, exec, $fileManager # Open nautilus file manager bind = $mainMod, V, togglefloating, # Toggle floating window bind = $mainMod, S, exec, $menu # rofi drun menu bind = $mainMod, Q, exec, $cmdmenu # rofi run menu (for commands and scripts) bind = $mainMod, F, pseudo, # dwindle bind = $mainMod, T, togglesplit, # dwindle bind = $mainMod SHIFT, S, exec, hyprshot -m region -o ~/Pictures/hyprshot/ # Screenshot utility bind = $mainMod, P, exec, hyprpicker -a -f hex # Hyprpicker, you'll like this. bind = $mainMod SHIFT, F, fullscreen # Full screen mode bind = $mainMod, ESCAPE, exec, missioncenter # Execute system resource manager bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # Open swaync bind = $mainMod SHIFT, Z, overview:toggle # Hyprspace overview bind = $mainMod ALT, M, exec, ~/.config/wallpaper-launcher.sh # Wallpaper switcher bind = CTRL, Tab, exec, rofi -show window # List active windows and switch to them # This is to minimize a single window because Hyprland refuses to add a native minimize option, I mainly use it for Spotify, since most stuff I can control from waybar. bind = $mainMod, M, togglespecialworkspace, minimized bind = $mainMod, M, movetoworkspace, +0 bind = $mainMod, M, togglespecialworkspace, minimized bind = $mainMod, M, movetoworkspace, special:minimized bind = $mainMod, M, togglespecialworkspace, minimized # 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 windows with mainMod + ALT + arrow keys bind = $mainMod ALT, left, movewindow, l bind = $mainMod ALT, right, movewindow, r bind = $mainMod ALT, up, movewindow, u bind = $mainMod ALT, down, movewindow, d # Switch workspaces while creating new ones with mainMod + CTRL + arrow keys bind = $mainMod CTRL, left, workspace, -1 bind = $mainMod CTRL, right, workspace, +1 # Move windows to workspaces while creating new ones or coexisting with previously created ones. # mainMod + SHIFT + arrow keys bind = $mainMod SHIFT, left, movetoworkspace, -1 bind = $mainMod SHIFT, right, movetoworkspace, +1 # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # To switch between windows in a floating workspace bind = ALT, Tab, cyclenext, # change focus to another window bind = ALT, Tab, bringactivetotop, # bring it to the top # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # Laptop multimedia keys for volume and LCD brightness 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%- # Custom debugging scripts for waybar, swww, etc. bind = $mainMod SHIFT, W, exec, ~/.config/waybar/fix-waybar.sh # Requires playerctl bindl = , XF86AudioNext, exec, playerctl next bindl = , XF86AudioPause, exec, playerctl play-pause bindl = , XF86AudioPlay, exec, playerctl play-pause bindl = , XF86AudioPrev, exec, playerctl previous Config File: /home/itsfirestorm/.config/hypr/hyprland/windowrules.conf: Read Succeeded ############################## ### WINDOWS AND WORKSPACES ### ############################## # These are rules for windows and workspaces, I mainly use these to float applications I do not want to tile. # Make sure to change them as you please. # https://wiki.hyprland.org/Configuring/Window-Rules/ # https://wiki.hyprland.org/Configuring/Workspace-Rules/ # Float rules. windowrulev2 = float,class:^(Spotify)$ windowrulev2 = size 70% 70%,class:^(Spotify)$ windowrulev2 = float,class:^(mpv)$ windowrulev2 = maximize,class:^(mpv)$ # Ignore maximize requests from apps. You'll probably like this. windowrulev2 = suppressevent maximize, class:.* windowrulev2 = minsize 1300 800, class:.* # Fix some dragging issues with XWayland windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 # Fixes some lag issues with firefox and nemo running in > 60hz screens. windowrulev2 = rounding 0,class:^[fF]irefox windowrulev2 = rounding 0,class:^(nemo)$ Config File: /home/itsfirestorm/.cache/wal/colors-hyprland.conf: Read Succeeded $color0 = rgb(0a0a10) $color1 = rgb(A3728B) $color2 = rgb(74BEDF) $color3 = rgb(F9B288) $color4 = rgb(F38BA8) $color5 = rgb(E6D1B6) $color6 = rgb(8CB2F7) $color7 = rgb(c1c1c3) $color8 = rgb(57576a) $color9 = rgb(A3728B) $color10 = rgb(74BEDF) $color11 = rgb(F9B288) $color12 = rgb(F38BA8) $color13 = rgb(E6D1B6) $color14 = rgb(8CB2F7) $color15 = rgb(c1c1c3) ======Config-End======== ```

Description

When using the dwindle layout on pseudo windows, windows keep shrinking indefinitely until they are barely visible, then maximize to a specific size again. I saw this on another thread explaining how this happened as well, but when fully shrunk, the window didn't maximize.

I tried setting a min size for windows, but even then, whenever I shrink a pseudo window then drag it, it keeps shrinking, which honestly, it is not a huge deal, since I barely use dwindle, but it is uncomfortable.

How to reproduce

Use pseudo windows, create a new window (such as a terminal, firefox, etc.) enable dwindle then drag the window around.

The expected result is that the window maintains its size, and doesn't shrink/expand according to my min size for windows, however, this is not the case for me.

Crash reports, logs, images, videos

https://github.com/user-attachments/assets/c62cf167-aaca-4fb4-bf41-51235023718d

MightyPlaza commented 4 days ago

can you send a video and check for duplicated keybinds for your mouse in your config?

ItsFireStorm commented 4 days ago

Attached a video, my binds config only has LMB assigned to move windows, no other function is assigned to this key.

MightyPlaza commented 4 days ago

that's pretty strange can you try default config and latest git?

Aqa-Ib commented 4 days ago

Also, that seems like a pseudo window rather than floating. I can`t reproduce though.

ItsFireStorm commented 4 days ago

Using default conf doesn't change anything, I now have realized I'm not running the git version, I'll install it and update afterwards.

ItsFireStorm commented 4 days ago

Using git fixes the issue, strangely enough...