dwm (вопросы)

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

Модераторы: broom, aim

reji
Сообщения: 81

Re: dwm

Сообщение reji » 15.06.2010 09:18

axxxdv писал(а):
15.06.2010 04:36
Здравствуйте!
Очень понравился dwm. Можно ли как-то сделать, чтобы окно настроек firefox открывалось как плавающее?

Кажется, ничего сложного, просто добавить в массив rules в файле config.h такую строчку:

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

    { "Firefox",  NULL, "Настройки",      0,            True,        -1 },

Вместо "Настройки" нужно поставить точный заголовок окна.

А часто ли вы открываете окно настроек? Мне кажется, им вполне можно пользоваться в тайловом режиме.
Спасибо сказали:

axxxdv
Сообщения: 20
ОС: openSUSE 11.1

Re: dwm

Сообщение axxxdv » 17.06.2010 03:27

reji писал(а):
15.06.2010 09:18
axxxdv писал(а):
15.06.2010 04:36
Здравствуйте!
Очень понравился dwm. Можно ли как-то сделать, чтобы окно настроек firefox открывалось как плавающее?

Кажется, ничего сложного, просто добавить в массив rules в файле config.h такую строчку:

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

    { "Firefox",  NULL, "Настройки",      0,            True,        -1 },

Вместо "Настройки" нужно поставить точный заголовок окна.

А часто ли вы открываете окно настроек? Мне кажется, им вполне можно пользоваться в тайловом режиме.

Спасибо за помощь.
P.S. Окно настроек я конечно открываю не часто, а сделать его плавающим - это чисто эстетическое решение.
Спасибо сказали:

axxxdv
Сообщения: 20
ОС: openSUSE 11.1

Re: dwm

Сообщение axxxdv » 17.06.2010 16:17

А можно как-то использовать регулярные выражения для описания правил окон? Например так:
{ "Firefox", NULL, "^Настройки", 0, True, -1 },
Но такое правило не работает. Может можно как-то по-другому?
Спасибо сказали:

Аватара пользователя
Reboot
Сообщения: 321
Статус: Красен глаз -- темна душа

Re: dwm

Сообщение Reboot » 17.06.2010 18:28

не знаю как сейчас, а раньше проверка на правила была через strstr, для которого достаточно подстроки.
вот и думай :)
Мой компьютер зовут Марвин
Спасибо сказали:

axxxdv
Сообщения: 20
ОС: openSUSE 11.1

Re: dwm

Сообщение axxxdv » 19.06.2010 04:45

Reboot писал(а):
17.06.2010 18:28
не знаю как сейчас, а раньше проверка на правила была через strstr, для которого достаточно подстроки.
вот и думай :)

Спасибо. Вот же блин как все просто.
Спасибо сказали:

Аватара пользователя
ТВЭЛ
Сообщения: 132
ОС: основана на SlackWare

Re: dwm

Сообщение ТВЭЛ » 14.08.2010 19:31

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

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

FIFO=$HOME/.dwm/fifo
dwm_feeder.sh > $FIFO &
dwm < $FIFO > $FIFO
где dwm_feeder.sh - скрипт, котрый раз в секунду, например, выдает нужную строчку.

Эта информация немного устарела, теперь DWM в статусе выводит значение xsetroot -name.

Я маленько поковырял исходники (dwm.c), сделал чтобы теги подсвечивались красным, когда включён русский язык.
Но вот как-то не нравится мне способ, которым я вывожу эту информацию, чувствую, что должен быть лучший вариант.

У меня сейчас так в .xinitrc:

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

while true; do
   #xsetroot -name "$(LANG=ru_RU.UTF-8  date +"%R, %A, %d.%m.%y")"
    Time=$(LANG=ru_RU.UTF-8  date +"%R, %A, %d.%m.%y")
    Keymap=$(skb -1)
   xsetroot -name "$Time  [$Keymap]"
   # sleep 1m    # Update time every minute
   sleep 1
done &
exec dwm

