dwm (вопросы)
Модератор: Модераторы разделов
-
- Сообщения: 405
Re: dwm
хм, с панелями токо 3.6 версия ... draw.* в них нада копаться в основном ))) в 4.х хз как там чего ))
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
-
- Сообщения: 340
- Статус: кофейник
- ОС: Funtoo + Calculate
Re: dwm
polachok выложил патч для dwm 4.0 добавляющий вторую панель с таскбаром http://polachok.net/usr/src.html
Если счастье когда-нибудь не оставит тебя - оно к тебе больше никогда не придет. © О. Радус
-
- Сообщения: 405
Re: dwm
Код:
void drawbbar(void) {
int x, y, h, w;
static char buf[256];
unsigned int len, olen;
XGCValues gcv;
XRectangle r = { dc.x, dc.y, dc.w, dc.h };
gcv.foreground = dc.norm[ColFG];
XChangeGC(dpy, dc.gc, GCForeground, &gcv);
XSetForeground(dpy, dc.gc, dc.norm[ColBG]);
r.x = r.y = BORDERPX;
r.width = sw - BORDERPX;
r.height = textw(stext) - BORDERPX;
XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
if(BORDERPX != 0) {
r.x = r.y = 0;
r.width = sw;
r.height = textw(stext);
XSetForeground(dpy, dc.gc, dc.norm[ColBorder]);
XDrawRectangles(dpy, dc.drawable, dc.gc, &r, 1);
}
XSetForeground(dpy, dc.gc, dc.norm[ColFG]);
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.norm[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));
XCopyArea(dpy, dc.drawable, bbar, dc.gc, 0, 0, sw, bh, 0, 0);
}
/* extern */
void
drawstatus(void) {
drawbar();
XSync(dpy, False);
#ifdef BOTTOM_BAR
drawbbar();
XSync(dpy, False);
#endif
}
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
-
- Сообщения: 324
- Статус: Комсомолец
- ОС: Gentoo Linux
Re: dwm
Хм, вот решил тоже попробовать сабж, а он мне выдаёт такое:
Шрифты в системе есть, я их юзаю в системной консоли и в urxvt.
Если просто указать все звёздочки, то выдаёт:
В данном случае запускается, но вместо русских шрифтов крякозябры
ЗЫ Патч для юникода, который мелькал выше по топику накладывал, ничего не изменилось
Код: Выделить всё
helicopter@localhost ~/dwm/bin $ DISPLAY=:1 ./dwm
dwm: missing fontset: ISO10646-1
dwm: missing fontset: JISX0201.1976-0
dwm: missing fontset: GB2312.1980-0
dwm: missing fontset: KSC5601.1987-0
dwm: missing fontset: JISX0208.1983-0
dwm: missing fontset: ISO8859-1
dwm: missing fontset: ISO8859-1
error, cannot load font: '-*-terminus-*-*-*-*-*-*-*-*-*-*-*-u'
Шрифты в системе есть, я их юзаю в системной консоли и в urxvt.
Если просто указать все звёздочки, то выдаёт:
Код: Выделить всё
helicopter@localhost ~/dwm/dwm-4.2 $ DISPLAY=:1 ./dwm
dwm: missing fontset: GB2312.1980-0
dwm: missing fontset: KSC5601.1987-0
dwm: missing fontset: JISX0208.1983-0
В данном случае запускается, но вместо русских шрифтов крякозябры
ЗЫ Патч для юникода, который мелькал выше по топику накладывал, ничего не изменилось
Выбирая Linux, вы развиваете цивилизацию. Выбирая windows, вы набиваете кошелёк забугорному буржую...
-
- Сообщения: 324
- Статус: Комсомолец
- ОС: Gentoo Linux
Re: dwm
Да ? И как-же часто создатели сталкиваются с кириллицей в заголовках окон ?
Выбирая Linux, вы развиваете цивилизацию. Выбирая windows, вы набиваете кошелёк забугорному буржую...
-
- Бывший модератор
- Сообщения: 1638
- Статус: Форум больше не посещаю
Re: dwm
А с каких пор юникод == кириллица?
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
-
- Сообщения: 340
- Статус: кофейник
- ОС: Funtoo + Calculate
Re: dwm
helicopter,
у меня работает вот так
у меня работает вот так
Код: Выделить всё
#define FONT "-xos4-terminus-medium-r-normal-*-12-*-*-*-*-*-*-*"
Если счастье когда-нибудь не оставит тебя - оно к тебе больше никогда не придет. © О. Радус
-
- Бывший модератор
- Сообщения: 1638
- Статус: Форум больше не посещаю
Re: dwm
Более того, работает и вот так: "-xos4-terminus-medium-r-normal--12-*-*-*-*-*-koi8-r"
Локаль в юникоде.
Локаль в юникоде.
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
-
- Сообщения: 324
- Статус: Комсомолец
- ОС: Gentoo Linux
Re: dwm
Юникод != кириллица, но траблы вылезают имеено при сочетании кириллицы и юникодной локали.
Delirious Stranger писал(а): ↑16.06.2007 09:09helicopter,
у меня работает вот так
Код: Выделить всё
#define FONT "-xos4-terminus-medium-r-normal-*-12-*-*-*-*-*-*-*"
Попробовал, dwm запустился, но трабла с заголовками осталась, вот так выглядит заголовок фаерфокса на вкладке с секлабом. Что с юникодным патчем, что без него, один фиг
Код: Выделить всё
'$']'Q'S'_'`'V - SecurityLab - Mozilla Firefox
Выбирая Linux, вы развиваете цивилизацию. Выбирая windows, вы набиваете кошелёк забугорному буржую...
-
- Сообщения: 324
- Статус: Комсомолец
- ОС: Gentoo Linux
Re: dwm
Товарищи, у кого нормально отображаются русские загловки окон в utf8 просьба назвать версию и список прикрученых патчей.
Выбирая Linux, вы развиваете цивилизацию. Выбирая windows, вы набиваете кошелёк забугорному буржую...
-
- Бывший модератор
- Сообщения: 3491
- Статус: ...
- ОС: OS X, GNU_и_не_только/Linux
Re: dwm
helicopter писал(а): ↑17.06.2007 22:58Товарищи, у кого нормально отображаются русские загловки окон в utf8 просьба назвать версию и список прикрученых патчей.
DWM 4.0, без патчей. Самое интересное - в ArchLinux с юникодом были такие же траблы, в Debian - все отлично (:
My god... it's full of stars!...
-
- Сообщения: 324
- Статус: Комсомолец
- ОС: Gentoo Linux
Re: dwm
Хм, значит надо копать в сторону хака с XLC_LOCALE. Хм или может это потому, что у мну dwm-4.2...
Выбирая Linux, вы развиваете цивилизацию. Выбирая windows, вы набиваете кошелёк забугорному буржую...
-
- Сообщения: 324
- Статус: Комсомолец
- ОС: Gentoo Linux
Re: dwm
Всем спасибо, хакнул XLC_LOCALE, русские заголовки стали отображаться нормально
Выбирая Linux, вы развиваете цивилизацию. Выбирая windows, вы набиваете кошелёк забугорному буржую...
-
- Сообщения: 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
-
- Сообщения: 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
-
- Сообщения: 28
- ОС: Gentoo
Re: dwm
Может где-то уже задавали такой вопрос, но я не нашел. Возможно ли менять мастеробласть не по вертикали, а по горизонтали? А то когда окна находятся одно над другим, я не могу понять, как увеличить размер одного и уменьшить размер другого.
-
- Сообщения: 405
Re: dwm
kes, да, в конфиг.аш все прописывается ...
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
-
- Сообщения: 340
- Статус: кофейник
- ОС: Funtoo + Calculate
Re: dwm
kes, поставь, чтобы в мастер-области могло находиться только одно приложение...
Если счастье когда-нибудь не оставит тебя - оно к тебе больше никогда не придет. © О. Радус
-
- Сообщения: 28
- ОС: Gentoo
Re: dwm
Delirious Stranger,
Так у меня и так одно стоит. о_О
Все стандартно:
Так у меня и так одно стоит. о_О
Все стандартно:
Код: Выделить всё
#define MASTERWIDTH 600 /* master width per thousand */
#define NMASTER 1 /* clients in master area */
#define SNAP 32 /* snap pixel */
-
- Сообщения: 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
-
- Сообщения: 340
- Статус: кофейник
- ОС: Funtoo + Calculate
Re: dwm
kes, извиняюсь. неправильно пост прочитал. смотрите в сторону bottom stack patch
Если счастье когда-нибудь не оставит тебя - оно к тебе больше никогда не придет. © О. Радус
-
- Бывший модератор
- Сообщения: 1638
- Статус: Форум больше не посещаю
Re: dwm
Кому-нибудь удалось найти нормальный патч для работы togglemax в tiled-режиме? Все, что я находил - мусор, который просто тупо переводит окна в плавающий режим и вызывает стандартный togglemax для плавающего окна. Хочу по-правильному.
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
-
- Сообщения: 354
- ОС: Gentoo
Re: dwm
а можно по-подробнее плиз?helicopter писал(а): ↑17.06.2007 23:58Всем спасибо, хакнул XLC_LOCALE, русские заголовки стали отображаться нормально
вот эта дока не помогла
-
- Сообщения: 405
Re: dwm
random_code, хм, а смысл togglemax в tiled режиме ? .. в принципе можно попробовать сделать так ... сначала сделать mw равной ширине экрана, затем сделать окно главным ... zoom ..
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
Можно и так. Только вот неMaster-область все равно будет занимать несколько пикселей. Это, конечно, лучше, чем float для всех окон, но все равно криво. Плюс ко всему на всех остальных тегах мастер-окна будут на весь экран. А вот это уже существенно.
Проблему надеюсь решить переходом на ion3 (:
Проблему надеюсь решить переходом на ion3 (:
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
-
- Сообщения: 405
Re: dwm
1) sources of 4.2 version have function for hiding windows ...
2) if you want, i can send to you tags patch ...
sorry, X without russian support ...
2) if you want, i can send to you tags patch ...
sorry, X without russian support ...
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 patches are junk by default.
problem is solved at now, i'm using ion3 (:
problem is solved at now, i'm using ion3 (:
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
-
- Сообщения: 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 TAGLAYOUTS
/* tagging */
#define TAGS \
--- dwm-4.2/dwm.h Wed May 30 14:20:42 2007
+++ dwm/dwm.h Sat Jun 23 10:34:40 2007
@@ -94,6 +94,11 @@
Layout *lt;
Window root, barwin;
+#ifdef TAGLAYOUTS
+ Layout **taglayouts; /* global layouts array */
+ Layout **currenttaglayout; /* current tag layout */
+#endif
+
/* client.c */
void attach(Client *c); /* attaches c to global client list */
void configure(Client *c); /* send synthetic configure event */
@@ -128,6 +133,10 @@
void togglebar(const char *arg); /* shows/hides the bar */
void togglemax(const char *arg); /* toggles maximization of floating client */
void zoom(const char *arg); /* zooms the focused client to master area, arg is ignored */
+
+#ifdef TAGLAYOUTS
+ void setlayoutall(const char *arg); /* setlayout for all tags */
+#endif
/* main.c */
void updatebarpos(void); /* updates the bar position */
--- dwm-4.2/layout.c Wed May 30 14:20:42 2007
+++ dwm/layout.c Sat Jun 23 10:53:49 2007
@@ -163,7 +163,18 @@
initlayouts(void) {
unsigned int i, w;
+
lt = &layout[0];
+
+#ifdef TAGLAYOUTS
+ int loop;
+
+ for(loop=0; loop < ntags; loop++) {
+ taglayouts[loop] = &layout[0];
+ }
+ currenttaglayout = taglayouts;
+#endif
+
nlayouts = sizeof layout / sizeof layout[0];
for(blw = i = 0; i < nlayouts; i++) {
w = textw(layout[i].symbol);
@@ -220,7 +231,25 @@
lt->arrange();
else
drawstatus();
+
+#ifdef TAGLAYOUTS
+ *currenttaglayout = lt;
+#endif
+
+}
+
+#ifdef TAGLAYOUTS
+void
+setlayoutall(const char *arg) {
+ int loop;
+
+ setlayout(arg);
+
+ for (loop=0; loop < ntags; loop++) {
+ taglayouts[loop] = lt;
+ }
}
+#endif
void
togglebar(const char *arg) {
--- dwm-4.2/main.c Wed May 30 14:20:42 2007
+++ dwm/main.c Sat Jun 23 11:12:12 2007
@@ -28,6 +28,11 @@
DC dc = {0};
Window root, barwin;
+#ifdef TAGLAYOUTS
+ Layout **taglayouts = NULL;
+ Layout **currenttaglayout = NULL;
+#endif
+
/* static */
static int (*xerrorxlib)(Display *, XErrorEvent *);
@@ -56,6 +61,12 @@
XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime);
XSync(dpy, False);
free(seltag);
+
+#ifdef TAGLAYOUTS
+ free(taglayouts);
+
+#endif
+
}
static unsigned long
@@ -170,6 +181,13 @@
for(ntags = 0; tags[ntags]; ntags++);
seltag = emallocz(sizeof(Bool) * ntags);
seltag[0] = True;
+
+#ifdef TAGLAYOUTS
+
+ taglayouts = emallocz(sizeof(Layout*) * ntags);
+
+#endif
+
/* style */
dc.norm[ColBorder] = initcolor(NORMBORDERCOLOR);
dc.norm[ColBG] = initcolor(NORMBGCOLOR);
--- dwm-4.2/tag.c Wed May 30 14:20:42 2007
+++ dwm/tag.c Sat Jun 23 10:52:11 2007
@@ -145,8 +145,15 @@
for(i = 0; i < ntags; i++)
seltag[i] = arg == NULL;
- i = arg ? atoi(arg) : 0;
- if(i >= 0 && i < ntags)
+ i = arg ? atoi(arg) : -1;
+ if(i >= 0 && i < ntags) {
seltag[i] = True;
+
+#ifdef TAGLAYOUTS
+ currenttaglayout = &(taglayouts[i]);
+ lt = *currenttaglayout;
+#endif
+
+ }
lt->arrange();
}
код для 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