Hyprland icon indicating copy to clipboard operation
Hyprland copied to clipboard

Can't paste directly in Brave browser

Open kmr-ankitt opened this issue 1 year ago • 26 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: 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

kmr-ankitt avatar Jul 01 '24 03:07 kmr-ankitt

this is consistent with all applications running on Xwayland

h4ck0lympus avatar Jul 01 '24 09:07 h4ck0lympus

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

Copy what? Text? Images?

vaxerski avatar Jul 01 '24 18:07 vaxerski

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

  • Copy from WL to WL ✅
  • Copy from WL to XWL ❌
  • Copy from XWL to WL ❌
  • Copy from XWL to XWL ❔ (I'd need to try this)

It used to work with Hyprland 40

OtaK avatar Jul 01 '24 20:07 OtaK

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

Copy what? Text? Images?

texts

kmr-ankitt avatar Jul 02 '24 03:07 kmr-ankitt

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?

vaxerski avatar Jul 02 '24 16:07 vaxerski

As I have the same issue with other xwayland applications I tried reproducing this by installing the brave 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

atomicptr avatar Jul 05 '24 13:07 atomicptr

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

Nannk avatar Jul 05 '24 19:07 Nannk

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

matejdro avatar Jul 11 '24 05:07 matejdro

Hey, any updates? I don’t mean to spam, but it would be great if you could provide a quick fix. My daily applications are running on Xwayland 😢

shadowe1ite avatar Jul 26 '24 08:07 shadowe1ite

wl-clipboard-x11 is one of several options already developed for this purpose. Easy, especially if you were already using wl-clipboard because wl-clipboard-x11 is just a wrapper. Required zero setup for me.

ghost avatar Jul 26 '24 08:07 ghost

Just noticed that the git repo for wl-clipboard-x11 is archived even though there's still an active AUR package for it. Here's another option that appears to have more recent development: clipboard-sync. The first one I mentioned works for me though.

ghost avatar Jul 26 '24 09:07 ghost

wl-clipboard-x11 is one of several options already developed for this purpose. Easy, especially if you were already using wl-clipboard because wl-clipboard-x11 is just a wrapper. Required zero setup for me.

Yeah I tried that.

exec-once = wl-paste -t text -w xclip -selection clipboard

Like this

With this both xwayland, and wayland copying stoped working

Can you tell me exactly how you did it ?

shadowe1ite avatar Jul 26 '24 17:07 shadowe1ite

In my case, wl-clip-persist seems to be the culprit. Disabling it solved the issue. I don't know if it's the root cause or if the problem is in Hyprland.

Tested on NixOS Unstable, Hyprland v0.41.2, wl-clip-persist 0.4.3. I started wl-clip-persist with wl-clip-persist --clipboard regular.

mateusauler avatar Jul 26 '24 17:07 mateusauler

In my case, wl-clip-persist seems to be the culprit. Disabling it solved the issue. I don't know if it's the root cause or if the problem is in Hyprland.

Tested on NixOS Unstable, Hyprland v0.41.2, wl-clip-persist 0.4.3. I started wl-clip-persist with wl-clip-persist --clipboard regular.

Yes, it's working for me too. So it's not an issue related to Hyprland?

Or wl-clip-persist

shadowe1ite avatar Jul 26 '24 19:07 shadowe1ite

In my case, wl-clip-persist seems to be the culprit. Disabling it solved the issue. I don't know if it's the root cause or if the problem is in Hyprland.

Tested on NixOS Unstable, Hyprland v0.41.2, wl-clip-persist 0.4.3. I started wl-clip-persist with wl-clip-persist --clipboard regular.

I'm not running wl-clip-persist but I'm still having this issue.

MonstrousOgre avatar Jul 27 '24 07:07 MonstrousOgre

Removing wl-clip-persist has also fixed the problem for me

atomicptr avatar Jul 27 '24 08:07 atomicptr

Just noticed that the git repo for wl-clipboard-x11 is archived even though there's still an active AUR package for it. Here's another option that appears to have more recent development: clipboard-sync. The first one I mentioned works for me though.

clipboard-sync fixed the issue for me.

MonstrousOgre avatar Jul 27 '24 08:07 MonstrousOgre

clipboard-sync looks like a reasonable solution for people who still have this issue. I personally dont

vaxerski avatar Jul 27 '24 11:07 vaxerski

Clipboard-sync is not working for me 🥲

IMG_20240727_224129_093

shadowe1ite avatar Jul 27 '24 17:07 shadowe1ite

Clipboard-sync is not working for me 🥲

IMG_20240727_224129_093

I'm getting the same error message but it works when I try to copy

MonstrousOgre avatar Jul 27 '24 17:07 MonstrousOgre

Clipboard-sync is not working for me 🥲 IMG_20240727_224129_093

I'm getting the same error message but it works when I try to copy

Try to run with wl-clip-persist --clipboard regular and wl-paste --type text --watch clipman store

shadowe1ite avatar Jul 27 '24 18:07 shadowe1ite

'clipse' is a nice alternative. I was using the x11-wl-clipboard with no issues, but switched to clipse after doing more research for this discussion. There are instructions on the Hyprland wiki. I really like the menu, and it's easy to set up if you're still having trouble.

ghost avatar Jul 28 '24 22:07 ghost

wl-clipboard-x11 is one of several options already developed for this purpose. Easy, especially if you were already using wl-clipboard because wl-clipboard-x11 is just a wrapper. Required zero setup for me.

Yeah I tried that.

exec-once = wl-paste -t text -w xclip -selection clipboard

Like this

With this both xwayland, and wayland copying stoped working

Can you tell me exactly how you did it ?

exec-once=wl-paste --watch cliphist store

I did not use xclip at all. Maybe remove xclip and use cliphist instead.

ghost avatar Jul 28 '24 22:07 ghost

@vaxerski please consider fixing this

shadowe1ite avatar Sep 19 '24 05:09 shadowe1ite

please consider not pinging me for a comment that adds nothing to the discussion.

I am not paid to do this and I will continue doing what I have been doing for the last 3+ years.

If you want this fixed so badly, feel free to make a MR. This bug doesn't occur on any of my systems

vaxerski avatar Sep 19 '24 23:09 vaxerski

clipse seems to migrate this issue, but the problem still randomly occurs, especially when there are multiple applications involved when copy-pasting.

However, I found some clues which might show why this bug occurs. When I copy a text from OpenGL application on Xwayland, this error message appears and instantly crashes the application. The bug might be cuased by a parameter used by X11 protocol.

X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  18 (X_ChangeProperty)
  Resource id in failed request:  0x20210a
  Serial number of failed request:  15538
  Current serial number in output stream:  15540

Toshimichi0915 avatar Sep 21 '24 19:09 Toshimichi0915

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 20:04 vaxerski