stepb / urxvt-tabbedex

Tabbed plugin for rxvt-unicode with many enhancements
75 stars 54 forks source link

Dead keys and Shift-PgUp/PgDn not working unless mouse cursor is over the window #17

Open dalai4git opened 12 years ago

dalai4git commented 12 years ago

Description: As the title says dead keys are not working when the mouse is not over the window. Removing the extension, the keys work as expected regardless of mouse cursor position. Apparently, this is a problem with the original tabbed as well. I've also found that the combination Shift-PgUp/PgDn doesn't work either.

To reproduce: Switch to a keyboard layout with dead keys, e.g. us(intl). Press double quotes and then "a" with the mouse cursor off the window. Expected "ä", result "a". Press Shift-PgUp with the cursor off the window. Expected the text would scroll up, result nothing happens. Both examples work fine when tabbedex is not loaded.

Version info: rxvt-unicode (urxvt) v9.14 - released: 2011-12-21 options: perl,xft,styles,combining,blink,iso14755,unicode3,encodings=eu+vn+jp+jp-ext+kr+zh+zh-ext,fade,transparent,tint,pixbuf,XIM,frills,selectionscrolling,wheel,slipwheel,smart-resize,cursorBlink,pointerBlank,scrollbars=plain+rxvt+NeXT+xterm

tabbedex: latest from git as of Oct 1, 2012

Ndolam commented 12 years ago

Given that it is a problem with tabbed as well, it might be a urxvt bug, as opposed to a tabbed(ex) bug. Have you reported the bug in the urxvt project?

mina86 commented 9 years ago

I’ve included the patch in https://github.com/mina86/urxvt-tabbedex repository.

mina86 commented 8 years ago

This is fixed in https://github.com/mina86/urxvt-tabbedex if you’re running recent rxvt-unicode.

barlik commented 8 years ago

Added pull request for the fix: https://github.com/stepb/urxvt-tabbedex/pull/51

barlik commented 8 years ago

mina86: I've tried your fork, but the behaviour is still broken there. Using tiling WM, with keyboard focus on the window and mouse moved elsewhere, the screen still doesn't refresh.

I use rxvt-unicode (urxvt) v9.22 - released: 2016-01-23

EDIT: I managed to get it working by removing refresh_check

        # refresh_check is available since rxvt-unicode 9.22.
-       if ($term->can('refresh_check')) {
-               $term->refresh_check;
-       }
+       $term->refresh_check;
        1;
 }
mina86 commented 8 years ago

There must be some weird interaction between extensions and can method. Could you quickly test if the code also works with

eval { $term->refresh_check; };
barlik commented 8 years ago
eval { $term->refresh_check; };

works okay.

I've tried disabling everything from Xresources, only leaving one line: perl-ext-common: tabbedex and the former code still doesn't work.

mina86 commented 8 years ago

On Mon, Aug 15 2016, Barlik wrote:

eval { $term->refresh_check; };

works okay.

Thanks for testing. I’ve pushed a fix to my branch.

barlik commented 8 years ago

Thanks, I've checked you patch and it works fine.

mina86 commented 5 years ago

To clarify, the Page Up/Down issue has been resolved in https://github.com/mina86/urxvt-tabbedex however it turns out that dead keys need a different fix and that’s still broken (in tabbedex as well as upstream tabbed extension).