LINUX.ORG.RU

Разработка и реализация концепции в awesome

 ,


2

2

Доброго дня, господа!

Попытка осилить awesome №2 (или №3, я уже не помню).

Просматривая разные скриншоты с awesome пытался собирать интересные идеи. Хотя и сейчас продолжаю, и скетч однозначно не последний.

На данный момент у меня стоит opensuse + kde, и там же есть awesome, который я пытаюсь осилить.

Чтоб 2 раза не вставать: можно ли забиндить переключение раскладок на Caps Lock? Пробовал, подглядывая в вики, но если просто написать Caps_Lock - нужного эффекта нет, а Mod4 + Caps_Lock начал глючить после 3-его переключения (одновременно со сменой раскладки включается Caps_Lock, но лампочка гаснет с отпусканием кнопки. Сейчас пользую Alt + Shift_L, но неудобно же.

Набросок

Суть такова. Обычный awesome, конфиг от opensuse, некоторые вещи лишние (текущий аплоад/даунлоад; хотя может его стоит оставить - но он работает только для eth0, а ещё есть wlan0), что-то надо поменять (погоду, например; нифига не понятно, на кой ляд мне Нюрнберг?).

Итак:

1. Что делать с network manager? В плане, я часто использую и eth0 и wlan0, работа и дом соответственно; есть ли nm-applet для awesome? Или чем его заменить? (Кстати, cast ZenitharChampion, у меня в 12.2 и 12.3 глючит nm, причём странно - кабель втыкаешь - соединение типа есть, но dhcpcd надо вручную забивать в консоли, иначе нет ip и нет инета. Аналогично с wi-fi. Идеи?)

2. Вывод логов - ещё не уверен, нужно вообще или нет. В идеале хотелось бы, чтобы парсились основные логи, и ошибки выкидывались сюда. О реализации - не знаю ничего. Пока.

3. Поиск. Хочется поле ввода прямо на рабочем столе. Можно сделать отдельный тэг и переходить на него вручную, или автоматизировать смену тэга, когда что-то ищешь. Поиск - mlocate какой-нибудь; обычный поиск по /home/username/, добавление какого-нибудь знака для поиска по конкретно / без /home (например поиски конфига или ещё что) - например /+ключ или ещё как.

4. Органайзер/TODO list. Какой-нибудь файл с синхронизацией между ПК и телефоном (ондроид, ога). В идеале вообще синхронизация с задачами. Напоминалки и прочее приветствуются. Какие варианты?

5. Терминал. urxvt? Годные настройки - в принципе, тоже приветствуются.

6. Единые темы для gtk2/gtk3/qt4. Не хочу плодить зоопарк. Идеальные вариант: 2 вида тем, более светлая (но не белая) для дня, и более тёмная для ночи. Автоматическая смена темы с заходом солнца (идеально, если это будет работать даже без интернета). Темы простые, с быстрой отрисовкой. Тормоза и лаги мне уже надоели.

7. Пока в планах - забиндить на Fn + пробел цикличное переключение режимов видеокарты (low, middle, high, auto), с отображением текущего режима каким-нибудь всплывающим окошком. Идей нет.

8. Удобный и быстрый ФМ с поиском? (Возможно вместе с п.3).

9. Регулировка звука. (горячие клавиши, отображение текущей громкости в %).

Пока думаю дальше.

Ещё иконки. ACYL - стоит ли использовать? Большой ли набор иконок?

Далее - курсор мыши в gtk/qt один, в awesome другой. В принципе, меня стандартный иксовый (который в awesome) вполне устраивает, как его задать для всех приложений? Отвратительно выглядит смена курсоров на разных приложениях.

Кастую пользователей awesome: tazhate, unlog1c.

★★★★

Чтоб 2 раза не вставать: можно ли забиндить переключение раскладок на Caps Lock?

Можно, но это не задача WM - переключать раскладки, воспользуйся дефолтным способом, добавлением в автозагрузку в самом низу rc.lua:

os.execute("setxkbmap -layout 'us,ru' -variant 'winkeys' -option 'grp:caps_toggle,grp_led:caps' &")

3. Поиск. Хочется поле ввода прямо на рабочем столе.

Осиль Scratchpad, создай по хоткею терминал с приглашением в виде уже готового locate, updatedb можно в крон записать, или тоже самое сделать с find'ом

science ★★☆ ()
Последнее исправление: science (всего исправлений: 3)

часто использую и eth0 и wlan0, работа и дом соответственно; есть ли nm-applet для awesome?

отвыкай от мышки - это неудобно! Автоматизируй подключение и повесь на хоткеи. Всё повесь на хоткеи.

science ★★☆ ()

Много ты обхватить собираешься.
1. Использую wicd и wicd-curses.
2. В старой conscience были логи, но с переходом на systemd естественно перестали работать. Как связать awesome с journalctl пока не знаю.
3. Слишком сложно, проще сделать notification-окно с вводом по хоткею, так сделано в awesompd.
4. orglendar для org-файлов, я к нему прибил гвоздями подгрузку и конвертацию google calendar в орг.
5. Scratchpad, а точнее сейчас Quake. (смотри на вики)
8. Sunrise Commander
9. Есть полно на вики, у меня есть своя реализация, но пока рано выкладывать.

unlog1c ★★★ ()
Последнее исправление: unlog1c (всего исправлений: 2)

есть ли nm-applet для awesome?

nm-applet зачечательно работает и в трее awesome

9. Регулировка звука. (горячие клавиши, отображение текущей громкости в %).

-- Initialize widgets
volbar = awful.widget.progressbar()
-- Progressbar properties
volbar:set_vertical(false):set_ticks(true)
volbar:set_height(15):set_width(30):set_ticks_size(2)
volbar:set_color("#308030")
volbar:set_background_color("#103010")

-- Register widget
vicious.register(volbar,    vicious.widgets.volume,  "$1",  1, "Master")

и

globalkeys = awful.util.table.join(
  
    --User Programs
    awful.key({modkey,		  }, "Up",   function () sexec("amixer -q set Master 5%+ unmute") end),
    awful.key({modkey,		  }, "Down", function () sexec("amixer -q set Master 5%- unmute") end),

...
unfo ★★★★★ ()
Ответ на: комментарий от science

Можно, но это не задача WM - переключать раскладки, воспользуйся дефолтным способом, добавлением в автозагрузку в самом низу rc.lua:

Будет ли в этом случае работать индикатор раскладки на панели? (Я его забыл указать в скетче).

ekzotech ★★★★ ()
Ответ на: комментарий от science

отвыкай от мышки - это неудобно! Автоматизируй подключение и повесь на хоткеи. Всё повесь на хоткеи.

Мне по идее нужно выбирать wi-fi подключение. С eth0 ещё понятно. А вот wi-fi - уже не так просто.

ekzotech ★★★★ ()
Ответ на: комментарий от ekzotech

Будет ли в этом случае работать индикатор раскладки на панели?

Нет - точнее я не в курсе, потому как в данной конфигурации индикатором раскладки является лампочка капслока.

science ★★☆ ()
Ответ на: комментарий от unlog1c

Много ты обхватить собираешься.

Я в курсе =(. Проблема такая - я не могу работать на половинном результате. Если я не смогу реализовать нужное - придётся искать другой вариант. В общем, сначала хочется создать комфортные условия для самой работы, а уже потом можно будет работать.

Логи это не критично, можно на потом отложить. Равно как и TODO, и поиск (первое время можно в терминале поискать). Остальные вещи более весомы, ИМХО.

ekzotech ★★★★ ()
Ответ на: комментарий от unfo

В awesome все глобальные комбинации обязательно должны быть с использованием modkey? А Fn + F11/F12 можно использовать? (Код можно глянуть через xev).

Собственно, интересуюсь и из-за переключалки.

ekzotech ★★★★ ()
Ответ на: комментарий от science

Нет - точнее я не в курсе, потому как в данной конфигурации индикатором раскладки является лампочка капслока.

По сути, весь вопрос в возможности использования клавиш _без_ modkey.

ekzotech ★★★★ ()
Ответ на: комментарий от ekzotech

В awesome все глобальные комбинации обязательно должны быть с использованием modkey?

Нет, можно использовать вообще любые клавиши, в т.ч. и по их сканкодам.

Как сделать переключалку языков ввода science уже указал выше, в awesome wiki есть виджет, который будет показывать выбранный на данный момент язык.

Вообще, 90% вопросов к awesome никакого отношения не имеют по-моему.

klazutin ()
Ответ на: комментарий от klazutin

согласен.. больно много вопросов не имеют отношения никакого к осому..

а гугл че?? на половину точно найдешь ответы и про темы и про ФМ..

TODD ★★ ()
Ответ на: комментарий от ekzotech

Если коротко, установи kbdd, какой-нибудь вот такой виджет:

kbd_dbus_sw_cmd = "dbus-send --dest=ru.gentoo.KbddService /ru/gentoo/KbddService ru.gentoo.kbdd.set_layout uint32:"
kbd_dbus_prev_cmd = "dbus-send --dest=ru.gentoo.KbddService /ru/gentoo/KbddService ru.gentoo.kbdd.prev_layout"
kbd_dbus_next_cmd = "dbus-send --dest=ru.gentoo.KbddService /ru/gentoo/KbddService ru.gentoo.kbdd.next_layout"

kbdmenu =awful.menu({ items = {  { "English", kbd_dbus_sw_cmd .. "0"},
        { "Русский", kbd_dbus_sw_cmd .. "1" },
        }
})

kbdwidget =  widget({ type = "textbox", name = "kdbwidget" })
kbdwidget.align="center"
kbdwidget.text = "<b>Eng</b>"
kbdwidget.bg_align = "center"
kbdwidget.bg_resize = true
awful.widget.layout.margins[kbdwidget] = { left = 0, right = 10 }
kbdwidget:buttons(awful.util.table.join(
        awful.button({ }, 1, function() os.execute(kbd_dbus_prev_cmd) end),
        awful.button({ }, 2, function() os.execute(kbd_dbus_next_cmd) end),
        awful.button({ }, 3, function() kbdmenu:toggle () end)
))


dbus.request_name("session", "ru.gentoo.kbdd")
dbus.add_match("session", "interface='ru.gentoo.kbdd',member='layoutChanged'")
dbus.add_signal("ru.gentoo.kbdd", function(...)
        local data = {...}
        local layout = data[2]
        lts = {[0] = "Eng", [1] = "Ru"}
        kbdwidget.text = "<b>"..lts[layout].."</b>"
        end)
Добавь в автозапуск вышеуказанный вариант с setxkbmap + клавиши для каждой конкретной раскладки, если нужны.

raven_cler ★★ ()
Ответ на: комментарий от raven_cler

Но к чему эти сложности, если пару строк кода позволяют делать почти то же самое? Ну, разве что не могу назначить клавишу без modkey. =(

ekzotech ★★★★ ()
Ответ на: комментарий от TODD

а гугл че?? на половину точно найдешь ответы и про темы и про ФМ..

Я, конечно, не гуру гугла, но найти вменяемые темы сразу для 3 тулкитов как-то не смог. Ну есть oxygen-gtk, но его шибко лёгким не назовёшь, да и по стилю он сильно от awesome отличается.

ФМ формально не относится к awesome, согласен. Поиск, логи и прочее, в том числе nm - я считаю относится, настройка юзабилити и всё такое.

ekzotech ★★★★ ()
Ответ на: комментарий от ekzotech

Дабы был встроенный индикатор раскладок, нет? Комбинация клавиш на Control + Print

awful.key({ "Control" },  "Print", function () awful.util.spawn("some_command") end),
Так же по аналогии любое действие на любые клавиши (используй xmodmap). 5. http://pastebin.com/F2S6MrxH Мой конфиг urxvt, используется с темой zenburn. 6. Это точно к awesome отношения не имеет... 7. Если переключение и отображение текущего режима делается через консоль, то не вижу проблемы. Можно через простой bash-скрипт с обычной проверкой условий + zenity, можно написать и повесить вместо всплывающего окошка виджет. 8. Так же можно посмотреть в сторону spacefm

raven_cler ★★ ()
Ответ на: комментарий от raven_cler

Так, оказалось, что на caps lock повесить можно, вместо модкея просто пустое место оставить.

Но есть следующая проблема (о которой я пока ничего не могу найти): капс лок И переключает раскладку, И работает как обычный капс лок. В итоге на английском у меня маленькие буквы, на русском - большие. =/

ekzotech ★★★★ ()
Ответ на: комментарий от ekzotech
awful.util.spawn_with_shell("xmodmap -e 'remove Lock = Caps_Lock'");

Не помогло.

ekzotech ★★★★ ()
Ответ на: комментарий от ekzotech

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

raven_cler ★★ ()
Ответ на: комментарий от raven_cler

Я сделал как в гентушной вики написано, ну и простой вариант на сайте awesome.

awful.key({  }, "Caps_Lock", function () kbdcfg.switch() end),
ekzotech ★★★★ ()
Ответ на: комментарий от ekzotech

У варианта, описанного в гентушной вики есть и ещё один большой недостаток: при русской раскладке не будут работать горячие клавиши самого WM. Так что пробуйте через kbdd или используйте для индикации какой-нибудь fbxkb/qxkb, висящий в трее.

raven_cler ★★ ()
Ответ на: комментарий от ekzotech

Так, оказалось, что на caps lock повесить можно, вместо модкея просто пустое место оставить.

Я таки не понимаю - вам во втором сообщении science уже сказал, как сделать так, чтобы правильно и хорошо. Зачем продолжать изобретать велосипед и пытаться заставить работать заведомо неверные варианты?

klazutin ()

> Кстати, cast ZenitharChampion, у меня в 12.2 и 12.3 глючит nm, причём странно - кабель втыкаешь - соединение типа есть, но dhcpcd надо вручную забивать в консоли, иначе нет ip и нет инета. Аналогично с wi-fi. Идеи?

Это сбой Systemd. В данный момент я занимаюсь поиском способа отключить его.

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от klazutin

Я таки не понимаю - вам во втором сообщении science уже сказал, как сделать так, чтобы правильно и хорошо. Зачем продолжать изобретать велосипед и пытаться заставить работать заведомо неверные варианты?

Окей. Просто тот вариант был уже в конфиге awesome, только немецкий вместо русского, и не была назначена комбинация на смену раскладки (по щелчку на раскладку мышкой).

Ладно, будем ковыряться дальше.

ekzotech ★★★★ ()

наркоманы, это в иксах делается

vladkuzm@anniesboobs ~ % cat /etc/X11/xorg.conf.d/30-keyboard.conf 
Section "InputClass"
        Identifier "keyboard-all"
        Driver "evdev"
        Option "XkbLayout" "us,ru"
        Option "XkbOptions" "grp:caps_toggle"
        MatchIsKeyboard "on"
EndSection

По всему остальному - это вообще не имеет отношение к awesome wm. На ноутбуке стоит awesome: мс - файловый менеджер(хотя в основном zsh), firefox+vimperator, feh - картинки, qt-transmission, qpdfview,djview4, emacs, mplayer, mpd.

vladkuzm ()
Ответ на: комментарий от ekzotech

Ну так как и у всех, на gentoo у меня был собран qtcurve без кед, и настроена тема через переменную окружения, т.е. использовал qtcurve без установленного kde. Gtk3 не использовался. Если надо обычный фм то как тут и советуют это spacefm, удобный и быстрый. Ищите ответы на свои вопросы без ключевого слова awesome, все это уже обсуждалось со всеми WM'ами.

vladkuzm ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.