Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: подпись на ивент change keyboard layout  (Прочитано 491 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ilyuha21st

  • Автор темы
  • Любитель
  • *
  • Сообщений: 65
    • Просмотр профиля
подпись на ивент change keyboard layout
« : 15 Сентября 2014, 13:26:03 »
Добрый день, если ли возможность подписаться на ивент когда меняется раскладка клавиатуры? Что-то пересобирать gnome-session-daemon не очень хочется...

Оффлайн .ubuntufan

  • Активист
  • *
  • Сообщений: 638
    • Просмотр профиля
Re: подпись на ивент change keyboard layout
« Ответ #1 : 15 Сентября 2014, 21:45:21 »
Можно следить за сменой параметра dconf:

dconf watch /org/gnome/desktop/input-sources/current

Или обрабатывать сигналы DBus, туда выплевывается эвент о смене раскладки:

signal sender=:1.38 -> dest=(null destination) serial=58 path=/com/canonical/indicator/keyboard; interface=org.gtk.Actions; member=Changed
   array [
   ]
   array [
   ]
   array [
      dict entry(
         string "indicator"
         variant             array [
               dict entry(
                  string "visible"
                  variant                      boolean true
               )
               dict entry(
                  string "accessible-desc"
                  variant                      string "Источник ввода Русская"
               )
               dict entry(
                  string "icon"
                  variant                      struct {
                        string "bytes"
                        variant                            array of bytes [
                              89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52
                              00 00 00 16 00 00 00 16 08 06 00 00 00 c4 b4 6c
                              3b 00 00 00 06 62 4b 47 44 00 ff 00 ff 00 ff a0
                              bd a7 93 00 00 01 38 49 44 41 54 38 8d d5 d4 3d
                              4b 63 41 18 c5 f1 df bd b1 c9 2a 22 61 2d 45 d4
                              46 03 ba 28 58 fa 05 64 3b 5b 41 b0 b2 b1 d7 6e
                              48 6b e3 0b d8 5a 5b 6c eb 27 b0 11 0b b7 31 d8
                              68 e1 1a 2b 49 1b 44 c9 b5 c8 8d 5c 24 46 13 13
                              61 4f 33 f3 3c 3c f3 e7 70 98 19 fa a4 08 42 08
                              bf b1 8f 89 2f f2 6e b0 19 42 38 89 d3 c6 61 0f
                              a0 30 99 b2 34 c1 63 3d 80 36 35 9e 05 f7 5c df
                              0a 9e 42 2e 9f cf 0f e7 72 b9 69 6c e3 b1 53 f0
                              40 8b de 3d ce 6a b5 da 0c ae b1 86 67 ec 74 02
                              6e 17 c5 20 e6 b0 8a d3 b4 77 17 42 88 32 33 7f
                              31 da 29 18 2e e3 38 3e c6 c2 27 8d be aa 55 14
                              42 08 8b 99 fd ba 0e 63 68 07 3e d7 70 b9 84 9f
                              f8 f1 66 24 91 be da f7 d4 2e 8a 18 07 85 42 61
                              0f 57 69 6f 24 5d 1f 3e 30 fc 61 c6 0b d5 6a 75
                              25 8a a2 90 d6 43 a5 52 69 1e bb 1a 57 b0 d6 2d
                              18 b6 92 24 f9 83 5b a8 d7 eb 47 38 29 16 8b 83
                              58 8e a2 68 be d5 a1 56 19 bf 75 31 8b a7 4c fd
                              0b 17 e5 72 19 24 49 d2 b5 e3 ae f4 ff 82 2b 3d
                              64 fe cb 82 37 34 3e 9f af aa 92 b2 fa a7 17 dd
                              16 42 3e ef 42 b0 32 00 00 00 00 49 45 4e 44 ae
                              42 60 82
                           ]
                     }
               )
            ]
      )
      dict entry(
         string "active"
         variant             uint32 1
      )
      dict entry(
         string "current"
         variant             uint32 1
      )
   ]
   array [
   ]


http://askubuntu.com/questions/150790/how-do-i-run-a-script-on-a-dbus-signal
« Последнее редактирование: 15 Сентября 2014, 21:52:10 от .ubuntufan »

 

Страница сгенерирована за 0.016 секунд. Запросов: 22.