shiftInsert behavior and Chromium...

Chromium, like many other GTK apps does not draw a distinction between primary selection buffer and the clipboard, CTRL-V and Shift-Insert copy from the clipboard. I stumbled upon a way to fudge it in Chrome/Chromium (or any other designated application), so CTRL-V does what I expect, and Shift-Insert pastes the primary buffer's contents. So far, so good. But this unfortunately breaks the application I use separate clipboard and primary buffers the most: urxvt. Here's the relevant XMonad code: shiftInsert w = let translatedProgs = ["Chromium", "Chrome"] in do c <- runQuery className w; let toTranslate = any (== c) translatedProgs if toTranslate then spawn ("CLIP=$(xclip -out -selection clipboard); xclip -out" ++ " | xclip -in -selection clipboard; xdotool key --clearmodifiers --window " ++ show w ++ " ctrl+v; echo -n $CLIP | xclip -in -selection clipboard") else sendKey shiftMask xK_Insert -- snip , ((shiftMask, xK_Insert), withFocused shiftInsert) -- snip If I comment out the ",((shiftMask, xK_Insert), withFocused shiftInsert)", I can paste the primary into urxvt again with shift-Insert, but Chromium goes back to pasting the clipboard with shift-Insert. One thing I did notice is that Shift-Ctrl-Insert works in urxvt with the above code enabled, but my muscle memory is for shiftInsert and I really don't want to change my behavior at this stage. As suggested in #xmonad, I've tried adding ,"urxvt" to translatedProgs, but that gives me the same undesirable behavior. Stumped yet again in XMonad land. Trey

On Tue, Oct 30, 2012 at 7:28 AM, Trey Blancher
stage. As suggested in #xmonad, I've tried adding ,"urxvt" to translatedProgs, but that gives me the same undesirable behavior.
Not sure who suggested it, but I notice the code does a className match so "urxvt" would be the wrong entry; it should be "URxvt". -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix/linux, openafs, kerberos, infrastructure http://sinenomine.net
participants (2)
-
Brandon Allbery
-
Trey Blancher