-
Notifications
You must be signed in to change notification settings - Fork 30
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
Bartabgroups / overlaps dwmblocks when systray is active #49
Comments
I presume this is in the context of a traditional bar with patches applied from the suckless site? Looking at the bartabgroups patch we have that the calls to bartabcalculate passes the status text width as the x offset. This is just a general patch compatibility issue. The fix would be to pass the status text width + getsystraywidth() when calling these functions. |
So something like this right ? bartabcalculate(selmon, x + getsystraywidth(), TEXTW(stext) - lrpad + 2, ev->x, battabclick); and bartabcalculate(m, x + getsystraywidth(), tw, -1, bartabdraw); since this function is being called just two times |
Yes in the above example the argument for the x offset is the tw variable, so you would have bartabcalculate(m, x, tw + getsystraywidth(), -1, bartabdraw); same for the call in buttonpress. The parameter name on the function side was xOff or something like that. |
Yes you are right, it's the sw (status width) parameter. Should be fine the way you have it. |
That just suggests that the issue still lies with the bartabgroups patch. drw_text(drw, m->ww - tw - stw + getsystraywidth(), 0, tw, bh, lrpad / 2 - 2, stext, 0); The + getsystraywidth() just negates what the stw (systray width) variable subtracts. The status was shown fine before so it should have something to do with how the bartabgroups patch calculates it's width relative to where it thinks the status text starts. |
Played around a bit with the values and it's fixed (i'm guessing) though not sure what exactly happened if (m == selmon) { /* status is only drawn on selected monitor */
drw_setscheme(drw, scheme[SchemeNorm]);
tw = TEXTW(stext) - lrpad / 2 + 2 + getsystraywidth(); /* 2px extra right padding */
drw_text(drw, m->ww - tw - stw + getsystraywidth(), 0, tw, bh, lrpad / 2 - 2, stext, 0);
} |
I see what you did there and why it may work. In principle it should be no different from including the systray width when passing the status text width to the bartabgroups calculate function. Something to take into account is that the systray may be pinned to a given monitor in which case this may potentially be off for monitors that doesn't have the systray when focused. |
Well I guess I'll cross that bridge when I come to it, though I'm already reconsidering using dwm after this since patching is so time consuming. |
I feel you. It is certainly not for everyone. What is even more time consuming is getting to a level where you no longer depend on pre-made patches and you can make your window manager do practically anything you can think of. |
Well the most problematic thing I've found about suckless in general is the lack of support, it's bare minimum unlike the extensive support other wm's or any open source tools have as a community, all of that just to gatekeep it in the name of "elitism". Some YouTubers do cover suckless tools but most of time its just the basic stuff, after that it's more of a dead end as far as I know. |
As for support they do have some IRC channels (not that I have been there), but yes anything that is made to be more mainstream typically have more support or a bigger community around it. The elitism is kind of a part of the package and comes with the suckless philosophy. It is software by devout C evangelists for devout C evangelists, so if your mother tongue is C or you are at least fluent in it then you shouldn't really need any help in the first place. What is more problematic is the overarching negativity that seems to plague the community (if there is a community). As for YouTube yes there is very little coverage and what is there is typically very superficial as you say. I suppose there are many reasons for that. Most of them are not really being that into programming (besides maybe doing some shell scripting) and it is a rather niche topic which likely doesn't bring many views or much profit. |
When no systray apps are active:
With any systray app: e.g nm-applet
Adding more systray apps pushes dwmblocks further under bartab
Similar behaviour is observed when statuscmd patch is added with systray (no bartabs)
Any workaround for this for statuscmd and bartabgroups ? Something like this
OR is the issue with systray not updating the width properly ?
The text was updated successfully, but these errors were encountered: