1 (10.09.2012 01:06:01 отредактировано yars)

Доброго времени!
Ищу программу для индикации языка клавиатуры. Без него в трее как-то скучно ab
Пробовал kkbswitch, в свое время был не такой уж плохой вариант, пока не обновил иксы и Qt. Сейчас эта программка собираться не желает - Qt3 почил в бозе, а в иксах некоторые фунции для работы с клавиатурой объявлены устаревшими. Пробовал (g)xneur - та же петрушка с функциями в иксах. Пробовал плагин для Xfce - тот не обновлялся давно, да и мои настройки клавиатуры в иксах перебивает, плюс для него значки покрасивше надо бы... В общем, накидайте ссылок, пожалуйста. Мои поиски результатов не принесли. Заранее спасибо!

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

2

Так есть же свой Хfce'ешный, чем не нравиться?
Можно из conky сделать рецепт

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

3 (10.09.2012 10:33:17 отредактировано yars)

Да я ж говорю - он перебивает настройки клавиатуры и вид у него не особо симпатичный. А из conky сделать - сделаю, пока что думаю, это то, что нужно.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

4

yars пишет:

Да я ж говорю - он перебивает настройки клавиатуры

Так поставьте такие же настройки bx
У меня он просто показал настройки, установленные в /etc/X11/xorg.conf, я их и не трогал.

Был, был и весь вышел...

5

Глянул
«Настройки» → «Клавиатура» → «Раскладка» → ☑ Использовать стандартные системные параметры

Был, был и весь вышел...

6

Пробовал (g)xneur - та же петрушка с функциями в иксах.

А какие проблемы с gxneur ? Единственно в нем нужно выключить автодополнение и самообучение и обнулить соответствующие файлы в хомяке. Ну и при запуске gxneur приходится перезапускать сам демон xneur из контекстного меню gxneur. Не совсем удобно, но автоматом прибивать  и перезапускать через скрипт работает непонятно почему через пень колоду.

7

SergMarkov пишет:

А какие проблемы с gxneur ?

Да не собирается он. Вышли новые иксы, в них есть одна функция, для работы с клавой, ее переделали. А та, что была в старых иксах, объявлена устаревшей. Можно, конечно, Makefile'ы поправить, чтобы функции "deprecated" не мешали сборке, но я так не умею пока что.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

8

yars пишет:

Да не собирается он.

Даже из гит, или в какой он там ?

9

Да. И сайте как была год назад врсия 0.15.0, так и висит. Похоже, проект ушел в спячку.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

10 (10.09.2012 16:54:39 отредактировано SergMarkov)

yars пишет:

Да. И сайте как была год назад врсия 0.15.0, так и висит. Похоже, проект ушел в спячку.

Ну я допустим только что собрал в rc3 из меркуриал, собираться то собирается, но при запуске выдает донельзя интересное
(gxneur:10824): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
Наверное это надо сделать
  --without-appindicator    Compile without AppIndicator library support
но уже лень заново перезагружаться в rc3 ☺ Впрочем при переходе с 12.2 на 13.1 просто тупо залепил старый пакет и все работало, может так прокатит и сейчас.
Но больше волнует сам по себе xneur, а он и собирается и работает.

11 (10.09.2012 17:00:19 отредактировано yars)

SergMarkov пишет:

Но больше волнует сам по себе xneur, а он и собирается и работает.

Ну, в ближайшее время попробую. Сейчас я не дома, тут у меня 13.37 на виртуалке, а в 13.37 все как раз нормально. Это под RC4 у меня что-то не собирается xneur.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

12

Ну, как и обещал:

+ открыть спойлер
#!/bin/sh

PRGNAM=xneur
VERSION=${VERSION:-0.15.0}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_yars}
CWD=$(pwd)
PKG=$CWD/package-$PRGNAM-$VERSION
OUTPUT=${OUTPUT:-$PRGNAM-$VERSION-$ARCH-$BUILD$TAG}
NUMJOBS=" -j3 "

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O3 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O3 -march=i686 -mtune=i686"
fi

set -e

rm -rfv $PKG
mkdir -pv $PKG

rm -Rf $PRGNAM-$VERSION 
tar -xvf $PRGNAM-$VERSION.tar.bz2

cd $PRGNAM-$VERSION
chown -Rv root:root .
chmod -Rv u+w,go+r-w .

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--with-spell=no \
--without-xosd \
--mandir=/usr/man \
--with-x \
--with-gtk \
--build=$ARCH-slackware-linux

make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG

mkdir -pv $PKG/usr/doc/$PRGNAM-$VERSION
cp -av AUTHORS ABOUT-NLS ChangeLog COPYING INSTALL NEWS README TODO \
    $PKG/usr/doc/$PRGNAM-$VERSION 2>/dev/null || true

cat $CWD/$PRGNAM-$VERSION.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM-$VERSION.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

( cd $PKG/usr/man; find . -type f -exec gzip -9 {} \; )

cd $PKG
makepkg -l y -c n $CWD/$OUTPUT.txz

Собираю:

