dwm (вопросы)

ion, dwm, wmii, awesome, xmonad и другие

Модератор: Модераторы разделов

itten
Сообщения: 49

dwm

Сообщение itten »

итак:
1. как засунуть в статусбар, где по дефолту "dwm-2.7", часы и некоторые данные из ifconfig? В конфиге что-то не нашел нифига..

2. как убрать из названий тегов квадратики?

3. как убрать заголовки на неактивных окнах? В частности, какие строчки в каких файлах надо править, если так можно выразиться, ибо находил патчи, но по каким-то причинам они не подходили.

4. как вырубить фитчу активизации окна при наведении мыши?

У меня последний dwm 2.7
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: dwm

Сообщение elide »

1. как засунуть в статусбар, где по дефолту "dwm-2.7", часы и некоторые данные из ifconfig? В конфиге что-то не нашел нифига..
подавать на stdin dwm'a. лучше через fifo. что-то типа

Код: Выделить всё

FIFO=$HOME/.dwm/fifo
dwm_feeder.sh > $FIFO &
dwm < $FIFO > $FIFO
где dwm_feeder.sh - скрипт, котрый раз в секунду, например, выдает нужную строчку.
2. как убрать из названий тегов квадратики?
а зачем? без них сильно плохо становится... но если очень хочется, то найди в draw.c функцию drawtext и добавь ей в самое начало строчку "filledsquare = emptysquare = False;"
3. как убрать заголовки на неактивных окнах? В частности, какие строчки в каких файлах надо править, если так можно выразиться, ибо находил патчи, но по каким-то причинам они не подходили.
поправь в том же draw.c функцию drawtitle.
4. как вырубить фитчу активизации окна при наведении мыши?
очень странное желание....
это тебе polachok расскажет. такой же извращенец (:
слава роботам!
Спасибо сказали:
itten
Сообщения: 49

Re: dwm

Сообщение itten »

очень странное желание....

почему? Просто иногда мышь задеваешь, очень бесит =\

а зачем? без них сильно плохо становится... но если очень хочется, то найди в draw.c функцию drawtext и добавь ей в самое начало строчку "filledsquare = emptysquare = false;"

увы, не компилиццо =(
даже пробовал стирать из draw.c функцию filledsquare

поправь в том же draw.c функцию drawtitle.

не выходит =(
заголовки- самое главное, что меня бесит..

делаю так: убераю из draw.c строки

Код: Выделить всё

void
drawtitle(Client *c) {
        if(c == sel && issel) {
                drawstatus();
                XUnmapWindow(dpy, c->twin);
                XSetWindowBorder(dpy, c->win, dc.sel[ColBG]);
                return;
        }
        XSetWindowBorder(dpy, c->win, dc.norm[ColBG]);
        XMapWindow(dpy, c->twin);
        dc.x = dc.y = 0;
        dc.w = c->tw;
        drawtext(c->name, dc.norm, False,False);
        XCopyArea(dpy, dc.drawable, c->twin, dc.gc, 0, 0, c->tw, c->th, 0, 0);
        XSync(dpy, False);
}


при компиле выдает следующее:

Код: Выделить всё

dwm build options:
CFLAGS   = -Os -I. -I/usr/include -I/usr/X11R6/include -DVE             RSION="2.7"
LDFLAGS  = -L/usr/lib -lc -L/usr/X11R6/lib -lX11
CC       = cc
LD       = cc
CC client.c
CC draw.c
CC event.c
CC main.c
CC tag.c
CC util.c
CC view.c
LD dwm
client.o(.text+0x37d): In function `focus':
: undefined reference to `drawtitle'
client.o(.text+0x3a9): In function `focus':
: undefined reference to `drawtitle'
draw.o(.text+0x3e1): In function `drawall':
: undefined reference to `drawtitle'
event.o(.text+0x85f): In function `propertynotify':
: undefined reference to `drawtitle'
event.o(.text+0x688): In function `expose':
: undefined reference to `drawtitle'
collect2: ld returned 1 exit status
make: *** [dwm] пЫЙВЛБ 1


Что делать? Пробовал из всех файлов убирать строки где фигурирует title, скомпилилось нормально, но заголовки не только не исчезли, а наоборот даже у активного окна появились! 8)
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: dwm

Сообщение elide »

потому что надо головой думать, а не тем, чем ты это делаешь...
слава роботам!
Спасибо сказали:
itten
Сообщения: 49

Re: dwm

Сообщение itten »

Че думать-то? Я не программер и в коде совершенно не разбираюсь. Просто хочу создать себе максимально удобную среду для работы, поэтому прошу помощи.
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: dwm

Сообщение elide »

dwm is customized through editing its source code. This keeps its userbase small and elitist. No novices asking stupid questions.
ты спросил, я ответил.
если ты не можешь реализовать мои советы на практике - ты выбрал неправильный оконный менеджер.
взять те же квадратики... о каком dwm может идти речь, когда ты не можешь нормально добавить 1 строчку в 1 текстовый файл?
про статусбар написано в документации. слишком гордый, чтоб документацию читать?
слава роботам!
Спасибо сказали:
itten
Сообщения: 49

Re: dwm

Сообщение itten »

все вопросы решены. там помимо draw.c, еще client.c править надо.
Спасибо сказали:
Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

Re: dwm

Сообщение polachok »

1.удобней всего юзать conky
2. как убрать из названий тегов квадратики?
а зачем? без них сильно плохо становится[quote]
некоторые используют теги как воркспейсы. может это и неправильно с точки зрения использующих их как теги (в т.ч. гл. разработчика :) ), но работает ведь. к тому же афтор не один такой - вот тут http://www.cgarbs.de/dwm-mitch.en.html еще один есть ;) (правда зачем нужен второй квадратик я так и не понял)
3.draw.c
привести drawtitle() к виду
if(c == sel && issel)
{
drawstatus();
XSetWindowBorder(dpy, c->win, dc.norm[ColBG]);
return;
}
XSetWindowBorder(dpy, c->win, dc.sel[ColBG]);
XSync(dpy, False);
4.event.c
в enternotify() есть focus(с), поменяй на return;
И немедленно выпил.
Спасибо сказали:
itten
Сообщения: 49

Re: dwm

Сообщение itten »

спасибо polachok, заголовки убраны :)

