Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing clicks #411

Closed
diesphink opened this issue Dec 1, 2019 · 8 comments
Closed

Missing clicks #411

diesphink opened this issue Dec 1, 2019 · 8 comments

Comments

@diesphink
Copy link

diesphink commented Dec 1, 2019

Distro/DE: regolith (ubuntu based)/i3

i3bar is losing some clicks (one miss in every 3 or 4 clicks, sometimes more), and I can't find the reason.

Tried compiling i3blocks from source (regolith uses the i3xrocks fork, which has the same issue) but problem remained, I've used this minimum configuration to reproduce:

[click]
full_text=Click me!
command=echo "$(date +%s) Got clicked with button $BLOCK_BUTTON" >> /tmp/log2

That's everything on cfg file, I'm running it like this, from i3:
status_command /path/to/cloned/i3blocks -c $i3xrocks_config -vvv 2>/tmp/i3blocks.err

This is the i3blocks version:
i3blocks 1.5 © 2014-2019 Vivien Didelot and contributors

And this is the i3bar version:
i3bar version 4.16.1 (2019-01-27) © 2010 Axel Wagner and contributors

And when I download i3blocks from ubuntu repo (i3blocks 1.4 © 2014 Vivien Didelot and contributors) I got the clicking right, but it's not the best solution as I'm using the new features from 1.5.

This is the log from 4 clicks, the 3rd and 4th lost. The spaces were added for clarity, after each click.

<7>line.c:line_parse:65: &0:000: ,{"name":"click","button":1,"modifiers":[],"x":3242,"y":1066,"relative_x":18,"relative_y":6,"width":62,"height":20}
<7>block.c:block_click:206: [click] clicked
<7>block.c:block_parent:346: [click] forked child 22030
<5>read(0, 1): Resource temporarily unavailable
<7>bar.c:bar_poll_exited:149: [click] exited
<7>block.c:block_wait:416: [click] process 22030 exited with 0
<7>block.c:block_update:146: [click] updated successfully
<5>waitid(): No child processes
<7>i3bar.c:i3bar_print_block:160: [foo] no text to display, skipping

<7>line.c:line_parse:65: &0:000: ,{"name":"click","button":1,"modifiers":[],"x":3242,"y":1066,"relative_x":18,"relative_y":6,"width":62,"height":20}
<7>block.c:block_click:206: [click] clicked
<7>block.c:block_parent:346: [click] forked child 22032
<5>read(0, 1): Resource temporarily unavailable
<7>bar.c:bar_poll_exited:149: [click] exited
<7>block.c:block_wait:416: [click] process 22032 exited with 0
<7>block.c:block_update:146: [click] updated successfully
<5>waitid(): No child processes
<7>i3bar.c:i3bar_print_block:160: [foo] no text to display, skipping

<5>read(0, 1): Resource temporarily unavailable
<7>line.c:line_parse:65: &0:000:
<5>read(0, 1): Resource temporarily unavailable

<5>read(0, 1): Resource temporarily unavailable
<7>line.c:line_parse:65: &0:000:
<5>read(0, 1): Resource temporarily unavailable

Those clicks have about one second of interval, I'm not maniacally clicking in order to reproduce this problem.

@skidnik
Copy link

skidnik commented Feb 10, 2020

Can confirm this. On Fedora 31, started since 1.5 release.

Build from my copr

full log edit: (changed to pastebin, fpaste expired)

Relevant log lines:

<7>i3bar.c:i3bar_print_block:160: [foo] no text to display, skipping
<5>read(0, 1): Resource temporarily unavailable
<7>line.c:line_parse:65: &0:000:
<5>read(0, 1): Resource temporarily unavailable
<5>read(0, 1): Resource temporarily unavailable
<7>line.c:line_parse:65: &0:000:
<5>read(0, 1): Resource temporarily unavailable
<7>bar.c:bar_poll_expired:103: [bandwidth:enp2s0] expired
<7>block.c:block_parent:346: [bandwidth:enp2s0] forked child 69405
<7>bar.c:bar_poll_exited:149: [bandwidth:enp2s0] exited
<7>block.c:block_wait:416: [bandwidth:enp2s0] process 69405 exited with 0
<7>line.c:line_parse:65: &3:000: I 0K E 0K
<7>block.c:block_update:146: [bandwidth:enp2s0] updated successfully
<7>i3bar.c:i3bar_print_block:160: [foo] no text to display, skipping

This:

<5>read(0, 1): Resource temporarily unavailable
<7>line.c:line_parse:65: &0:000:
<5>read(0, 1): Resource temporarily unavailable

appears in response to missing clicks on [time] blocklet which should send cal output to notify-send and refresh bar text. dunst prints a notification counter so it's easy to track missed clicks. the script itself.

I could not reproduce the issue with only [time] blocklet enabled.

p.s. These two logs from here also raise a question about what this '[foo]' blocklet is, it's not contained in my config and is not indicated as read from configuration file in i3blocks log.

@captn3m0
Copy link

I have the same issue. This shows up in my error log, while I don't have anything called foo in my config.

<7>i3bar.c:i3bar_print_block:160: [foo] no text to display, skipping

@zsugabubus
Copy link

zsugabubus commented May 24, 2020

Could somebody test whether it works (or not) with #404?

@diesphink
Copy link
Author

Yes, it does work, thank you.

I even did a stress test: xdotool click --delay 5 --repeat 400 1, without any issue.

@diesphink
Copy link
Author

Oops, worth mentioning: just cloned the repo and haven't tried with #404. Seems like it was an issue with environment? Now I'm coming from a new OS install on new machine (still ubuntu-based though).

This is the i3bar version on the new install:
i3bar version 4.17.1 (2019-08-30) © 2010 Axel Wagner and contributors

@vivien
Copy link
Owner

vivien commented Dec 15, 2022

I tested the click block above and I don't miss any click, I can't reproduce the click issue for now.

@vivien
Copy link
Owner

vivien commented Dec 15, 2022

I leave this issue open for the [foo] block to be removed.

vivien added a commit that referenced this issue Dec 16, 2022
The current code was creating an empty block to simplify the addition
of new blocks from the config callback. This resulted in an empty
'foo' block being created which is confusing to others.

Do not create this empty block anymore since the config callback now
assigns bar->blocks if there is no block created yet.

Refs #411
@vivien
Copy link
Owner

vivien commented Dec 16, 2022

The empty 'foo' block isn't created anymore. I'm closing this issue since I can't reproduce the click issue. Feel free to reopen if I'm missing something.

@vivien vivien closed this as completed Dec 16, 2022
dllud pushed a commit to dllud/i3blocks that referenced this issue Jan 12, 2024
Better document playerctl control
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants