bakkeby / dwm-flexipatch

A dwm build with preprocessor directives to decide which patches to include during build time
MIT License
1.15k stars 235 forks source link

Extrabar question #421

Closed Zerogaku closed 5 months ago

Zerogaku commented 5 months ago

How would I go about creating separate status bars with different modules? Would this be dependent on dwmblocks or is there already built in functionality for this?

image

bakkeby commented 5 months ago

The extrabar patch will add one more status (as in you can have two statuses).

This is based on a single status that comes through the root window name (e.g. via xsetroot or dwmblocks, etc.) and this status is split based on a separator - what is on the left of the separator goes to the first status and what is on the right of the status goes to the second status.

The separator is by default a semicolon. https://github.com/bakkeby/dwm-flexipatch/blob/a18f3ef370110c85d9001aced4b0cb1c96a075bf/config.def.h#L152-L154

So what you would need to do is to add a semicolon somewhere in the status for this to work.

Zerogaku commented 5 months ago

Hey thanks for the help, adding semicolon the output of one of my modules worked!

Zerogaku commented 5 months ago

Oh wait I forgot to ask, is it possible to toggle the extrabar?

bakkeby commented 5 months ago

No. You can toggle the display of the bars using MOD+b, but you can't toggle these individually.

Zerogaku commented 5 months ago

Can it be done with some tinkering? Or is dwm only able to toggle all the bars?

bakkeby commented 5 months ago

With tinkering almost anything is possible.

You'd want to have a flag like showbar associated with the bar rather than the monitor, then you'd have to make changes to updatebarpos to take the visibility of both bars into account when determining the size and position of the window area (as well as the position of each bar). Then you'd want to make changes to togglefloating such that would set that flag to be the same across all bars (likely based on the showbar value of the first bar).

Finally you'd want to make a function similar to togglebar that only toggles the showbar value for the second bar on the current monitor.

I think that would be it.

Zerogaku commented 5 months ago

Thanks for the advice!