Получается, только для отображения текущей раскладки ежесекундно вызывается и date тоже, хотя её достаточно было бы вызывать раз в минуту.
При этом и секундная задержка для skb великовата, хотелось бы, чтобы смена раскладки отображалась мгновенно.

Как сделать правильно?
Время не ждет.
Спасибо сказали:

Аватара пользователя
ishitori
Сообщения: 502
ОС: gentoo -> archlinux

Re: dwm

Сообщение ishitori » 21.08.2010 22:47

ТВЭЛ писал(а):
14.08.2010 19:31
Как сделать правильно?

и так все правильно.. одну секунду и подождать можно.
можете еще уменьшить задержку и посмотреть, не грузит ли такое частое обновление процессор.
морнинг круассан..
Спасибо сказали:

reji
Сообщения: 81

Re: dwm

Сообщение reji » 28.04.2011 19:13

Вот такой способ завершить статусный цикл предложили недавно в cписке рассылки:

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

while true; do
    xsetroot -name ...
    sleep 1
done &
dwm
kill $!

Как же всё просто! И субшелл с циклом будет завершаться при выходе из Иксов и быстром релогине.

http://lists.suckless.org/dev/1104/7671.html
Спасибо сказали:

Аватара пользователя
Reboot
Сообщения: 321
Статус: Красен глаз -- темна душа

Re: dwm

Сообщение Reboot » 28.04.2011 20:25

А в мейлинг листе не объясняли почему stdin на xsetroot поменяли?
Мой компьютер зовут Марвин
Спасибо сказали:

reji
Сообщения: 81

Re: dwm

Сообщение reji » 28.04.2011 21:12

Reboot писал(а):
28.04.2011 20:25
А в мейлинг листе не объясняли почему stdin на xsetroot поменяли?

[dwm] xprop patch
Спасибо сказали:

Аватара пользователя
Reboot
Сообщения: 321
Статус: Красен глаз -- темна душа

Re: dwm

Сообщение Reboot » 28.04.2011 23:18

Ясно, как я и думал, спасибо.
Мой компьютер зовут Марвин
Спасибо сказали:

Аватара пользователя
ua3nam
Сообщения: 36
ОС: Debian 5.0

Re: dwm

Сообщение ua3nam » 20.10.2011 13:12

Как замутить вот такую штуку в DWM.Без использования conky и dzen2, я так понимаю на скрине в статус бар эти маленькие картинки выводятся шрифтом?
Спасибо сказали:

Аватара пользователя
RDV1984
Сообщения: 173
ОС: Debian GNU/Linux testing

Re: dwm

Сообщение RDV1984 » 01.06.2012 20:29

Вот .conkyrc

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

out_to_console yes
out_to_x no
background no
update_interval 2
total_run_times 0
use_spacer none

TEXT
CPU1:${cpu cpu1}%/CPU2:${cpu cpu2}% || $memperc%($mem) || /:${fs_free_perc /}%/d:${fs_free_perc /mnt/d}% ||sd:${downspeed eth0} su:${upspeed eth0} || $uptime_short || ${time %a %b %d %I:%M%P}

В .xinitrc пишу так:

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

conky | while read -r; do xsetroot -name "$REPLY"; done &
exec dwm

На панель dwm ничего не выводится. Как сделать вывод из conky ?
Спасибо сказали:

wheezy
Сообщения: 12
ОС: Debian Wheezy

Re: dwm

Сообщение wheezy » 14.06.2012 08:30

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

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

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

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

У меня последний dwm 2.7

1. делается через xsetroot, пример:

Код:

while true; do xsetroot -name "Memory $(free -m | grep '^Mem' | awk '{print "total: " $2 "MB used: " $3"MB"}') | CPU $(top -bn 1 | grep '^Cpu' | tr -d 'usy,' | awk '{print "user " $2 ", sys " $3}') | Uptime: $(uptime | awk '{print $3}' | tr -d ',') | Now playing: $(ncmpcpp --now-playing | tr -d '(:[:digit:])') | $( date +"%F %R" )" sleep 20s done &


