hyprwm / Hyprland

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

Can't paste directly in Brave browser #6725

Open kmr-ankitt opened 2 weeks ago

kmr-ankitt commented 2 weeks ago

Regression?

No

System Info and Version

System/Version info ```sh 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: piscan Release: 6.9.7-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Fri, 28 Jun 2024 04:32:50 +0000 GPU information: 0000:00:02.0 VGA compatible controller [0300]: Intel Corporation Raptor Lake-P [Iris Xe Graphics] [8086:a7a1] (rev 04) (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/ankit/.config/hypr/hyprland.conf: Read Succeeded # _ _ _ _ # | | | |_ _ _ __ _ __| | __ _ _ __ __| | # | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` | # | _ | |_| | |_) | | | | (_| | | | | (_| | # |_| |_|\__, | .__/|_| |_|\__,_|_| |_|\__,_| # |___/|_| # # ----------------------------------------------------- # IMPORTANT: Don't overwrite ML4W configuration. # Create your own custom configuration variation instead. # https://gitlab.com/stephan-raabe/dotfiles#hyprland-configuration-variations # ----------------------------------------------------- # Monitor # ----------------------------------------------------- source = ~/dotfiles/hypr/conf/monitor.conf # ----------------------------------------------------- # Autostart # ----------------------------------------------------- source = ~/dotfiles/hypr/conf/autostart.conf # ----------------------------------------------------- # Cursor # ----------------------------------------------------- source = ~/dotfiles/hypr/conf/cursor.conf # ----------------------------------------------------- # Environment # ----------------------------------------------------- source = ~/dotfiles/hypr/conf/environment.conf # ----------------------------------------------------- # Keyboard # ----------------------------------------------------- source = ~/dotfiles/hypr/conf/keyboard.conf # ----------------------------------------------------- # Load pywal color file # ----------------------------------------------------- source = ~/.cache/wal/colors-hyprland.conf # ----------------------------------------------------- # Load configuration files # ----------------------------------------------------- source = ~/dotfiles/hypr/conf/window.conf source = ~/dotfiles/hypr/conf/decoration.conf source = ~/dotfiles/hypr/conf/layout.conf source = ~/dotfiles/hypr/conf/misc.conf source = ~/dotfiles/hypr/conf/keybinding.conf source = ~/dotfiles/hypr/conf/windowrule.conf # ----------------------------------------------------- # Animation # ----------------------------------------------------- source = ~/dotfiles/hypr/conf/animation.conf # ----------------------------------------------------- # Custom # ----------------------------------------------------- source = ~/dotfiles/hypr/conf/custom.conf # ----------------------------------------------------- # ML4W Configuration # ----------------------------------------------------- source = ~/dotfiles/hypr/conf/ml4w.conf # ----------------------------------------------------- # Environment for xdg-desktop-portal-hyprland # ----------------------------------------------------- exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP Config File: /home/ankit/dotfiles/hypr/conf/monitor.conf: Read Succeeded source = ~/dotfiles/hypr/conf/monitors/default.conf Config File: /home/ankit/dotfiles/hypr/conf/monitors/default.conf: Read Succeeded # ----------------------------------------------------- # Monitor Setup # name: "Default" # ----------------------------------------------------- monitor=,preferred,auto,1 Config File: /home/ankit/dotfiles/hypr/conf/autostart.conf: Read Succeeded # ----------------------------------------------------- # Autostart # ----------------------------------------------------- # Setup XDG for screen sharing exec-once = ~/dotfiles/hypr/scripts/xdg.sh # Start Polkit exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 # Load Dunst Notification Manager exec-once = dunst # Load GTK settings exec-once = ~/dotfiles/hypr/scripts/gtk.sh # Using hypridle to start hyprlock exec-once = hypridle # Load cliphist history exec-once = wl-paste --watch cliphist store # Autostart ML4W App exec-once = ~/dotfiles/hypr/scripts/ml4w-welcome-autostart.sh # Start ewww daemon exec-once = ~/dotfiles/hypr/scripts/eww.sh # Initialize waypaper exec-once = waypaper --restore # Launch Waybar exec-once = ~/dotfiles/waybar/launch.sh # Start autostart cleanup exec-once = ~/dotfiles/hypr/scripts/cleanup.sh # Load configuration from ML4W Hyprland Settings App exec = ~/.config/ml4w-hyprland-settings/hyprctl.sh Config File: /home/ankit/dotfiles/hypr/conf/cursor.conf: Read Succeeded exec-once = hyprctl setcursor Bibata-Modern-Ice 24 Config File: /home/ankit/dotfiles/hypr/conf/environment.conf: Read Succeeded source = ~/dotfiles/hypr/conf/environments/default.conf Config File: /home/ankit/dotfiles/hypr/conf/environments/default.conf: Read Succeeded # ----------------------------------------------------- # Environment Variables # name: "Default" # ----------------------------------------------------- # Set in ml4w.conf Config File: /home/ankit/dotfiles/hypr/conf/keyboard.conf: Read Succeeded # ----------------------------------------------------- # Keyboard Layout # https://wiki.hyprland.org/Configuring/Variables/#input # ----------------------------------------------------- input { kb_layout = us kb_variant = kb_model = kb_options = numlock_by_default = true mouse_refocus = false # For United States # kb_layout = us # kb_variant = intl # kb_model = pc105 # kb_options = follow_mouse = 1 touchpad { # for desktop # natural_scroll = false # for laptop natural_scroll = true middle_button_emulation = true clickfinger_behavior = false disable_while_typing = true } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } gestures { workspace_swipe = true } Config File: /home/ankit/.cache/wal/colors-hyprland.conf: Read Succeeded $background = rgb(0c0d15) $foreground = rgb(ebc4cb) $color0 = rgb(0c0d15) $color1 = rgb(E06564) $color2 = rgb(F29271) $color3 = rgb(55618B) $color4 = rgb(B97390) $color5 = rgb(7783A9) $color6 = rgb(A68BB1) $color7 = rgb(ebc4cb) $color8 = rgb(a4898e) $color9 = rgb(E06564) $color10 = rgb(F29271) $color11 = rgb(55618B) $color12 = rgb(B97390) $color13 = rgb(7783A9) $color14 = rgb(A68BB1) $color15 = rgb(ebc4cb) Config File: /home/ankit/dotfiles/hypr/conf/window.conf: Read Succeeded source = ~/dotfiles/hypr/conf/windows/default.conf Config File: /home/ankit/dotfiles/hypr/conf/windows/default.conf: Read Succeeded # ----------------------------------------------------- # General window layout and colors # name: "Default" # ----------------------------------------------------- general { gaps_in = 10 gaps_out = 14 border_size = 3 col.active_border = $color11 col.inactive_border = rgba(ffffffff) layout = dwindle resize_on_border = true } Config File: /home/ankit/dotfiles/hypr/conf/decoration.conf: Read Succeeded source = ~/dotfiles/hypr/conf/decorations/default.conf Config File: /home/ankit/dotfiles/hypr/conf/decorations/default.conf: Read Succeeded # ----------------------------------------------------- # General window decoration # name: "Default" # ----------------------------------------------------- decoration { rounding = 10 blur { enabled = true size = 6 passes = 2 new_optimizations = on ignore_opacity = true xray = true # blurls = waybar } active_opacity = 1.0 inactive_opacity = 0.8 fullscreen_opacity = 1.0 drop_shadow = true shadow_range = 30 shadow_render_power = 3 col.shadow = 0x66000000 } Config File: /home/ankit/dotfiles/hypr/conf/layout.conf: Read Succeeded source = ~/dotfiles/hypr/conf/layouts/laptop.conf Config File: /home/ankit/dotfiles/hypr/conf/layouts/laptop.conf: Read Succeeded # ----------------------------------------------------- # Layouts # ----------------------------------------------------- dwindle { pseudotile = true preserve_split = true } master { # new_is_master = true # new_status = master } gestures { workspace_swipe = true } Config File: /home/ankit/dotfiles/hypr/conf/misc.conf: Read Succeeded # ----------------------------------------------------- # Misc settings # ----------------------------------------------------- misc { disable_hyprland_logo = true disable_splash_rendering = true } Config File: /home/ankit/dotfiles/hypr/conf/keybinding.conf: Read Succeeded source = ~/dotfiles/hypr/conf/keybindings/default.conf Config File: /home/ankit/dotfiles/hypr/conf/keybindings/default.conf: Read Succeeded # ----------------------------------------------------- # Key bindings # name: "Default" # ----------------------------------------------------- # SUPER KEY $mainMod = SUPER # Applications bind = $mainMod, RETURN, exec, ~/dotfiles/.settings/terminal.sh # Open the terminal bind = $mainMod, B, exec, ~/dotfiles/.settings/browser.sh # Open the browser bind = $mainMod, E, exec, ~/dotfiles/.settings/filemanager.sh # Open the filemanager # Windows bind = $mainMod, Q, killactive # Kill active window bind = $mainMod, F, fullscreen # Set active window to fullscreen bind = $mainMod, T, togglefloating # Toggle active windows into floating mode bind = $mainMod SHIFT, T, exec, ~/dotfiles/hypr/scripts/toggleallfloat.sh # Toggle all windows into floating mode bind = $mainMod, J, togglesplit # Toggle split bind = $mainMod, left, movefocus, l # Move focus left bind = $mainMod, right, movefocus, r # Move focus right bind = $mainMod, up, movefocus, u # Move focus up bind = $mainMod, down, movefocus, d # Move focus down bindm = $mainMod, mouse:272, movewindow # Move window with the mouse bindm = $mainMod, mouse:273, resizewindow # Resize window with the mouse bind = $mainMod SHIFT, right, resizeactive, 100 0 # Increase window width with keyboard bind = $mainMod SHIFT, left, resizeactive, -100 0 # Reduce window width with keyboard bind = $mainMod SHIFT, down, resizeactive, 0 100 # Increase window height with keyboard bind = $mainMod SHIFT, up, resizeactive, 0 -100 # Reduce window height with keyboard bind = $mainMod, G, togglegroup # Toggle window group # Actions bind = $mainMod SHIFT, A, exec, ~/dotfiles/hypr/scripts/toggle-animations.sh # Toggle animations bind = $mainMod, PRINT, exec, ~/dotfiles/hypr/scripts/screenshot.sh # Take a screenshot bind = $mainMod CTRL, Q, exec, wlogout # Start wlogout bind = $mainMod SHIFT, W, exec, waypaper --random # Change the wallpaper bind = $mainMod CTRL, W, exec, waypaper # Open wallpaper selector bind = $mainMod CTRL, RETURN, exec, rofi -show drun -replace -i # Open application launcher bind = $mainMod CTRL, H, exec, ~/dotfiles/hypr/scripts/keybindings.sh # Show keybindings bind = $mainMod SHIFT, B, exec, ~/dotfiles/waybar/launch.sh # Reload waybar bind = $mainMod CTRL, B, exec, ~/dotfiles/waybar/toggle.sh # Toggle waybar bind = $mainMod SHIFT, R, exec, ~/dotfiles/hypr/scripts/loadconfig.sh # Reload hyprland config bind = $mainMod, V, exec, ~/dotfiles/scripts/cliphist.sh # Open clipboard manager bind = $mainMod CTRL, T, exec, ~/dotfiles/waybar/themeswitcher.sh # Open waybar theme switcher bind = $mainMod CTRL, S, exec, ~/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app bind = $mainMod SHIFT, S, exec, ~/dotfiles/hypr/scripts/hyprshade.sh # Toggle screenshader bind = $mainMod ALT, G, exec, ~/dotfiles/hypr/scripts/gamemode.sh # Toggle game mode # Workspaces bind = $mainMod, 1, workspace, 1 # Open workspace 1 bind = $mainMod, 2, workspace, 2 # Open workspace 2 bind = $mainMod, 3, workspace, 3 # Open workspace 3 bind = $mainMod, 4, workspace, 4 # Open workspace 4 bind = $mainMod, 5, workspace, 5 # Open workspace 5 bind = $mainMod, 6, workspace, 6 # Open workspace 6 bind = $mainMod, 7, workspace, 7 # Open workspace 7 bind = $mainMod, 8, workspace, 8 # Open workspace 8 bind = $mainMod, 9, workspace, 9 # Open workspace 9 bind = $mainMod, 0, workspace, 10 # Open workspace 10 bind = $mainMod SHIFT, 1, movetoworkspace, 1 # Move active window to workspace 1 bind = $mainMod SHIFT, 2, movetoworkspace, 2 # Move active window to workspace 2 bind = $mainMod SHIFT, 3, movetoworkspace, 3 # Move active window to workspace 3 bind = $mainMod SHIFT, 4, movetoworkspace, 4 # Move active window to workspace 4 bind = $mainMod SHIFT, 5, movetoworkspace, 5 # Move active window to workspace 5 bind = $mainMod SHIFT, 6, movetoworkspace, 6 # Move active window to workspace 6 bind = $mainMod SHIFT, 7, movetoworkspace, 7 # Move active window to workspace 7 bind = $mainMod SHIFT, 8, movetoworkspace, 8 # Move active window to workspace 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 # Move active window to workspace 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Move active window to workspace 10 bind = $mainMod, mouse_down, workspace, e+1 # Open next workspace bind = $mainMod, mouse_up, workspace, e-1 # Open previous workspace bind = $mainMod CTRL, down, workspace, empty # Open the next empty workspace # Passthrough SUPER KEY to Virtual Machine bind = $mainMod, P, submap, passthru # Passthrough SUPER key to virtual machine submap = passthru bind = SUPER, Escape, submap, reset # Get SUPER key back from virtual machine submap = reset # Fn keys bind = , XF86MonBrightnessUp, exec, brightnessctl -q s +10% # Increase brightness by 10% bind = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%- # Reduce brightness by 10% bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% # Increase volume by 5% bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% # Reduce volume by 5% bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # Toggle mute bind = , XF86AudioPlay, exec, playerctl play-pause # Audio play pause bind = , XF86AudioPause, exec, playerctl pause # Audio pause bind = , XF86AudioNext, exec, playerctl next # Audio next bind = , XF86AudioPrev, exec, playerctl previous # Audio previous bind = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # Toggle microphone bind = , XF86Calculator, exec, qalculate-gtk # Open calculator bind = , XF86Lock, exec, hyprlock # Open screenlock bind = , XF86Tools, exec, alacritty --class dotfiles-floating -e ~/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app Config File: /home/ankit/dotfiles/hypr/conf/windowrule.conf: Read Succeeded source = ~/dotfiles/hypr/conf/windowrules/default.conf Config File: /home/ankit/dotfiles/hypr/conf/windowrules/default.conf: Read Succeeded # ----------------------------------------------------- # Window rules # ----------------------------------------------------- windowrule = tile,^(Microsoft-edge)$ windowrule = tile,^(Brave-browser)$ windowrule = tile,^(Chromium)$ windowrule = float,^(pavucontrol)$ windowrule = float,^(blueman-manager)$ windowrule = float,^(nm-connection-editor)$ windowrule = float,^(qalculate-gtk)$ Config File: /home/ankit/dotfiles/hypr/conf/animation.conf: Read Succeeded source = ~/dotfiles/hypr/conf/animations/default.conf Config File: /home/ankit/dotfiles/hypr/conf/animations/default.conf: Read Succeeded # ----------------------------------------------------- # Animations # name "Default" # ----------------------------------------------------- animations { enabled = true 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 } Config File: /home/ankit/dotfiles/hypr/conf/custom.conf: Read Succeeded # Add your additional Hyprland configurations here # # This is an additional key binding # bind = $mainMod CTRL, up, workspace, empty # # Example for xwayland # xwayland { # force_zero_scaling = true # } # qt5ct environment variable # env = QT_QPA_PLATFORMTHEME,qt5ct Config File: /home/ankit/dotfiles/hypr/conf/ml4w.conf: Read Succeeded # ----------------------------------------------------- # ML4W configurations # ----------------------------------------------------- # Pavucontrol floating windowrulev2 = float,class:(.*org.pulseaudio.pavucontrol.*) windowrulev2 = size 700 600,class:(.*org.pulseaudio.pavucontrol.*) windowrulev2 = center,class:(.*org.pulseaudio.pavucontrol.*) # OpenAI ChatGPT floating windowrulev2 = float,title:(.*chat.openai.com.*) windowrulev2 = size 500 50%,title:(.*chat.openai.com.*) windowrulev2 = move 20 70,title:(.*chat.openai.com.*) # ML4W Welcome App floating windowrulev2 = float,class:(.*waypaper.*) windowrulev2 = size 800 700,class:(.*waypaper.*) windowrulev2 = center,class:(.*waypaper.*) # ML4W Welcome App floating windowrulev2 = float,class:(com.ml4w.welcome) windowrulev2 = size 700 600,class:(com.ml4w.welcome) windowrulev2 = center,class:(com.ml4w.welcome) windowrulev2 = float,class:(ml4w-welcome.py) windowrulev2 = size 400 500,class:(ml4w-welcome.py) windowrulev2 = center,class:(ml4w-welcome.py) # ML4W Settings App floating windowrulev2 = float,class:(com.ml4w.dotfilessettings) windowrulev2 = size 700 600,class:(com.ml4w.dotfilessettings) windowrulev2 = move 10% 20%,class:(com.ml4w.dotfilessettings) windowrulev2 = float,class:(ml4w-dotfiles-settings.py) windowrulev2 = size 400 500,class:(ml4w-dotfiles-settings.py) windowrulev2 = move 10% 20%,class:(ml4w-dotfiles-settings.py) # ML4W Hyprland App floating windowrulev2 = float,class:(com.ml4w.hyprland.settings) windowrulev2 = size 700 600,class:(com.ml4w.hyprland.settings) windowrulev2 = center,class:(com.ml4w.hyprland.settings) windowrulev2 = float,class:(ml4w-hyprland-settings.py) windowrulev2 = size 700 600,class:(ml4w-hyprland-settings.py) windowrulev2 = center,class:(ml4w-hyprland-settings.py) # General floating windowrulev2 = float,class:(dotfiles-floating) windowrulev2 = size 1000 800,class:(dotfiles-floating) windowrulev2 = center,class:(dotfiles-floating) # XDG Desktop Portal env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland env = XDG_SESSION_DESKTOP,Hyprland # QT env = QT_QPA_PLATFORM,wayland;xcb env = QT_QPA_PLATFORMTHEME,qt6ct env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = QT_AUTO_SCREEN_SCALE_FACTOR,1 # GTK env = GDK_SCALE,1 # Mozilla env = MOZ_ENABLE_WAYLAND,1 # Set the cursor size for xcursor env = XCURSOR_SIZE,24 # Disable appimage launcher by default env = APPIMAGELAUNCHER_DISABLE,1 ======Config-End======== ```

