Airblader / unclutter-xfixes

Hides the cursor on inactivity (rewrite of unclutter)
MIT License
339 stars 39 forks source link

Cursor gets spurious waken up. #7

Closed amosbird closed 8 years ago

amosbird commented 8 years ago

I'm experiencing cursor blinking slowly after running unclutter. I suspect the trackpoint's auto calibration may be to blame, or something else. How can I debug this?


command: unclutter --timeout 1.5 unclutter version : heads/makepkg-0-g17a95a8 WM: i3 OS : ArchLinux Laptop: Thinkpad t450s

Airblader commented 8 years ago

I'm experiencing cursor blinking slowly after running unclutter.

You mean it appears and disappears all the time? Even while you keep moving the mouse? What about if you don't move it?

How can I debug this?

You can run it under xtrace and get that logfile.

unclutter --timeout 1.5

Note that the timeout argument is an integer, so this should either be 1 or 2.

amosbird commented 8 years ago

No, it blinks only when I don't move it, and this issue isn't always reproducible.

I tried xtrace unclutter --timeout 2. Nothing came out.

Airblader commented 8 years ago

I tried xtrace unclutter --timeout 2. Nothing came out.

Note that on Arch it's called x11trace. It does print (a lot of) stuff for me, so I suspect you were using the wrong tool.

Even without it, my guess would be that what you are looking for is the "jitter" option in the original unclutter which ignores pointer movements that are "too small". Let's verify this, though. (This is not yet implemented in unclutter-xfixes)

amosbird commented 8 years ago

Ok. I will start using the original unclutter with "jitter" option enabled for a day or two to see if this issue goes away.

And for the x11trace, I couldn't find it even in AUR.

Airblader commented 8 years ago

I'd appreciate if we could instead get the log file so we can see whether that's the issue. It'd help in deciding how to proceed here.

amosbird commented 8 years ago

Yeah, that would be the right thing to do if I can get the X trace stuff working :-). I've updated my last comment.

Airblader commented 8 years ago

@amosbird In the AUR it's xtrace-git, but the binary provided by it is called x11trace.

amosbird commented 8 years ago

Now it's all systems go. I will wait until the issue recurs and then post the x11 log. Thanks for helping :smile: .

Airblader commented 8 years ago

@amosbird Once you have that, you can also try out the pull request I've opened and launch unclutter --timeout 2 --jitter 25 (or some other value).

amosbird commented 8 years ago

Here is the problem x11trace log

000:<:00ed:  8: XFIXES-Request(138,30): ShowCursor window=0x000000f9
000:<:00ee:  8: XFIXES-Request(138,29): HideCursor window=0x000000f9
000:>:00ee: Event Generic(35) XInputExtension(131) RawMotion(17) extension=0x83 length=10 evtype=0x0011 data=0x02,0x00,0x4f,0x40,0xe0,0x0b,0x00,0x00,0x00,0x00,0x0d,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xca,0x28,0x5c,0x4f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00;
000:<:00ef:  8: XFIXES-Request(138,30): ShowCursor window=0x000000f9
000:<:00f0:  8: XFIXES-Request(138,29): HideCursor window=0x000000f9
000:>:00f0: Event Generic(35) XInputExtension(131) RawMotion(17) extension=0x83 length=10 evtype=0x0011 data=0x02,0x00,0x0d,0x4c,0xe0,0x0b,0x00,0x00,0x00,0x00,0x0d,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x7d,0x1c,0x1c,0xb0,0x00,0x00,0x00,0x00,0x82,0xe3,0xe3,0x4f,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00;
000:<:00f1:  8: XFIXES-Request(138,30): ShowCursor window=0x000000f9
000:>:00f1: Event Generic(35) XInputExtension(131) RawMotion(17) extension=0x83 length=10 evtype=0x0011 data=0x02,0x00,0xda,0x4c,0xe0,0x0b,0x00,0x00,0x00,0x00,0x0d,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x74,0x80,0xe0,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00;
000:>:00f1: Event Generic(35) XInputExtension(131) RawMotion(17) extension=0x83 length=10 evtype=0x0011 data=0x02,0x00,0xf4,0x4e,0xe0,0x0b,0x00,0x00,0x00,0x00,0x0d,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9a,0xe4,0x83,0x56,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00;
000:<:00f2:  8: XFIXES-Request(138,29): HideCursor window=0x000000f9
000:>:00f2: Event Generic(35) XInputExtension(131) RawMotion(17) extension=0x83 length=10 evtype=0x0011 data=0x02,0x00,0x0d,0x55,0xe0,0x0b,0x00,0x00,0x00,0x00,0x0d,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xa0,0xfd,0xf0,0xad,0x00,0x00,0x00,0x00,0x5f,0x02,0x0f,0x52,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00;
000:<:00f3:  8: XFIXES-Request(138,30): ShowCursor window=0x000000f9
000:<:00f4:  8: XFIXES-Request(138,29): HideCursor window=0x000000f9
000:>:00f4: Event Generic(35) XInputExtension(131) RawMotion(17) extension=0x83 length=10 evtype=0x0011 data=0x02,0x00,0x90,0x5d,0xe0,0x0b,0x00,0x00,0x00,0x00,0x0d,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0xe3,0xe3,0x4f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00;
000:<:00f5:  8: XFIXES-Request(138,30): ShowCursor window=0x000000f9
000:<:00f6:  8: XFIXES-Request(138,29): HideCursor window=0x000000f9
000:>:00f6: Event Generic(35) XInputExtension(131) RawMotion(17) extension=0x83 length=10 evtype=0x0011 data=0x02,0x00,0x84,0x61,0xe0,0x0b,0x00,0x00,0x00,0x00,0x0d,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xca,0x28,0x5c,0x4f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00;
000:<:00f7:  8: XFIXES-Request(138,30): ShowCursor window=0x000000f9
000:<:00f8:  8: XFIXES-Request(138,29): HideCursor window=0x000000f9
000:>:00f8: Event Generic(35) XInputExtension(131) RawMotion(17) extension=0x83 length=10 evtype=0x0011 data=0x02,0x00,0x5e,0x6f,0xe0,0x0b,0x00,0x00,0x00,0x00,0x0d,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x7d,0x1c,0x1c,0xb0,0x00,0x00,0x00,0x00,0x82,0xe3,0xe3,0x4f,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00;
000:<:00f9:  8: XFIXES-Request(138,30): ShowCursor window=0x000000f9
000:>:00f9: Event Generic(35) XInputExtension(131) RawMotion(17) extension=0x83 length=10 evtype=0x0011 data=0x02,0x00,0x8a,0x70,0xe0,0x0b,0x00,0x00,0x00,0x00,0x0d,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x21,0xe3,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00;
000:<:00fa:  8: XFIXES-Request(138,29): HideCursor window=0x000000f9

I'm starting to test the jitter patch.

Airblader commented 8 years ago

Yeah, that looks like jitter. Let's see if the new option helps.

amosbird commented 8 years ago

@Airblader I'd say it works so far so good. Thanks!