2. Это делается в dwm.c, ищи по символам '[' и ']'
3. Заголовок неактивного окна НЕ выводится, вывод всяких trayer'ов можно убрать патчами dwm.c
4. Это сделать сложно, но невозможно без модификации dwm.c
И сделана эта фича специально для удобства пользователей мышки, лучше привыкните

RDV1984 писал(а):
01.06.2012 20:29
На панель dwm ничего не выводится. Как сделать вывод из conky ?

Ну дык у тебя conky должен писать в переменную REPLY, иначе ничего не получится :-)
Спасибо сказали:

Аватара пользователя
RDV1984
Сообщения: 173
ОС: Debian GNU/Linux testing

Re: dwm

Сообщение RDV1984 » 14.06.2012 12:45

Ну дык у тебя conky должен писать в переменную REPLY, иначе ничего не получится :-)

Как это сделать, чтобы conky писал в переменную?
Спасибо сказали:

wheezy
Сообщения: 12
ОС: Debian Wheezy

Re: dwm

Сообщение wheezy » 14.06.2012 20:04

RDV1984 писал(а):
01.06.2012 20:29
Вот .conkyrc

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

out_to_console yes
out_to_x no
background no
update_interval 2
total_run_times 0
use_spacer none

TEXT
CPU1:${cpu cpu1}%/CPU2:${cpu cpu2}% || $memperc%($mem) || /:${fs_free_perc /}%/d:${fs_free_perc /mnt/d}% ||sd:${downspeed eth0} su:${upspeed eth0} || $uptime_short || ${time %a %b %d %I:%M%P}

В .xinitrc пишу так:

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

conky | while read -r; do xsetroot -name "$REPLY"; done &
exec dwm

На панель dwm ничего не выводится. Как сделать вывод из conky ?


Вроде команда правильная, конфиг почти полностью списан с archwiki. Я почти уверен, что проблема в строке после TEXT. Попробуй её заменить на:

Код:

${cpu cpu1}% / ${cpu cpu2}% ${loadavg 1} ${loadavg 2 3} :: ${acpitemp}c :: $memperc% ($mem) :: ${downspeed eth0}K/s ${upspeed eth0}K/s :: ${time %a %b %d %I:%M%P}
Спасибо сказали:

vsdfn
Сообщения: 147
ОС: Windows,Linux,BSD

Re: dwm

Сообщение vsdfn » 29.04.2013 23:10

перепробовал всё: xmonad, awesome, i3, qtile, dwm. Мучался-мучался выбором. И так и эдак. Прикидывал. По 10 раз в разные WM перескакивал. Уговаривал себя. Искал плюсы и минусы. Гуглил и по доскам доки выискивал и читал. Анализировал. Лег вчера спать.

Снится мне: бери dwm. dwm. блин всю ночь снился этот dwm. Прям мозг мне говорит бери и всё. Не пожалеешь.
Ну dwm так dwm, иопт:)

Поставил dwm. Наложил патчи:
dwm-6.0-pertag.diff
dwm-6.0-autostart.diff
dwm-6.0-systray.diff


Есть вопрос: открываю gvim. Между окном gvim и панелью в пол пальца шириной пространство. Как убрать ?
Спасибо сказали:

Аватара пользователя
/dev/random
Администратор
Сообщения: 4772
ОС: Gentoo

Re: dwm

Сообщение /dev/random » 30.04.2013 09:08

vsdfn писал(а):
29.04.2013 23:10
Есть вопрос: открываю gvim. Между окном gvim и панелью в пол пальца шириной пространство. Как убрать ?

Если я правильно понял, о каком пространстве вы говорите, то можете попробовать подобрать такой размер шрифта в gvim, чтобы уменьшить зазор. Тут дело в том, что окно gvim нельзя свободно масштабировать: область текста должна быть кратна размеру шрифта, а остальные области имеют фиксированный размер. И если размер области, в которую вы пытаетесь окно впихнуть, оказывается недопустимым, то приходится делать окно чуть меньшего, допустимого размера и оставлять зазор.

