| A.T.W.A. |
|
Темы:
14
Сообщения:
658
Участник с: 21 марта 2011
|
Подскажите пожалуйста, как ограничить статусбар по ширине, т.е. чтобы он занимал не всю ширину монитора, а некую часть справа оставлял пустой. |
| mango |
|
Темы:
43
Сообщения:
1521
Участник с: 18 декабря 2008
|
Я могу и ошибаться, но по моему это не возможно. |
| mairetham |
|
|
Темы:
1
Сообщения:
4
Участник с: 07 сентября 2010
|
Так же легко, как и все остальное в dwm. Берем функцию drawbar и изменям:*** dwm.c 2011-12-19 20:02:46.000000000 +0500
--- dwm.c.new 2012-03-11 16:40:03.174730506 +0500
***************
*** 718,724 ****
void
drawbar(Monitor *m) {
int x;
! unsigned int i, occ = 0, urg = 0;
unsigned long *col;
Client *c;
--- 718,724 ----
void
drawbar(Monitor *m) {
int x;
! unsigned int i, occ = 0, urg = 0, ww;
unsigned long *col;
Client *c;
***************
*** 740,756 ****
drawtext(m->ltsymbol, dc.norm, False);
dc.x += dc.w;
x = dc.x;
if(m == selmon) { /* status is only drawn on selected monitor */
dc.w = TEXTW(stext);
! dc.x = m->ww - dc.w;
if(dc.x < x) {
dc.x = x;
! dc.w = m->ww - x;
}
drawtext(stext, dc.norm, False);
}
else
! dc.x = m->ww;
if((dc.w = dc.x - x) > bh) {
dc.x = x;
if(m->sel) {
--- 740,757 ----
drawtext(m->ltsymbol, dc.norm, False);
dc.x += dc.w;
x = dc.x;
+ ww = m->ww - 120;
if(m == selmon) { /* status is only drawn on selected monitor */
dc.w = TEXTW(stext);
! dc.x = ww - dc.w;
if(dc.x < x) {
dc.x = x;
! dc.w = ww - x;
}
drawtext(stext, dc.norm, False);
}
else
! dc.x = ww;
if((dc.w = dc.x - x) > bh) {
dc.x = x;
if(m->sel) {
***************
*** 761,767 ****
else
drawtext(NULL, dc.norm, False);
}
! XCopyArea(dpy, dc.drawable, m->barwin, dc.gc, 0, 0, m->ww, bh, 0, 0);
XSync(dpy, False);
}
--- 762,768 ----
else
drawtext(NULL, dc.norm, False);
}
! XCopyArea(dpy, dc.drawable, m->barwin, dc.gc, 0, 0, ww, bh, 0, 0);
XSync(dpy, False);
} |
| A.T.W.A. |
|
Темы:
14
Сообщения:
658
Участник с: 21 марта 2011
|
mairetham, благодарю, сработало. Я всё-таки решил отказаться от этой затеи, но всё равно спасибо, возможно пригодится ещё. |