+ открыть спойлер
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -I../../lib/config -I../../lib/misc -I../../lib/notify -I../../lib/ai -I../../lib/lib -I../../lib/rec -Wall -Wextra -Werror -g0 -std=gnu99 -fPIC -DXNEUR_PLUGIN_DIR=\"/usr/lib/xneur\" -O3 -march=i486 -mtune=i686 -MT libxnmain_la-event.lo -MD -MP -MF .deps/libxnmain_la-event.Tpo -c event.c  -fPIC -DPIC -o .libs/libxnmain_la-event.o
event.c: In function 'event_get_cur_keysym':
event.c:144:2: error: 'XKeycodeToKeysym' is deprecated (declared at /usr/include/X11/Xlib.h:1695) [-Werror=deprecated-declarations]
cc1: all warnings being treated as errors
make[3]: *** [libxnmain_la-event.lo] Ошибка 1
make[3]: *** Ожидание завершения заданий...
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -I../../lib/config -I../../lib/misc -I../../lib/notify -I../../lib/ai -I../../lib/lib -I../../lib/rec -Wall -Wextra -Werror -g0 -std=gnu99 -fPIC -DXNEUR_PLUGIN_DIR=\"/usr/lib/xneur\" -O3 -march=i486 -mtune=i686 -MT libxnmain_la-bind_table.lo -MD -MP -MF .deps/libxnmain_la-bind_table.Tpo -c bind_table.c -o libxnmain_la-bind_table.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -I../../lib/config -I../../lib/misc -I../../lib/notify -I../../lib/ai -I../../lib/lib -I../../lib/rec -Wall -Wextra -Werror -g0 -std=gnu99 -fPIC -DXNEUR_PLUGIN_DIR=\"/usr/lib/xneur\" -O3 -march=i486 -mtune=i686 -MT libxnmain_la-buffer.lo -MD -MP -MF .deps/libxnmain_la-buffer.Tpo -c buffer.c -o libxnmain_la-buffer.o >/dev/null 2>&1
mv -f .deps/libxnmain_la-bind_table.Tpo .deps/libxnmain_la-bind_table.Plo
mv -f .deps/libxnmain_la-buffer.Tpo .deps/libxnmain_la-buffer.Plo
make[3]: Выход из каталога `/tmp/xneur/xneur-0.15.0/lib/main'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Выход из каталога `/tmp/xneur/xneur-0.15.0/lib'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Выход из каталога `/tmp/xneur/xneur-0.15.0'
make: *** [all] Ошибка 2
make  all-recursive
make[1]: Вход в каталог `/tmp/xneur/xneur-0.15.0'
Making all in lib
make[2]: Вход в каталог `/tmp/xneur/xneur-0.15.0/lib'
Making all in notify
make[3]: Вход в каталог `/tmp/xneur/xneur-0.15.0/lib/notify'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Выход из каталога `/tmp/xneur/xneur-0.15.0/lib/notify'
Making all in misc
make[3]: Вход в каталог `/tmp/xneur/xneur-0.15.0/lib/misc'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Выход из каталога `/tmp/xneur/xneur-0.15.0/lib/misc'
Making all in main
make[3]: Вход в каталог `/tmp/xneur/xneur-0.15.0/lib/main'
/bin/sh ../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../..    -I../../lib/config -I../../lib/misc  -I../../lib/notify -I../../lib/ai -I../../lib/lib -I../../lib/rec   -Wall -Wextra -Werror -g0 -std=gnu99 -fPIC -DXNEUR_PLUGIN_DIR=\""/usr/lib/xneur"\" -O3 -march=i486 -mtune=i686 -MT libxnmain_la-event.lo -MD -MP -MF .deps/libxnmain_la-event.Tpo -c -o libxnmain_la-event.lo `test -f 'event.c' || echo './'`event.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -I../../lib/config -I../../lib/misc -I../../lib/notify -I../../lib/ai -I../../lib/lib -I../../lib/rec -Wall -Wextra -Werror -g0 -std=gnu99 -fPIC -DXNEUR_PLUGIN_DIR=\"/usr/lib/xneur\" -O3 -march=i486 -mtune=i686 -MT libxnmain_la-event.lo -MD -MP -MF .deps/libxnmain_la-event.Tpo -c event.c  -fPIC -DPIC -o .libs/libxnmain_la-event.o
event.c: In function 'event_get_cur_keysym':
event.c:144:2: error: 'XKeycodeToKeysym' is deprecated (declared at /usr/include/X11/Xlib.h:1695) [-Werror=deprecated-declarations]
cc1: all warnings being treated as errors
make[3]: *** [libxnmain_la-event.lo] Ошибка 1
make[3]: Выход из каталога `/tmp/xneur/xneur-0.15.0/lib/main'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Выход из каталога `/tmp/xneur/xneur-0.15.0/lib'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Выход из каталога `/tmp/xneur/xneur-0.15.0'
make: *** [all] Ошибка 2

Вот кусок Xlib.h:

_X_DEPRECATED
extern KeySym XKeycodeToKeysym(
    Display*        /* display */,
#if NeedWidePrototypes
    unsigned int    /* keycode */,
#else
    KeyCode        /* keycode */,
#endif
    int            /* index */
Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

13

Вариантов немного:
1) собирать без -Werror=deprecated-declarations;
2) менять вызовы XKeycodeToKeysym() на XkbKeycodeToKeysym(), списки параметров не полностью идентичны, за последний параметр сгодится 0.

14

Попробуйте из меркуриал, у меня собирается на куррент

15

Спасибо вам обоим ab
Разработчики таки исправились, будем ждать новые версии. Все прекрасно собирается теперь.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

16

О, кстати. наткнулся еще на такой велосипед ab Ну, блин, ваще! (с)

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

17

Lupo Alberto пишет:

«Настройки» → «Клавиатура» → «Раскладка» → ☑ Использовать стандартные системные параметры

Там не хватает галочек "Показывать индикатор > Показывать в виде флагов стран" и "Показывать индикатор > в виде текста".
А xfce4-xkb-plugin страдает тем. что все опции, кроме первой "grp:" в конфиге иксов игнорируются. В текущей версии пока что это не исправили. Интерфейс... да черт с ним, хоть и не очень, мягко говоря, но жить можно, если б не беда с конфигом. Сделал на основе другого плагина, писал про него уже где-то. Сейчас найду, продублирую и здесь.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

18

zenon пишет:

Можно из conky сделать

Да, я уже довольно давно это сделал, но только сейчас дошли руки до написания этого поста здесь. Наконец-то ab
Несложно:
1. Нам потребуется xfce4-genmon-plugin
Тут можно выбирать на свой вкус и цвет, я выбрал этот плагин. Кроме него, нам потребуется, согласно рецепту, исходник skb и значки, а еще - вспомогательный скриптик:

#!/bin/bash

# xfce4-genmon-plugin-3.4. 
# This script is a keyboard layout helper, depends on skb.
# You should download, build and install skb from http://plhk.ru
# before running this script.
# Written by yars <yars068@yandex.ru>
#

case `skb -i` in
"Eng") 
    echo "<img>"/usr/share/skb-0.4/icons/us.png"</img>";;
"Rus")
    echo "<img>"/usr/share/skb-0.4/icons/ru.png"</img>";;
esac

2. Собираем-ставим пакеты плагина и skb, кто не справился, пусть берет готовенькое, на здоровье. В соответствии с принципами Slackware - "один пакет - одна программа", я решил разделить свой индикатор клавиатуры на два пакета - раз и два, но никто вам не мешает затолкать все в один пакет.
3. Выполняем нехитрую настройку - клацаем ПКМ на Панели, выбираем Панель > Добавить новые элементы, в появившемся окне выбираем Общий монитор (так нарекли переводчики xfce4-genmon-plugin), клацаем ОК. Далее, перемещаем будущий индикатор в удобное место на Панели и открываем диалог его настроек: ПКМ на его пока еще пустом значке > Свойства:
http://img-fotki.yandex.ru/get/6621/101178927.0/0_8f40e_1d539ee3_M.jpg
В поле "Команда" вписываем путь к нашему скриптику - я собрал плагин так, что путь этот - /usr/share/xfce4-genmon-plugin/helpers/kbdhelper, - а в поле "Период (с)" - число секунд - 1 (одна). Все ab

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

19

yars пишет:

Спасибо вам обоим ab
Разработчики таки исправились, будем ждать новые версии. Все прекрасно собирается теперь.

Вышла новая версия, 16, где как раз на новых xlib

20

yars
А http://ru.wikipedia.org/wiki/Fbxkb ? Уменя как-то давно работает весто штатного модуля.  (правда в е17). Не пойдёт?

21

yars
Как-то так:
http://storage6.static.itmages.ru/i/12/1027/s_1351343870_4613697_d357a4d356.png

22

mvt пишет:

Как-то так:

А у меня вот:
http://img-fotki.yandex.ru/get/6519/101178927.0/0_8ffc6_ee73d76e_M.jpg

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

23

yars пишет:

А у меня вот:
http://img-fotki.yandex.ru/get/6519/101178927.0/0_8ffc6_ee73d76e_M.jpg

И что не нравится? Нормально, по-моему, не?

24

Вполне устраивает ab Скоро версия 1.0 выйдет, я с SVN вытащил исходник...

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

25 (27.10.2012 22:52:17 отредактировано mvt)

yars
Да по мне - чтобы язык показывал, и жрал поменьше. Остальные функции - да как-то и сам справлюсь. Нет? ab
PS А в е17 модуль как-то недопилен. Помните KDE 3.х? Вот-вот... Вот и пользуюсь...

26

yars пишет:

В общем, накидайте ссылок, пожалуйста. Мои поиски результатов не принесли. Заранее спасибо!

Если стоит QT - Qxkb есть ещё. Правда, для индикации через setxkbmap(и для установки через неё же). Пакет под x86_64 можно найти тут: http://ponce.cc/slackware/
Насчёт 386 не уверен.
Вполне хорошая штуковина.

Если бы люди умели пользоваться vim, find, sed и awk  то миллионы программных продуктов так никогда и не были бы созданы