Если же вы говорите о каком-то другом пространстве, приложите скриншот.
Спасибо сказали:

Аватара пользователя
Reboot
Сообщения: 321
Статус: Красен глаз -- темна душа

Re: dwm

Сообщение Reboot » 30.04.2013 13:50

vsdfn писал(а):
29.04.2013 23:10
Есть вопрос: открываю gvim. Между окном gvim и панелью в пол пальца шириной пространство. Как убрать ?

Я всегда полагал, что это решается вот этой опцией в config.h

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

static Bool resizehints = False; /* False means respect size hints in tiled resizals *


Мой компьютер зовут Марвин
Спасибо сказали:

vsdfn
Сообщения: 147
ОС: Windows,Linux,BSD

Re: dwm

Сообщение vsdfn » 01.05.2013 02:56

с зазорами чуть позже. Еще вопрос:
static const char *my_volumeup[] = { "amixer","set","Master","0 5%+", NULL };
static const char *my_volumedown[] = { "amixer","set","Master","0 5%-", NULL };

{ MODKEY, 34, spawn, {.v = my_volumedown } }, // modkey+[
{ MODKEY, 35, spawn, {.v = my_volumeup } }, // modkey+]

не хочет биндится. Пробовал уже и 0x34 and 0x35 - не получается. Как правильно забиндить ?
кейкоды ловил так:

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

xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'


решил
static const char *my_volup[] = { "amixer", "-q", "sset", "Master", "5%+", "unmute", NULL };
static const char *my_voldown[] = { "amixer", "-q", "sset", "Master", "5%-", "unmute", NULL };

{ MODKEY, XK_bracketleft, spawn, {.v = my_voldown } },
{ MODKEY, XK_bracketright, spawn, {.v = my_volup } },
Спасибо сказали:

vsdfn
Сообщения: 147
ОС: Windows,Linux,BSD

Re: dwm

Сообщение vsdfn » 01.05.2013 19:28

1)Нужна меню для dwm. dmenu - запуск программ. А мне именно выпадающее меню на хоткей нужно.

2) по поводу зазоров: Решено:static const Bool resizehints = False;
Спасибо сказали:

vsdfn
Сообщения: 147
ОС: Windows,Linux,BSD

Re: dwm

Сообщение vsdfn » 02.05.2013 15:48

Еще вопрос: каким патчем можно сделать так, чтобы в панели были вкладки окон, а не только имя текущего окна ?
Спасибо сказали:

Аватара пользователя
Reboot
Сообщения: 321
Статус: Красен глаз -- темна душа

Re: dwm

Сообщение Reboot » 03.05.2013 02:19

vsdfn писал(а):
02.05.2013 15:48
Еще вопрос: каким патчем можно сделать так, чтобы в панели были вкладки окон, а не только имя текущего окна ?

Вопрос, конечно, задан очень интересным образом. Но мне кажется ответом будет http://dwm.suckless.org/patches/fancybar
вообще там много патчей, неплохо бы посмотреть что там есть.
А менюшка это такое, это уже не имеет отношения к dwm. Вообще говоря, можно всё сделать и силами dmenu, благо это простая до безобразия программа, но это долго.
Я так понимаю нужно что-то типа такого http://code.google.com/p/hawkscope/ . Если да, тогда лучше искать безотносительно dwm, чтобы больше людей вопрос прочитало.
P.S. скриншот удали, кому он нужен... такой. Тем более если проблема решена.
Мой компьютер зовут Марвин
Спасибо сказали:

0x255
Сообщения: 1

Re: dwm

Сообщение 0x255 » 31.05.2013 23:32

а кто-нибудь делал плавующим окно wine в режиме эмуляции рабочего стола?
следующая строка не даёт результатов:

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

{ "Wine", False, "Default - Wine desktop", 0, True, -1 },

Хотя nxclient мне удалось заставить выводить сессии в плавающем режиме:

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

{  False, False, "NX - ", 0, True, -1 },


Спасибо сказали: