Open loredan opened 8 years ago
В одной из последних версий я убрал работу если. EWMH не поддерживается, но мне казалось, что я уже вернул поддержку и Awesome поддерживает этот стандарт. Я перепроверить и попробую выпустить новую версию, но где-то в середине следующей недели.
Awesome поддерживает EWMH, и если запускать вручную из терминала, то все нормально. Проблема только при загрузке системы. Может быть так что _NET_ACTIVE_WINDOW выдает пустой prop_return если ни одного окна в фокус еще не входило?
Подниму старую тему, ибо столкнулся.
$ uname -a Linux Terraniux 4.14.3-1-ARCH #1 SMP PREEMPT Thu Nov 30 18:33:13 UTC 2017 x86_64 GNU/Linux
$ awesome --version awesome v4.2 (Human after all) • Compiled against Lua 5.3.4 (running with Lua 5.3) • D-Bus support: ✔ • execinfo support: ✔ • xcb-randr version: 1.5 • LGI version: 0.9.2
$ kbdd -v kbdd 0.7.1, see -h/--help for brief info
Где то с год назад начались проблемы.
kbdd запускается при старте Awesome, но не работает. Запускаю два терминала, переключаю в одном из них раскладку на русский, тыкаю в другой - включается английский. Тыкаю обратно - все еще английский. Делаю killall kbdd && kbdd - все работает. До перезапуска awesome.
Добавил в конфиг запуск без демона (xterm -e kbdd -n), увидел при запуске вот это: :main Connecting to the Session D-Bus. :main Regiresting the well-known name (ru.gentoo.KbddService) :main RequestName returned (null). :main Creating one MKbddService Object :main Registering project to D-Bus. Ready to serve requests EWMH is not supported: switching to generic Initializing generic event listeners
Естественно, глючит как обычно. Затем перезапустил kbdd, не перезапуская окошки. Вывод поменялся в одной строке, касаемой EWMH: :main Connecting to the Session D-Bus. :main Regiresting the well-known name (ru.gentoo.KbddService) :main RequestName returned (null). :main Creating one MKbddService Object :main Registering project to D-Bus. Ready to serve requests EWMH is supported Initializing EWHM event listeners
И все заработало.
Что такого происходит при старте Awesome? И как определить момент времени, когда "уже можно" запускать kbdd? Потому что. если выкинуть его из автозапуска через конфиг и запускать руками, то все работает.
I have this same issue (based on google translate). Indeed, after logging in, kbdd can find EWMH support only after some window has been opened. I used a similar workaround as in the original post. Is there any better way to fix this instead of re-trying every second whether it'd work now?
Я использую Archlinux с Awesome WM, и по какой-то причине kbdd не запускается при загрузке системы, ни когда я пытаюсь запустить его через systemd, ни через конфигурацию awesome. В первом случае он вообще падает, а во втором он пишет что "EWMH is not supported" и вместо того чтобы сохранять раскладки, при смене окон всегда переключает на английский (потому что он первый в списке?)
Я нашел обход проблемы, который выглядит так:
Вкратце, он просто запускает kbdd раз в секунду, пока тот не заработает нормально. Насколько я понял, это происходит примерно тогда когда какое-нибудь окно входит в фокус