а теперь еще более ужасное желание - как убрать верхнюю панель вообще?! =)
Спасибо сказали:
Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

Re: dwm

Сообщение polachok »

itten
никогда не задавался таким вопросом... поищите в рассылке, вроде что-то проскакивало... хотя как после этого юзать wm непонятно :))
И немедленно выпил.
Спасибо сказали:
Nikodim
Сообщения: 8

Re: dwm

Сообщение Nikodim »

dwm is customized through editing its source code. This keeps its userbase small and elitist. No novices asking stupid questions.

Нда, оконный менеджер только для избранных... Гнилая идеология, imo. В любом случае пересобирать wm при каждом изменении настроек... Такого изврата ещё не видел. Прикрутили хотя бы embedded scripting. Но тогда видимо это будет уже не элитарный wm :)
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: dwm

Сообщение elide »

у него цель - сохранить базу кода меньше 2000 строк.
продукт, который работает, а не свистит, пукает и переливается.
В любом случае пересобирать wm при каждом изменении настроек
а зачем постоянно играцца настройками? я его как при установке системы настроил, так и уже много месяцев ничего не меняю...
слава роботам!
Спасибо сказали:
Аватара пользователя
Aectann
Бывший модератор
Сообщения: 3491
Статус: ...
ОС: OS X, GNU_и_не_только/Linux

Re: dwm

Сообщение Aectann »

Nikodim писал(а):
25.12.2006 23:57
Нда, оконный менеджер только для избранных... Гнилая идеология, imo. В любом случае пересобирать wm при каждом изменении настроек... Такого изврата ещё не видел. Прикрутили хотя бы embedded scripting. Но тогда видимо это будет уже не элитарный wm :)

Блин, не нравится идеология - не пользуйтесь, щас полно всяких wm-ов на любой вкус - выбирай и пользуйся, чего на другие то наезжать? Пусть даже "только для избранных", вас это как-то коробит? Есть Ion3 - там как раз через скрипты все настраивается, а кого-то это бесит и они используют dwm.
My god... it's full of stars!...
Спасибо сказали:
Nikodim
Сообщения: 8

Re: dwm

Сообщение Nikodim »

Покрутил немного этот dwm и понял - разработчики правы. Настройки хранить отдельно бессмысленно, так как настраивать там особо нечего. Ну что же, сверхминималистичный и компактный tiled wm - вполне себе концепция. Но эта "white only" идеология все равно коробит, да.
Спасибо сказали:
itten
Сообщения: 49

Re: dwm

Сообщение itten »

polachok писал(а):
25.12.2006 23:24
itten
никогда не задавался таким вопросом... поищите в рассылке, вроде что-то проскакивало... хотя как после этого юзать wm непонятно :))

От WM'а мне только надо: удобное размещение окошек и управление ими.

В рассылке нашел такой же вопрос, но на него не ответили... задал сам, вот что мне ответили:
i don' think so
but you can do it yourself if you know a little C
you should remove all references to barwin, bw, bh and bmw
(or maybe you can set bh to 0 in main.c's setup())

так и не понял что сделать надо... я совсем не глупый, как думает про меня elide, просто новечку действительно трудно понять, к тому же не программисту =)
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: dwm

Сообщение elide »

you can set bh to 0 in main.c's setup()

Код: Выделить всё

