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

Itemstyles are not updated when text change #31

Open
Elv13 opened this issue Dec 10, 2014 · 2 comments
Open

Itemstyles are not updated when text change #31

Elv13 opened this issue Dec 10, 2014 · 2 comments

Comments

@Elv13
Copy link
Owner

Elv13 commented Dec 10, 2014

In the "bar" menu style, itemstyle redraw is not called often enough

step to reproduce:

  1. Open a tag in the taglist
  2. Set the holo style
  3. rename it
  4. it is not updated unless a mouseover is done
@seroperson
Copy link

I have something like this.
I open some vertical menu and click some item ( to apply my custom state ). Then hide menu and change state by some global keybind. Open menu again and there is not updated unless a moveover is done.
If you remove the calling cache_pixmap(item) from module:setup_item in layout/vertical.lua then it works fine. In my case i just replaced all "item.selected and 8888 or 999" in cache_pixmap with "((item.selected and 8888) or (item.state[101] and 29999) or 999)" to cache my state too ( i hope that it is correct way ).
I think that fix for "bar" is close to this.

@Elv13
Copy link
Owner Author

Elv13 commented Jan 16, 2015

Umm, I am kind of stuck in a corner with that. If I remove the cache, then some systems will become unusable again. I will try to find where to update the cache to avoid this. There is patchset by @psychon for Awesome 3.6 to address the abusive redraw issue. Once this become reality and Radical is ported, then I might have some extra headroom to turn off most widgets caches without loosing too much performances. Some recent-ish Awesome commit also add fit() size caching and draw during the next even loop run to lower the amount of duplicate and redundant draw() calls. But this is not enough for very complex widgets with expensive visual effects (and lets not even get into animations).

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

2 participants