top
logo


Индикатор раскладки клавиатуры xxkb в IceWM Thinstation PDF Печать E-mail
20.06.12 10:15

При использовании в Thinstation оконного менеджера IceWM для полного счастья не хватает индикатора раскладки клавиатуры. Рассмотрим вариант устранения этого недостатка на примере TS-5.1 с помощью программы xxkb, которая является дополнением к "клавиатурному модулю" XKB, то есть, в отличии от других подобных программ, сама не загружает никакие раскладки и не манипулирует ими. Она только отображает состояние XKB и меняет это состояние "штатными средствами" XKB.

Thinstation 5 построена на базе дистрибутива CRUX, поэтому сразу находим в гугле несколько ссылок на порты под эту систему и используем один из них для компиляции xxkb для нашей сборки.

Нам понадобится 3 файла:

  • Архив xxkb с сайта разработчика.
  • Файл Pkgfile следующего содержания:
    01.name=xxkb
    02.version=1.10
    03.release=2
    04.source=(/ts/ports/static-source/xxkb/xxkb-1.10.tgz \
    05.1474055_fix.patch)
    06.build() {
    07.cd $name-$version
    08.patch -p1 -i $SRC/1474055_fix.patch
    09.xmkmf
    10.make BASEDIR=/usr
    11.make install BASEDIR=/usr DESTDIR=$PKG
    12.rm -rf $PKG/usr/X11R6
    13.}
  • Патч 1474055_fix.patch:

    01.diff -pruN xxkb-1.10.orig/resource.c xxkb-1.10/resource.c
    02.--- xxkb-1.10.orig/resource.c    2006-05-02 12:50:21.000000000 +0300
    03.+++ xxkb-1.10/resource.c    2006-05-02 12:51:49.000000000 +0300
    04.@@ -4,6 +4,7 @@
    05.#include <string.h>
    06.#include <stdlib.h>
    07.#include <ctype.h>
    08.+#include <stdio.h>
    09.#include "wlist.h"
    10.#include "xxkb.h"
    11.@@ -383,7 +384,6 @@ XImage **pixmap;
    12.case XpmNoMemory:
    13.printf("No memory for open xpm file: %s\n", name);
    14.break;
    15.-  default:
    16.}
    17.}

Создаём в папке thinstation/ts/ports/static-source папку xxkb и кладем туда эти файлы. Далее запускаем chroot окружение, переходим в нашу папку и запускаем сборку пакета:

./setup-croot
cd /ts/ports/static-source/xxkb
pkgmk

После всех этих манипуляций получаем пакет xxkb#1.10-2.pkg.tar.gz

Для добавления индикатора в IceWM весь он нам не нужен и отдельный пакет xxkb для Thinstation делать тоже не будем. Вместо этого копируем из архива папки bin и lib в пакет IceWM, находящийся в папке конструктора thinstation/ts/5.1/packages/icewm, из папки share копируем папку с картинками xxkb в папку thinstation/ts/5.1/packages/icewm/lib.

Вносим свои изменения для корректного отображения индикатора в трее:

  • Меняем с помощью графического редактора размер изображений **48.xpm в папке thinstation/ts/5.1/packages/icewm/lib/xxkb на 25х25 пикселей (значки при желании можно поменять на свои).
  • В файле thinstation/ts/5.1/packages/icewm/lib/X11/app-defaults/XXkb изменяем имеющиеся параметры на следующие (если есть перед исправляемой строкой знак "!" - убираем его ):
    1.XXkb.xpm.path: /lib/xxkb
    2............
    3.XXkb.mainwindow.geometry: 25x25
    4............
    5.XXkb.mainwindow.in_tray: KDE2

И напоследок добавляем запуск программы в файл  thinstation/ts/5.1/packages/icewm/bin/icewm_startup, дописав после строки
x_auth_file
строку
/bin/xxkb

Ну и всё...

Собираем свой загрузочный образ Thinstation с русской локалью, параметром XKBOP­TI­ONS="grp:ctrl_shift_togg­le,grp_led:scroll" в файле thinstation.conf.buildtime и радуемся переключателю клавиатуры:

 

Если у Вас так не получилось - ниже доступны готовые файлы. Распакуйте архив в папку thinstation/ts/5.1/packages и пропишите строку в icewm_startup.


 

источник: http://thinstation.pro

ссылка на материал: http://thin.kiev.ua/desktop/43-os/626-xxkb-icewm-thinstation-.html

{jcomments on}

Последнее обновление 20.06.12 10:25
 
Интересная статья? Поделись ей с другими:

bottom

 

Unreal Commander PfSense по русски Яндекс.Метрика