Description

Whenever i try to paste something to Brave, it does works.

How to reproduce

Copy something from an IDE or something then try to paste it over Brave-browser.

Crash reports, logs, images, videos

No response

h4ck0lympus commented 2 weeks ago

this is consistent with all applications running on Xwayland

vaxerski commented 2 weeks ago

paste with ctrl+c or with the middle mouse button?

Copy what? Text? Images?

OtaK commented 2 weeks ago

I have the same issue, my understanding is that it's as if XWayland clipboard doesn't communicate with the Wayland clipboard. Basically:

It used to work with Hyprland 40

kmr-ankitt commented 2 weeks ago

paste with ctrl+c or with the middle mouse button?

Copy what? Text? Images?

texts

vaxerski commented 2 weeks ago

I've specifically installed that pos browser and it seems to work correctly: image

in both ways: image

Can I get a hyprland log from it failing?

atomicptr commented 1 week ago

As I have the same issue with other xwayland applications I tried reproducing this by installing the pos browser too and got to half reproduce this

wl -> brave/xwl :heavy_check_mark: brave/xwl -> wl :x:

brave-test.log

Not sure if there is a separate ticket, but I played a bit more around with this primarily between Discord and Firefox and it sometimes works but often just doesn't

It often does not even allow me to copy/paste from Discord to Discord, especially when an emoji is part of the message it likes to break but sometimes it also just magically worked a few times, very strange behavior

Generally wayland -> wayland is fine, but as soon as xwayland joins the mix issues happen in any constellation

general-test.log

Nannk commented 1 week ago

For me its only images that can not be copied from xwayland (schilidichat-desktop or signal) to wayland (librewolf/stock firefox). Other way around works, copying text also works. log: hyprland.log

matejdro commented 6 days ago

Even worse, copying a really big amount of text X11 -> WL will freeze target application