diff -r 276238ad9516 main.c
--- a/main.c    Wed Dec 20 12:07:05 2006 +0100
+++ b/main.c    Wed Dec 27 22:21:29 2006 +0300
@@ -129,7 +129,7 @@ setup(void) {
        setfont(FONT);
        /* geometry */
        bmw = textw(TILESYMBOL) > textw(FLOATSYMBOL) ?  textw(TILESYMBOL) : textw(FLOATSYMBOL);
-       sx = sy = 0;
+       sx = sy = -1;
        sw = DisplayWidth(dpy, screen);
        sh = DisplayHeight(dpy, screen);
        master = MASTER;
@@ -137,7 +137,7 @@ setup(void) {
        bx = sx;
        by = sy;
        bw = sw;
-       dc.h = bh = dc.font.height + 2;
+       dc.h = bh = 1;
        wa.override_redirect = 1;
        wa.background_pixmap = ParentRelative;
        wa.event_mask = ButtonPressMask | ExposureMask;
я же говорил, если трудно понять, то стоит выбрать другой wm.
слава роботам!
Спасибо сказали:
itten
Сообщения: 49

Re: dwm

Сообщение itten »

elide
Огромное спасибо! Все заепца (:


/me на пути к голой консоли...
Спасибо сказали:
Аватара пользователя
phasma
Сообщения: 405

Re: dwm

Сообщение phasma »

хто чем может поделится ?) тут немножко накопал ... но сча у мну все вылетает ;) попробовал сделать разное расположение окон на разных тэгах(если не ошибаюсь, то это так называется) ))) вообщем поделитель чем-нить )))
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
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: dwm

Сообщение elide »

у меня 3.1 дальше там пошли довольно сильные правки, особого смысла в которых я не вижу, так что пока не обновляюсь.
dwm - единственный wm, вообще ни разу у меня не упавший (: делайте выводы.

а делиться там нечем....
слава роботам!
Спасибо сказали:
Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

Re: dwm

Сообщение polachok »

Sender: dwm-bounces@suckless.org
From: dfenze@gmail.com
Reply-To: dynamic window manager <dwm@suckless.org>
Subject: [dwm] Layout per tag - patch
Date: Mon, 19 Mar 2007 23:37:08 +0100
User-Agent: mutt-ng/devel-r804 (Debian)
To: dwm@suckless.org

Hi,

I created patch, which allow me to have selected different layout for each of
tags. It may or may not be enabled in compile time by (not) define macro
TAGLAYOUTS.

When showing all tags (by using $MODKEY-0), layout of last viewed tag is
used (and it can be changed there).

URL:
http://na.srck.net/dwm/dwm-3.8-taglayouts.patch

--anydot

ЗЫ у меня 3.5 пропатченый maximize-in-tile-mode & old-look-with-border, работает и хорошо, больше ниче и не надо...
И немедленно выпил.
Спасибо сказали:
Аватара пользователя
phasma
Сообщения: 405

Re: dwm

Сообщение phasma »

пасип за линк ))) а как быть с MODKEY, можно ее перенести на WinKey ? ... просто MODKEY + Winkey работает ... а вот как MODKEY не удается определить ...
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
Спасибо сказали:
Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

Re: dwm

Сообщение polachok »

не понял вопроса...
#define MODKEY Mod4Mask
И немедленно выпил.
Спасибо сказали:
Аватара пользователя
phasma
Сообщения: 405

Re: dwm

Сообщение phasma »

попробую, счас просто нету ноута с собой )))
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
Спасибо сказали:
Аватара пользователя
phasma
Сообщения: 405

Re: dwm

Сообщение phasma »

а никто не пробовал дописать вывод данных на панельку не из stdin ?
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
Спасибо сказали:
Аватара пользователя
Aectann
Бывший модератор
Сообщения: 3491
Статус: ...
ОС: OS X, GNU_и_не_только/Linux

Re: dwm

Сообщение Aectann »

phasma писал(а):
28.03.2007 16:08
а никто не пробовал дописать вывод данных на панельку не из stdin ?

Гм, а откуда ещё? Приведи пример.
My god... it's full of stars!...
Спасибо сказали:
Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

Re: dwm

Сообщение polachok »

Гм, а откуда ещё? Приведи пример.

из FIFO.
И немедленно выпил.
Спасибо сказали:
Аватара пользователя
phasma
Сообщения: 405

Re: dwm

Сообщение phasma »

Код: Выделить всё

//phasma: 26/03/07

void
showdate() {
    pdate = popen("/bin/date", "r");
    fgets(_bar, 256, pdate);
    strncpy(stext, _bar, strlen(_bar) - 1);
    pclose(pdate);

    drawstatus();
}


Код: Выделить всё

case 0:

                // phasma: 25/03/07
                showdate();

                readin = False;
                break;


а если вставить тут, то все неимоверно глючит и виснет

Код: Выделить всё

while(XPending(dpy)) {
            XNextEvent(dpy, &ev);
            if(handler[ev.type])
                (handler[ev.type])(&ev); /* call handler */

//            taglayouts[2] = 134538328;
//            showdate();

        }
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
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: dwm

Сообщение elide »

pdate = popen("/bin/date", "r");
fgets(_bar, 256, pdate);
никогда бы не додумался в коде на С сделать это _так_.
phasma, ты пришёл с миром, или тебе таки нужны наши мозги?
слава роботам!
Спасибо сказали:
Аватара пользователя
phasma
Сообщения: 405

Re: dwm

Сообщение phasma »

))) эм ))) первое что нашел в мане - то и написал )))
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
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: dwm

Сообщение elide »

почитай man 3 strftime
слава роботам!
Спасибо сказали: