Add setting "status_on_all_monitors"
This commit is contained in:
parent
347441a806
commit
a0f3f1000e
19
src/dwm.c
19
src/dwm.c
|
@ -741,9 +741,11 @@ drawbar(Monitor *m)
|
||||||
stw = getsystraywidth();
|
stw = getsystraywidth();
|
||||||
|
|
||||||
/* draw status first so it can be overdrawn by tags later */
|
/* draw status first so it can be overdrawn by tags later */
|
||||||
drw_setscheme(drw, scheme[SchemeNorm]);
|
if (m == selmon || settings_get_status_on_all_monitors()) {
|
||||||
tw = TEXTW(stext) - lrpad / 2 + 2; /* 2px extra right padding */
|
drw_setscheme(drw, scheme[SchemeNorm]);
|
||||||
drw_text(drw, m->ww - tw - stw, 0, tw, bh, lrpad / 2 - 2, stext, 0);
|
tw = TEXTW(stext) - lrpad / 2 + 2; /* 2px extra right padding */
|
||||||
|
drw_text(drw, m->ww - tw - stw, 0, tw, bh, lrpad / 2 - 2, stext, 0);
|
||||||
|
}
|
||||||
|
|
||||||
resizebarwin(m);
|
resizebarwin(m);
|
||||||
for (c = m->clients; c; c = c->next) {
|
for (c = m->clients; c; c = c->next) {
|
||||||
|
@ -783,10 +785,9 @@ drawbar(Monitor *m)
|
||||||
void
|
void
|
||||||
drawbars(void)
|
drawbars(void)
|
||||||
{
|
{
|
||||||
Monitor *m;
|
for (Monitor *m = mons; m; m = m->next) {
|
||||||
|
|
||||||
for (m = mons; m; m = m->next)
|
|
||||||
drawbar(m);
|
drawbar(m);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -2186,8 +2187,10 @@ updatestatus(void)
|
||||||
strcpy(stext, "polytreewm-"VERSION);
|
strcpy(stext, "polytreewm-"VERSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Monitor *m = mons; m; m = m->next) {
|
if (settings_get_status_on_all_monitors()) {
|
||||||
drawbar(m);
|
drawbars();
|
||||||
|
} else {
|
||||||
|
drawbar(selmon);
|
||||||
}
|
}
|
||||||
|
|
||||||
updatesystray();
|
updatesystray();
|
||||||
|
|
|
@ -23,6 +23,7 @@ static bool respect_resize_hints_in_floating_layout = false;
|
||||||
static bool show_bar_by_default = true;
|
static bool show_bar_by_default = true;
|
||||||
static bool show_bar_per_tag = false;
|
static bool show_bar_per_tag = false;
|
||||||
static unsigned int snap_distance = 32;
|
static unsigned int snap_distance = 32;
|
||||||
|
static bool status_on_all_monitors = false;
|
||||||
static bool swallow_floating = false;
|
static bool swallow_floating = false;
|
||||||
|
|
||||||
int settings_get_border_width()
|
int settings_get_border_width()
|
||||||
|
@ -162,6 +163,17 @@ void settings_set_snap_distance(unsigned int new_snap_distance)
|
||||||
snap_distance = new_snap_distance;
|
snap_distance = new_snap_distance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool settings_get_status_on_all_monitors()
|
||||||
|
{
|
||||||
|
return status_on_all_monitors;
|
||||||
|
}
|
||||||
|
|
||||||
|
void settings_set_status_on_all_monitors(bool new_status_on_all_monitors)
|
||||||
|
{
|
||||||
|
status_on_all_monitors = new_status_on_all_monitors;
|
||||||
|
// TODO: notify WM to rearrange clients
|
||||||
|
}
|
||||||
|
|
||||||
bool settings_get_swallow_floating()
|
bool settings_get_swallow_floating()
|
||||||
{
|
{
|
||||||
return swallow_floating;
|
return swallow_floating;
|
||||||
|
|
|
@ -46,6 +46,9 @@ void settings_set_show_bar_per_tag(bool new_show_bar_per_tag);
|
||||||
unsigned int settings_get_snap_distance();
|
unsigned int settings_get_snap_distance();
|
||||||
void settings_set_snap_distance(unsigned int new_snap_distance);
|
void settings_set_snap_distance(unsigned int new_snap_distance);
|
||||||
|
|
||||||
|
bool settings_get_status_on_all_monitors();
|
||||||
|
void settings_set_status_on_all_monitors(bool new_status_on_all_monitors);
|
||||||
|
|
||||||
bool settings_get_swallow_floating();
|
bool settings_get_swallow_floating();
|
||||||
void settings_set_swallow_floating(bool new_swallow_floating);
|
void settings_set_swallow_floating(bool new_swallow_floating);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue