dwm (вопросы)
Модератор: Модераторы разделов
-
- Бывший модератор
- Сообщения: 1638
- Статус: Форум больше не посещаю
Re: dwm
Да это у меня есть. Просто философия dwm "на каждый пук свой патч" немного не совпала с моей.
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
-
- Сообщения: 405
Re: dwm
random_code, откуда ?) я ж его сам переписывал под 4.2 )))
NB: Dell XPS 1330 T5250|DDR2 4GB|NV 8400|250 GB
Old NB: Asus A6km AMD Turion MT-32|DDR 2 GB|NV GFGO 7300|60 Gb
OS: Ubuntu 9.10, FreeBSD 8.0
Old NB: Asus A6km AMD Turion MT-32|DDR 2 GB|NV GFGO 7300|60 Gb
OS: Ubuntu 9.10, FreeBSD 8.0
-
- Бывший модератор
- Сообщения: 1638
- Статус: Форум больше не посещаю
Re: dwm
Ага, ты у нас тут единственный умеешь писать патчи для dwm, да? Ничего, что я тут рядышком с тобой на одном форуме?
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
-
- Сообщения: 405
Re: dwm
random_code, я не про то ))) я про сам код, а не про то, что уже кто-то писал подобное )))
NB: Dell XPS 1330 T5250|DDR2 4GB|NV 8400|250 GB
Old NB: Asus A6km AMD Turion MT-32|DDR 2 GB|NV GFGO 7300|60 Gb
OS: Ubuntu 9.10, FreeBSD 8.0
Old NB: Asus A6km AMD Turion MT-32|DDR 2 GB|NV GFGO 7300|60 Gb
OS: Ubuntu 9.10, FreeBSD 8.0
-
- Сообщения: 354
- ОС: Gentoo
Re: dwm
дайте кто-нибудь нормальный патч для 4.2, для двух панелей плиз
или просто переделанный dwm скиньте куда-нибудь
или просто переделанный dwm скиньте куда-нибудь
-
- Сообщения: 405
Re: dwm
Код:
--- dwm-4.2/config.h Wed May 30 14:20:42 2007
+++ dwm/config.h Sat Jun 23 11:24:14 2007
@@ -10,6 +10,7 @@
#define SELBORDERCOLOR "#ff0000"
#define SELBGCOLOR "#006699"
#define SELFGCOLOR "#ffffff"
+#define BARSEC "~/.dwm/daemon/get"
/* tagging */
#define TAGS \
--- dwm-4.2/draw.c Wed May 30 14:20:42 2007
+++ dwm/draw.c Sat Jun 23 14:01:02 2007
@@ -48,8 +48,9 @@
/* extern */
-void
-drawstatus(void) {
+void
+bar_fst(void) {
+
int i, x;
dc.x = dc.y = 0;
@@ -84,9 +85,80 @@
else
drawtext(NULL, dc.norm);
}
+
+ XSetForeground(dpy, dc.gc, dc.sel[ColBorder]);
+ XDrawLine(dpy, dc.drawable, dc.gc, 0, 0, sw, 0);
+ XDrawLine(dpy, dc.drawable, dc.gc, 0, dc.h-1, sw, dc.h - 1);
+
XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, sw, bh, 0, 0);
+
+}
+
+#ifdef BARSEC
+
+void
+bar_snd(void) {
+
+ int x, y, w, h;
+ unsigned int len, olen;
+ char buf[256];
+
+ dc.x = dc.y = 0;
+ XRectangle r = {dc.x, dc.y, sw, dc.h};
+
+ XSetForeground(dpy, dc.gc, dc.sel[ColBG]);
+ XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
+
+ w = 0;
+ olen = len = strlen(btext);
+ if(len >= sizeof buf)
+ len = sizeof buf - 1;
+ memcpy(buf, btext, len);
+ buf[len] = 0;
+ h = dc.font.ascent + dc.font.descent;
+ y = dc.y + (dc.h / 2) - (h / 2) + dc.font.ascent;
+ x = (h / 2);
+ /* shorten text if necessary */
+ while(len && (w = textnw(buf, len)) > dc.w - h)
+ buf[--len] = 0;
+ if(len < olen) {
+ if(len > 1)
+ buf[len - 1] = '.';
+ if(len > 2)
+ buf[len - 2] = '.';
+ if(len > 3)
+ buf[len - 3] = '.';
+ }
+
+ XSetForeground(dpy, dc.gc, dc.sel[ColFG]);
+ if(dc.font.set)
+ XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, btext, strlen(btext));
+ else
+ XDrawString(dpy, dc.drawable, dc.gc, x, y, btext, strlen(btext));
+
+ XSetForeground(dpy, dc.gc, dc.sel[ColBorder]);
+ XDrawLine(dpy, dc.drawable, dc.gc, 0, 0, sw, 0);
+ XDrawLine(dpy, dc.drawable, dc.gc, 0, dc.h-1, sw, dc.h - 1);
+
+ XCopyArea(dpy, dc.drawable, barsec, dc.gc, 0, 0, sw, bh, 0, 0);
+
+}
+
+#endif
+
+void
+drawstatus(void) {
+
+ bar_fst();
XSync(dpy, False);
+
+#ifdef BARSEC
+ bar_snd();
+ XSync(dpy, False);
+#endif
+
}
+
void
drawtext(const char *text, unsigned long col[ColLast]) {
--- dwm-4.2/dwm.h Sat Jun 23 10:34:40 2007
+++ dwm/dwm.h Sat Jun 23 14:02:37 2007
@@ -94,6 +94,11 @@
Layout *lt;
Window root, barwin;
+#ifdef BARSEC
+ Window barsec;
+ char btext[256];
+#endif
+
#ifdef TAGLAYOUTS
Layout **taglayouts; /* global layouts array */
Layout **currenttaglayout; /* current tag layout */
--- dwm-4.2/event.c Wed May 30 14:20:42 2007
+++ dwm/event.c Sat Jun 23 14:04:18 2007
@@ -219,6 +219,9 @@
XFreePixmap(dpy, dc.drawable);
dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen));
XResizeWindow(dpy, barwin, sw, bh);
+#ifdef BARSEC
+#endif
updatebarpos();
lt->arrange();
}
@@ -253,8 +256,14 @@
XExposeEvent *ev = &e->xexpose;
if(ev->count == 0) {
- if(barwin == ev->window)
+#ifdef BARSEC
+ if(barwin || barsec == ev->window)
drawstatus();
+#else
+ if(barwin == ev->window)
+ drawstatus();
+#endif
+
}
}
--- dwm-4.2/main.c Sat Jun 23 11:12:12 2007
+++ dwm/main.c Sat Jun 23 14:02:30 2007
@@ -15,6 +15,7 @@
/* extern */
char stext[256];
+
int screen, sx, sy, sw, sh, wax, way, waw, wah;
unsigned int bh, bpos, ntags, numlockmask;
Atom wmatom[WMLast], netatom[NetLast];
@@ -28,6 +29,11 @@
DC dc = {0};
Window root, barwin;
+#ifdef BARSEC
+ Window barsec;
+ char btext[256];
+#endif
+
#ifdef TAGLAYOUTS
Layout **taglayouts = NULL;
Layout **currenttaglayout = NULL;
@@ -55,6 +61,9 @@
XFreePixmap(dpy, dc.drawable);
XFreeGC(dpy, dc.gc);
XDestroyWindow(dpy, barwin);
+#ifdef BARSEC
+ XDestroyWindow(dpy, barsec);
+#endif
XFreeCursor(dpy, cursor[CurNormal]);
XFreeCursor(dpy, cursor[CurResize]);
XFreeCursor(dpy, cursor[CurMove]);
@@ -69,6 +78,25 @@
}
+#ifdef BARSEC
+
+static void
+updatetext() {
+
+ char _bar[256];
+
+ strcpy(btext, "");
+ FILE * proc;
+ proc = popen(BARSEC, "r");
+
+ fgets(_bar, 256, proc);
+ strncpy(btext, _bar, strlen(_bar) - 1);
+
+ pclose(proc);
+
+}
+
+#endif
+
static unsigned long
initcolor(const char *colstr) {
Colormap cmap = DefaultColormap(dpy, screen);
@@ -210,9 +238,18 @@
DefaultDepth(dpy, screen), CopyFromParent, DefaultVisual(dpy, screen),
CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
XDefineCursor(dpy, barwin, cursor[CurNormal]);
+#ifdef BARSEC
+ barsec = XCreateWindow(dpy, root, sx, sy, sw, bh, 0,
+ DefaultDepth(dpy, screen), CopyFromParent, DefaultVisual(dpy, screen),
+ CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
+ XDefineCursor(dpy, barsec, cursor[CurNormal]);
+#endif
bpos = BARPOS;
updatebarpos();
XMapRaised(dpy, barwin);
+#ifdef BARSEC
+ XMapRaised(dpy, barsec);
+#endif
strcpy(stext, "dwm-"VERSION);
/* pixmap for everything */
dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen));
@@ -247,20 +284,32 @@
wax = sx;
way = sy;
- wah = sh;
waw = sw;
switch(bpos) {
default:
- wah -= bh;
+ wah = sh - bh;
way += bh;
XMoveWindow(dpy, barwin, sx, sy);
+#ifdef BARSEC
+ wah = sh - bh;
+ XMoveWindow(dpy, barsec, sx, sy + wah);
+ wah -= bh;
+#endif
break;
case BarBot:
- wah -= bh;
+ wah = sh - bh;
XMoveWindow(dpy, barwin, sx, sy + wah);
+#ifdef BARSEC
+ wah = sh - bh;
+ way += bh;
+ XMoveWindow(dpy, barsec, sx, sy);
+#endif
break;
case BarOff:
XMoveWindow(dpy, barwin, sx, sy - bh);
+#ifdef BARSEC
+ XMoveWindow(dpy, barsec, sx, sy - bh);
+#endif
break;
}
XSync(dpy, False);
@@ -316,6 +365,9 @@
XSetErrorHandler(NULL);
xerrorxlib = XSetErrorHandler(xerror);
XSync(dpy, False);
+#ifdef BARSEC
+ updatetext();
+#endif
setup();
drawstatus();
scan();
@@ -357,6 +409,9 @@
if(handler[ev.type])
(handler[ev.type])(&ev); /* call handler */
}
+#ifdef BARSEC
+ updatetext();
+#endif
}
cleanup();
XCloseDisplay(dpy);
сча исчо и polachok выложит )))
NB: Dell XPS 1330 T5250|DDR2 4GB|NV 8400|250 GB
Old NB: Asus A6km AMD Turion MT-32|DDR 2 GB|NV GFGO 7300|60 Gb
OS: Ubuntu 9.10, FreeBSD 8.0
Old NB: Asus A6km AMD Turion MT-32|DDR 2 GB|NV GFGO 7300|60 Gb
OS: Ubuntu 9.10, FreeBSD 8.0
-
- Сообщения: 354
- ОС: Gentoo
Re: dwm
не кидайтесь помидорами пожалуйста, но...
может я патчу как-то не так... O_O
вот что я делаю
почему так происходит? я только "cp config.default.h config.h" сделал и все, ничего не менял.
скажите как патчить правильно плиз
или патч как-то криво вставился? табуляцию вроде форум убирает например? может лучше в аттачах патчи выкладывать?
может я патчу как-то не так... O_O
вот что я делаю
$
$ patch -p1 < dwm2panel-4.2.patch
patching file config.h
patch: **** malformed patch at line 10: /* tagging */
почему так происходит? я только "cp config.default.h config.h" сделал и все, ничего не менял.
скажите как патчить правильно плиз
или патч как-то криво вставился? табуляцию вроде форум убирает например? может лучше в аттачах патчи выкладывать?
-
- Сообщения: 354
- ОС: Gentoo
Re: dwm
тупо вручную пропатчил
есть 2 вопроса: что это за мифическая часть кода в файле main.c? в патче написано а у меня нету такого...
2. нижняя панель изменяется только когда я переключусь на какой-нить десктоп? возможно ли сделать, что б само менялось, раз в 1 секунду например? или, скажем брать из stdin в нижнюю панель, а из верхней убрать эту часть, которая из stdin берет.
есть 2 вопроса: что это за мифическая часть кода в файле main.c? в патче написано а у меня нету такого...
Код: Выделить всё
#ifdef TAGLAYOUTS
Layout **taglayouts = NULL;
Layout **currenttaglayout = NULL;
2. нижняя панель изменяется только когда я переключусь на какой-нить десктоп? возможно ли сделать, что б само менялось, раз в 1 секунду например? или, скажем брать из stdin в нижнюю панель, а из верхней убрать эту часть, которая из stdin берет.
-
- Сообщения: 405
Re: dwm
хм, вот в том, что те кинул нужно исчо указать путь до файла ... там де у тебя лежит то, что должно выводица на нижнюю панель ...
NB: Dell XPS 1330 T5250|DDR2 4GB|NV 8400|250 GB
Old NB: Asus A6km AMD Turion MT-32|DDR 2 GB|NV GFGO 7300|60 Gb
OS: Ubuntu 9.10, FreeBSD 8.0
Old NB: Asus A6km AMD Turion MT-32|DDR 2 GB|NV GFGO 7300|60 Gb
OS: Ubuntu 9.10, FreeBSD 8.0
-
- Сообщения: 354
- ОС: Gentoo
Re: dwm
это я заметил
но вот как заставить что б скрипт запускался сам, а не только после переключения десктопов или окон... хотя нет, он все-таки выполняется раз в секунду, но только если на stdin что-то поступает
и чуть не забыл. phasma, большое спасибо за патч!
-
- Сообщения: 405
Re: dwm
а, ты про это ... ну попробуй запустить цикл, ток это вряд ли что-то даст вминяемое, ибо скорее всего DWM просто будет подвисать )))
NB: Dell XPS 1330 T5250|DDR2 4GB|NV 8400|250 GB
Old NB: Asus A6km AMD Turion MT-32|DDR 2 GB|NV GFGO 7300|60 Gb
OS: Ubuntu 9.10, FreeBSD 8.0
Old NB: Asus A6km AMD Turion MT-32|DDR 2 GB|NV GFGO 7300|60 Gb
OS: Ubuntu 9.10, FreeBSD 8.0
-
- Сообщения: 403
- ОС: Fedora 10
Re: dwm
Debian Lenny
И вот такая проблема с отображением кириллицы в статус баре
[spec@baza:~]$ dwm -v
dwm-4.4.1, © 2006-2007 A. R. Garbe, S. van Dijk, J. Salmi, P. Hruby, S. Nagy
[spec@baza:~]$ locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
[spec@baza:~]$ cat /home/spec/distribs/System/dwm-4.4.1/config.h | grep FONT
#define FONT "-xos4-terminus-medium-*-normal-*-14-*-*-*-*-*-iso10646-1"
И вот такая проблема с отображением кириллицы в статус баре
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сообщения: 403
- ОС: Fedora 10
Re: dwm
Проблема решена
http://www.linux.org.ru/view-message.jsp?msgid=1199673
http://www.linux.org.ru/view-message.jsp?msgid=1199673
-
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: dwm
pento писал(а): ↑09.09.2007 12:20Проблема решена
http://www.linux.org.ru/view-message.jsp?msgid=1199673
огромное спасибо за ссылку!
-
- Сообщения: 403
- ОС: Fedora 10
Re: dwm
diesel, это спасибо Polachok -> Asgard
Вообще, интересный менеджер окон..."Допиши меня" называется Сделал переключение между тегами "пред" и "след" для 4.4.1 - могу выложить патч.
Вообще, интересный менеджер окон..."Допиши меня" называется Сделал переключение между тегами "пред" и "след" для 4.4.1 - могу выложить патч.
-
- Сообщения: 60
- ОС: Debian GNU/Linux
Re: dwm
друзья!
почему-то не работает togglemax, даже с дефолтным конфигом. все остальное вроде работает, а вот именно togglemax - нет. возможно, кто-то может помочь.
upd: неожиданно все заработало..
почему-то не работает togglemax, даже с дефолтным конфигом. все остальное вроде работает, а вот именно togglemax - нет. возможно, кто-то может помочь.
upd: неожиданно все заработало..
-
- Сообщения: 22
- ОС: Gentoo Linux
Re: dwm
ни кто не может выложить патч чтоб в разных тегах разное положение окон было, для версии 4.5 плз. ))
update: уже не нада
update: уже не нада
В этой жизни меня подводят доброта и порядочность
-
- Сообщения: 347
- Статус: infinity++
- ОС: Gentoo(desktop)/Arch(laptop)
Re: dwm
diesel писал(а): ↑11.09.2007 10:13pento писал(а): ↑09.09.2007 12:20Проблема решена
http://www.linux.org.ru/view-message.jsp?msgid=1199673
огромное спасибо за ссылку!
А мне что-то не помогло...
Код: Выделить всё
localhost ~ # locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC=C
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
localhost ~ # cd dwm*
localhost dwm-4.6 # cat config.h | grep FONT
#define FONT "-*-verdana-medium-r-*-*-*-*-*-*-*-*-iso10646-1"
Как быть?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сообщения: 403
- ОС: Fedora 10
Re: dwm
http://dwm.h17.ru/index.php
Домен и хостиниг просьба не обсуждать
В общем, есть идея создать страницу готовых цветовых настроек для dwm (по примеру http://www.cs.cmu.edu/~maverick/VimColorSchemeTest/).
Постите свои цветовые гаммы и они попадут на ту страницу.
А с терминусом такая же фигня?
Домен и хостиниг просьба не обсуждать
В общем, есть идея создать страницу готовых цветовых настроек для dwm (по примеру http://www.cs.cmu.edu/~maverick/VimColorSchemeTest/).
Постите свои цветовые гаммы и они попадут на ту страницу.
А с терминусом такая же фигня?
-
- Сообщения: 347
- Статус: infinity++
- ОС: Gentoo(desktop)/Arch(laptop)
Re: dwm
Угу.
---
Xfontsel ещё как-то странно себя ведёт. (Processing fonts... и всё тут)
Код: Выделить всё
#define NORMBORDERCOLOR "black"
#define NORMBGCOLOR "black"
#define NORMFGCOLOR "gray"
#define SELBORDERCOLOR "black"
#define SELBGCOLOR "black"
#define SELFGCOLOR "white"
^^
-
- Сообщения: 403
- ОС: Fedora 10
Re: dwm
Может кто в курсе патча или другого способа перезапустить после перекомпила dwm?
И что бы при этом сохранились открытые окна приложений.
И что бы при этом сохранились открытые окна приложений.
-
- Сообщения: 61
Re: dwm
при попытке компиляции выводит следующее
и так далее. в чем может быть проблема?
Код: Выделить всё
koshak@koshak:~/Documents/dwm-4.7$ make install clean
dwm build options:
CFLAGS = -Os -I. -I/usr/include -I/usr/X11R6/include -DVERSION="4.7"
LDFLAGS = -s -L/usr/lib -lc -L/usr/X11R6/lib -lX11
CC = cc
CC dwm.c
dwm.c:26:19: error: errno.h: No such file or directory
dwm.c:27:20: error: locale.h: No such file or directory
dwm.c:29:19: error: stdio.h: No such file or directory
dwm.c:30:20: error: stdlib.h: No such file or directory
dwm.c:31:20: error: string.h: No such file or directory
dwm.c:32:20: error: unistd.h: No such file or directory
dwm.c:33:24: error: sys/select.h: No such file or directory
dwm.c:34:23: error: sys/types.h: No such file or directory
dwm.c:35:22: error: sys/wait.h: No such file or directory
dwm.c:36:19: error: regex.h: No such file or directory
и так далее. в чем может быть проблема?
Время уходит. А мы остаемся.
-
- Сообщения: 428
- Статус: Kernel Killer
Re: dwm
Покажите файлик dwm.c....
А devel пакеты от Xorg установлены?
А devel пакеты от Xorg установлены?
Ubuntu Server 10.04 x86, Calculate Linux 11.6 x86
-
- Сообщения: 61
Re: dwm
dwm.c стандартный.
xorg-dev проворонил, а вот перечисленные .h файлы есть.
xorg-dev проворонил, а вот перечисленные .h файлы есть.
Время уходит. А мы остаемся.
-
- Сообщения: 228
- Статус: %_%
- ОС: Arch Linux
Re: dwm
Никто случаем не знает как ограничить макс. высоту окна? просто есть дополнительная панелька внизу, которая налазит на окна.
Разобрался сам. Ищем строчку 1457, отнимаем сколько надо.
Разобрался сам. Ищем строчку 1457, отнимаем сколько надо.
Registered Linux user #451481
-
- Сообщения: 31
- ОС: Slackware 12.1
Re: dwm
Есть ли способ добраться до свёрнутых в трей окон? Просто мой Gajim запускается УЖЕ свёрнутым и я не знаю как его достать Есть идеи?
-
- Сообщения: 60
- ОС: Debian GNU/Linux
Re: dwm
у меня на 9-м теге висит stalonetray. Все приложения, которые сворачиваются в трей, висят там. например, Stardict от которого мне нужен только сканер
-
- Сообщения: 81
- ОС: Ubuntu 11.04 amd64
Re: dwm
Никто не знает как сделать, чтобы не оставались зазоры у окон вроде терминалов? И ещё Emacs также себя ведёт, остаются зазоры, то есть не на полный экран.
-
- Сообщения: 502
- ОС: gentoo -> archlinux
Re: dwm
никак.
Код: Выделить всё
http://lists.suckless.org/dwm/0712/4479.html
можешь попробовать сделать, как там написано, то есть
Код: Выделить всё
static Bool resizehints = False;
но будет только хуже - окно растянется на весь экран, но место зазора все равно будет пустым (у меня так, по крайней мере).
я уже привык к таким зазорам. к тому же не часто открываю несколько терминалов сразу. а когда к какому-нибудь тэгу привязываешь только один терминал, то он, как положено, занимает всю площадь экрана.
морнинг круассан..
-
- Бывший модератор
- Сообщения: 2199
- Статус: главный форумный маргинал
- ОС: gnu/linux
Re: dwm
но будет только хуже - окно растянется на весь экран, но место зазора все равно будет пустым (у меня так, по крайней мере).
естественно, блджад, оно будет пустым. символ шрифта шириной в 8 пикселей ты не засунешь в пять оставшихся. но при этом имеем нормальный аккуратный бэкграунд (как в терминале), а не разглядываем в дырки воллапир с титьками.
а когда к какому-нибудь тэгу привязываешь только один терминал, то он, как положено, занимает всю площадь экрана.
4.2, зависит от шрифта.
И немедленно выпил.