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.83k stars 908 forks source link

DDLC window becomes permanently non-interactable and hidden #7895

Open LeonWilzer opened 2 months ago

LeonWilzer commented 2 months ago

Already reported ? *

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch main at commit 918d8340afd652b011b937d29d5eea0be08467f5 (flake.lock: update). Date: 2024-06-25 Tag: v0.41.2, commits: 918d8340afd652b011b937d29d5eea0be08467f5 flags: (if any) System Information: System name: Linux Node name: Zuse1 Release: 6.9.8-zen1 Version: #1-NixOS ZEN SMP PREEMPT_DYNAMIC Tue Jan 1 00:00:00 UTC 1980 GPU information: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1080] [10de:1b80] (rev a1) (prog-if 00 [VGA controller]) os-release: ANSI_COLOR="1;34" BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" BUILD_ID="24.11.20240721.68c9ed8" DOCUMENTATION_URL="https://nixos.org/learn.html" HOME_URL="https://nixos.org/" ID=nixos IMAGE_ID="" IMAGE_VERSION="" LOGO="nix-snowflake" NAME=NixOS PRETTY_NAME="NixOS 24.11 (Vicuna)" SUPPORT_URL="https://nixos.org/community.html" VERSION="24.11 (Vicuna)" VERSION_CODENAME=vicuna VERSION_ID="24.11" plugins: ======Config-Start====== Config File: /home/leon/.config/hypr/hyprland.conf: Read Succeeded source=$XDG_CONFIG_HOME/hypr/mocha.conf # Refer to the wiki for more information. # https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ ################### ### NVIDIA (fu) ### ################### env = LIBVA_DRIVER_NAME,nvidia env = XDG_SESSION_TYPE,wayland env = GBM_BACKEND,nvidia-drm env = __GLX_VENDOR_LIBRARY_NAME,nvidia cursor { no_hardware_cursors = true } env = NVD_BACKEND,direct env = ELECTRON_OZONE_PLATFORM_HINT,auto ################ ### MONITORS ### ################ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=DP-1,highres,auto,auto,bitdepth,10 ################### ### MY PROGRAMS ### ################### # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use $terminal = kitty $fileManager = dolphin $menu = wofi --show drun ################# ### AUTOSTART ### ################# # Autostart necessary processes (like notifications daemons, status bars, etc.) # Or execute your favorite apps at launch like this: #exec-once = waybar exec-once = unlink $XDG_PICTURES_DIR/Wallpapers/current ; ln -s $XDG_PICTURES_DIR/Wallpapers/$(ls $XDG_PICTURES_DIR/Wallpapers | sort -R | tail -1) $XDG_PICTURES_DIR/Wallpapers/current && hyprpaper # Display random wallpaper exec-once = mako exec-once = hypridle ############################# ### ENVIRONMENT VARIABLES ### ############################# # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 ##################### ### LOOK AND FEEL ### ##################### # Refer to https://wiki.hyprland.org/Configuring/Variables/ # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 4 gaps_out = 8 border_size = 2 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) # Set to true enable resizing windows by clicking and dragging on borders and gaps resize_on_border = false # 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 = 10 # Change transparency of focused and unfocused windows active_opacity = 1.0 inactive_opacity = 1.0 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/Variables/#animations animations { enabled = true # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more 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 } # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more 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 } # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more 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 = false # If true disables the random hyprland logo / anime girl background. :( } ############# ### INPUT ### ############# # https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = us 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 # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more device { name = epic-mouse-v1 sensitivity = -0.5 } #################### ### KEYBINDINGSS ### #################### # See https://wiki.hyprland.org/Configuring/Keywords/ $mainMod = SUPER # Sets "Windows" key as main modifier $subMod = SHIFT # Sets "Shift" key as sub modifier $supMod = CONTROL # Sets "CTRL" key as sub modifier $altMod = ALT # Sets "ALT" as the alternative modifier. # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Return, exec, $terminal bind = $mainMod $subMod, Q, killactive, bind = $mainMod, M, exit, bind = $mainMod, E, exec, $fileManager bind = $mainMod, V, togglefloating, bind = $mainMod $subMod, V, pseudo, # dwindle bind = $mainMod, C, fullscreen, bind = $mainMod, R, exec, $menu bind = $mainMod, J, togglesplit, # dwindle # 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 # Switch workspaces with mainMod + [0-9] 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 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1 bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2 bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3 bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4 bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5 bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6 bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7 bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8 bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9 bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10 # Browser Workspace workspace = special:browser, on-created-empty:firefox bind = $mainMod, A, togglespecialworkspace, browser bind = $mainMod SHIFT, A, movetoworkspacesilent, special:browser # Music Workspace workspace = special:music, on-created-empty:tidal-hifi bind = $mainMod, S, togglespecialworkspace, music bind = $mainMod SHIFT, S, movetoworkspacesilent, special:music # Music Workspace workspace = special:games, on-created-empty:steam & prismlauncher bind = $mainMod, D, togglespecialworkspace, games bind = $mainMod SHIFT, D, movetoworkspacesilent, special:games # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # Take screenshots bind = $mainMod, P, exec, grim -l 9 -g "$(hyprctl -j activewindow | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')" - | wl-copy bind = $mainMod $subMod, P, exec, grim -l 9 -g "$(slurp -d)" - | wl-copy bind = $mainMod $supMod, P, exec, grim -l 9 - | wl-copy # The same, but storing it as a file instead bind = $mainMod $altMod, P, exec, grim -l 9 -g "$(hyprctl -j activewindow | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')" "$XDG_PICTURES_DIR/Screenshots/$(date '+%F_%Hh%Mm%Ss%3Nms')_Window.png" bind = $mainMod $subMod $altMod, P, exec, grim -l 9 -g "$(slurp -d)" "$XDG_PICTURES_DIR/Screenshots/$(date '+%F_%Hh%Mm%Ss%3Nms')_Region.png" bind = $mainMod $supMod $altMod, P, exec, grim -l 9 -t png "$XDG_PICTURES_DIR/Screenshots/$(date '+%F_%Hh%Mm%Ss%3Nms')_Fullscreen.png" # Steam bind = ,F12,pass,.*Steam.* # Multimedia bindl = , XF86AudioRaiseVolume, exec, playerctl volume 0.1+ bindl = , XF86AudioLowerVolume, exec, playerctl volume 0.1- bindl = , XF86AudioPlay, exec, playerctl play-pause bindl = $mainMod, Space, exec, playerctl play-pause bindl = , XF86AudioPrev, exec, playerctl previous bindl = , XF86AudioNext, exec, playerctl next # Lockscreeen bind = $mainMod, L, exec, hyprlock ############################## ### WINDOWS AND WORKSPACES ### ############################## # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules # Special Workspaces windowrulev2 = workspace special:browser silent, class:^(firefox)$ windowrulev2 = workspace special:music silent, class:^(tidal-hifi)$ windowrulev2 = workspace special:games silent, class:.*Steam.* windowrulev2 = workspace special:games silent, class:^(prismlauncher)$ windowrulev2 = workspace special:games silent, class:^(prismlauncher)$ windowrulev2 = fullscreen, class:(steam_app_698780) debug { disable_logs = false } Config File: /home/leon/.config/hypr/mocha.conf: Read Succeeded $rosewater = rgb(f5e0dc) $rosewaterAlpha = f5e0dc $flamingo = rgb(f2cdcd) $flamingoAlpha = f2cdcd $pink = rgb(f5c2e7) $pinkAlpha = f5c2e7 $mauve = rgb(cba6f7) $mauveAlpha = cba6f7 $red = rgb(f38ba8) $redAlpha = f38ba8 $maroon = rgb(eba0ac) $maroonAlpha = eba0ac $peach = rgb(fab387) $peachAlpha = fab387 $yellow = rgb(f9e2af) $yellowAlpha = f9e2af $green = rgb(a6e3a1) $greenAlpha = a6e3a1 $teal = rgb(94e2d5) $tealAlpha = 94e2d5 $sky = rgb(89dceb) $skyAlpha = 89dceb $sapphire = rgb(74c7ec) $sapphireAlpha = 74c7ec $blue = rgb(89b4fa) $blueAlpha = 89b4fa $lavender = rgb(b4befe) $lavenderAlpha = b4befe $text = rgb(cdd6f4) $textAlpha = cdd6f4 $subtext1 = rgb(bac2de) $subtext1Alpha = bac2de $subtext0 = rgb(a6adc8) $subtext0Alpha = a6adc8 $overlay2 = rgb(9399b2) $overlay2Alpha = 9399b2 $overlay1 = rgb(7f849c) $overlay1Alpha = 7f849c $overlay0 = rgb(6c7086) $overlay0Alpha = 6c7086 $surface2 = rgb(585b70) $surface2Alpha = 585b70 $surface1 = rgb(45475a) $surface1Alpha = 45475a $surface0 = rgb(313244) $surface0Alpha = 313244 $base = rgb(1e1e2e) $baseAlpha = 1e1e2e $mantle = rgb(181825) $mantleAlpha = 181825 $crust = rgb(11111b) $crustAlpha = 11111b ======Config-End======== ```

Description

While playing Doki Doki Literature club I tried taking a screenshot using grim & slurp. The window bugged while slurp was open and vanished. The Game did not crash and stayed open (the music is still playing). While trying to force the window back I noticed these things:

The "hidden" variable seems to be the problem, but I could not change it, no matter what.

How to reproduce

  1. Launch Doki Doki Literature Club
  2. Go to Settings and enable fullscreen (Having the game in windowed and fullscreening it through hyprland does not seem to cause issues)
  3. Change workspaces, or do a selection with slurp. There are probably a couple of other events, which might trigger the issue.

Crash reports, logs, images, videos

[1] Screenshot 370068597-e6e0ce25-3c1d-42b3-85e2-3aa597866443

vaxerski commented 2 months ago

what about launching it in gamescope

LeonWilzer commented 2 months ago

Seems to work fine with gamescope.

vaxerski commented 2 months ago

patch.txt gamescope is a fine workaround I guess but try this