{"action":"created","issue":{"url":"https://api.github.com/repos/i3/i3/issues/1480","labels_url":"https://api.github.com/repos/i3/i3/issues/1480/labels{/name}","comments_url":"https://api.github.com/repos/i3/i3/issues/1480/comments","events_url":"https://api.github.com/repos/i3/i3/issues/1480/events","html_url":"https://github.com/i3/i3/issues/1480","id":57960482,"number":1480,"title":"i3bar flickers with many status blocks","user":{"login":"Airblader","id":2392216,"avatar_url":"https://avatars.githubusercontent.com/u/2392216?v=3","gravatar_id":"","url":"https://api.github.com/users/Airblader","html_url":"https://github.com/Airblader","followers_url":"https://api.github.com/users/Airblader/followers","following_url":"https://api.github.com/users/Airblader/following{/other_user}","gists_url":"https://api.github.com/users/Airblader/gists{/gist_id}","starred_url":"https://api.github.com/users/Airblader/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Airblader/subscriptions","organizations_url":"https://api.github.com/users/Airblader/orgs","repos_url":"https://api.github.com/users/Airblader/repos","events_url":"https://api.github.com/users/Airblader/events{/privacy}","received_events_url":"https://api.github.com/users/Airblader/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/i3/i3/labels/missing-log","name":"missing-log","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-02-17T18:15:27Z","updated_at":"2015-02-17T18:15:28Z","closed_at":null,"body":"A user reported a bug on my fork (https://github.com/Airblader/i3/issues/36) about i3bar flickering. After some debugging and poking around, it looks like i3bar has an issue.\r\n\r\nIf the JSON line becomes too long / has too many elements, parsing might become so slow, that `refresh_statusline` is called on an incompletely parsed line. This causes not all blocks to render for this iteration, causing the flicker.\r\n\r\nThough it seems to first appear in my fork due to the increased number of JSON properties, this is definitely a bug in i3 as well and could happen when there are \"too many\" status blocks or too much content.\r\n\r\nWhat's a reasonable way to address this issue? I had prepared a crude fix to verify my suspicion which has some sort of dirty flag (`is_processing`) that is set/unset in `i3bar/src/child.c` when the parser starts/finishes parsing a new statusline. In `refresh_statusline`, I simply return directly if the flag is currently set.\r\n\r\nThe first indication is that this seems to work; however, I'm not so sure this is a really good fix. Opinions?\r\n\r\nTo make the bot shut up (at least about the version):\r\ni3 version 4.8-314-g463a421 (2015-02-16, branch \"feature-i3bar-use-pango-markup\") © 2009-2014 Michael Stapelberg and contributors"},"comment":{"url":"https://api.github.com/repos/i3/i3/issues/comments/74719785","html_url":"https://github.com/i3/i3/issues/1480#issuecomment-74719785","issue_url":"https://api.github.com/repos/i3/i3/issues/1480","id":74719785,"user":{"login":"i3bot","id":10797359,"avatar_url":"https://avatars.githubusercontent.com/u/10797359?v=3","gravatar_id":"","url":"https://api.github.com/users/i3bot","html_url":"https://github.com/i3bot","followers_url":"https://api.github.com/users/i3bot/followers","following_url":"https://api.github.com/users/i3bot/following{/other_user}","gists_url":"https://api.github.com/users/i3bot/gists{/gist_id}","starred_url":"https://api.github.com/users/i3bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/i3bot/subscriptions","organizations_url":"https://api.github.com/users/i3bot/orgs","repos_url":"https://api.github.com/users/i3bot/repos","events_url":"https://api.github.com/users/i3bot/events{/privacy}","received_events_url":"https://api.github.com/users/i3bot/received_events","type":"User","site_admin":false},"created_at":"2015-02-17T18:15:28Z","updated_at":"2015-02-17T18:15:28Z","body":"I don’t see a link to logs.i3wm.org. Did you follow http://i3wm.org/docs/debugging.html? (In case you actually provided a link to a logfile, please ignore me.)"}}