Интерактивная система просмотра системных руководств (man-ов)
xxkb (1)
>> xxkb (1) ( Linux man: Команды и прикладные программы пользовательского уровня )
NAME
xxkb - switches and indicates a current keyboard layout.
SYNOPSIS
xxkb
DESCRIPTION
The xxkb program shows the current keyboard layout (an XKB group) and
allows to switch it with a mouse click. It has some additional features.
The xxkb remebers the layout for each application window and changes
the keyboard state accordingly when the window gets a focus. The xxkb
can place an additional button on a window titlebar and that button is a
switcher and an indicator for that separate window. If the keyboard map
has more than two layouts the xxkb can simplify a switching using a
two_state mode. In this mode the xxkb allows to choose two
layouts, one as a base layout and another one as an alternative layout and
then switch the keyboard state between them only. Also the xxkb supports
applications lists which allow to tune its behavior for some separate
applications.
The xxkb works with any window manager.
USAGE
Working as an indicator the xxkb shows a current XKB layout using one of
four pixmaps and changes the pixmap when you change a layout with the keyboard
(using the key or the key combination specified in the config file as an XKB
group switcher) or using any other application which able to change the XKB
group. Also the xxkb shows the similar pixmaps on each application window
titlebar which are indicators for separate windows. Since the global indicator
and the per window indicators duplicates each other you can hide the global
indicator or all per window indicators using configure options.
Also you can use the xxkb as a layout switcher using a mouse button
click on the main xxkb window or one of the per window indicators.
In last case you switch the layout for the chosen application.
MouseButton1
The first button acts as a layout switcher. If the two_state mode
is active the button click switches the current layout between two selected
layouts (XKB groups). Otherwise it selects all posible layouts in cycle.
MouseButton3
When the two_state mode is switched on the third button allows to
choose an alternative layout. It selects all posible layouts in cycle and
the layout you stop on becomes the alternative layout. Without the
two_state mode this button action is the same as the first button
action.
MouseButton2
The second (middle) button action depends on the place where you click.
The click on the main indicator terminates the xxkb. But the click
on one of the per window indicators simply removes the indicator from the
titlebar and excludes that application from a set of managed applications.
Also the second button allows you to add an application into one of three
lists of the applications which should be ignored (see the
Applications lists options below). Clicking on the per window indicator
when the Control key is pressed you add this application to the
wm_class_class list. If the Shift key is pressed the button
click adds the application to the wm_name list. If both keys are pressed
the click adds the application to the wm_class_name list.
In all cases the updated lists will be saved in a per user config file
~/.xxkbrc.
CONFIGURE OPTIONS
The xxkb reads all configure options from two files
app-defaults/XXkb and ~/.xxkbrc.
Common options
XXkb.xpm.path
The directory where the xxkb searches pixmap files.
Main window options
XXkb.mainwindow.enable
switch on the xxkb main window (yes by default). If a per window
button mode switched on some users prefer to hide the main window of the
xxkb.
XXkb.mainwindow.appicon
run xxkb as an animated icon. It is usefull for window managers
which allow 'to dock' applications.
XXkb.mainwindow.in_tray
allow to dock xxkb into a system tray. A value of the option should be
GNOME, KDE or KDE2 in depend on what environment tray you use. (Unfortunately,
such docklets have a size less than a default icons size for an xxkb main
window. If you want to use this option you need another set of icons.)
XXkb.mainwindow.geometry
the geometry ( WIDTHxHEIGHT{+-}X{+-}Y ) of the main window.
XXkb.mainwindow.xpm.1
XXkb.mainwindow.xpm.2
XXkb.mainwindow.xpm.3
XXkb.mainwindow.xpm.4
pixmap file names for each indicated group. If your symbols map has less
than four groups the unused group icons can be ommited. If the file name
begins from '/' it means full path for the file. Otherwise it means the
relative path begining from the XXkb.xpm.path value.
Operation mode options.
Since the xxkb can keep the keyboard state for each application and
restore the state when the focus is changed there are group of options which
controls how the xxkb finds the application windows.
XXkb.controls.add_when_start
If this mode is switched on (default) the xxkb at start time tries
to find all application already run.
XXkb.controls.add_when_create
In this mode the xxkb gets a new application window at time when the
application creates it. It is the base mode but I can't guaranty it works
with all window managers.
XXkb.controls.add_when_change
In this mode the xxkb doesn't catch the windows at their creation
but adds windows to the managed windows list if the keyboard state changes
when the window is focused. It's an additional mode (not recommended) and
may be usefull only if the add_when_create mode for some reason
doesn't work.
XXkb.controls.focusout
It makes the xxkb reset the keyboard group when the focus leaves
the window. The mode makes sense with the add_when_change mode only.
XXkb.button.enable
If this mode is switched on the xxkb adds to a titlebar of each managed
window an additional button which is the indicator and the layout switcher
for that separate window.
XXkb.controls.button_delete
This mode (switched on by default) allows user to remove the per window button
using a mouse middle button click. Although the xxkb tries to ignore
the windows where the keyboard layout switching doesn't make sense, such
windows can still appear. Or there are windows where an user for some reason
doesn't want to have the button.
XXkb.controls.button_delete_and_forget
This mode in addition to previous one makes xxkbto forget the window
which button is deleted. It means the xxkbwill not remeber the keyboard
state changes in this window and restore this state when the window will be
focused.
XXkb.controls.two_state
Swithcing between two chosen keyboard layouts only.
If the XKB symbols map has more than two groups and not all of them are
needed for each application the xxkb allows to skip unneeded layouts
at the layout switching. You can select one group as a base group and anoter
one as an alternative group and then switch between these two groups only.
The base group is common for all applications (usually it contains ASCII)
but the alternative group can be chosen for each application window separately.
In this mode a mouse right button allows to select the alternative group
and a mouse left button as well as the key which configured as the layout
switcher change the current state between two selected layouts only.
This mode uses two additional config options:
XXkb.group.base
the base group (integer 1..4).
XXkb.group.alt
the default alternative group (integer 1..4).
The application window button options.
All these options make sense if the
XXkb.button.enable
switched on. The button which the xxkb attaches to the titlebar is not
an usual window manager button but the window (with a pixmap) owned by
the xxkb itself. It means that in some cases an user need to tune the button
size and the position for the button looks like a window manager button.
XXkb.button.geometry
the button geometry ( WIDTHxHEIGHT{+-}X{+-}Y ).
XXkb.button.gravity
the button gravity. It defines how the button position changes when you resize
the window. It value should be one of
North, NorthEast, NorthWest, South, SouthEast, SouthWest, East, West
or
Center.
The default value is NorthEast.
XXkb.button.xpm.1
XXkb.button.xpm.2
XXkb.button.xpm.3
XXkb.button.xpm.4
the pixmap file names (the same as for the XXkb.mainwindow.xpm.* options).
Bell options.
XXkb.bell.enable
enables the keyboard bell when the layout changes.
XXkb.bell.percent
an argument value for the XBell call.
Applications lists options.
The xxkb allows to specify lists of applications that requires some
special actions. The applications can be specified using their
WM_CLASS or WM_NAME properties.
A common form of such option is
XXkb.app_list.property.action: an applications list
The action here can be one of ignore, start_alt or
alt_groupn.
The ignore action means that the xxkb must ignore the windows of
those applications and doesn't add them to the managed windows set. The
start_alt action means that the xxkb must set the keyboard state
to the alternative layout when the application starts. And the alt_group1,
alt_group2, alt_group3 or alt_group4 actions allow to specify the
alternative layout for some applications if this layout should be different
from the common alternative layout specified in the XXkb.group.alt option.
The property can be one of wm_class_class, wm_class_name or
wm_name.
The xxkb can identify an application using its window properties
WM_CLASS or WM_NAME. The WM_CLASS property actually consists
of two parts - a res_class and a res_name. Thus the property
field specifies what property or part of property should be considered for the
application identification.
By default all these lists are empty. A not empty list is a sequence of words
separated by space/tab. The xxkb accepts an asterisk as a part of word.
Long lists can be continued to the next line using a backslash as the last
char in the line.
For example:
XXkb.app_list.wm_name.ignore: Fvwm* *clock \
Xman
XXkb.ignore.reverse
This option changes a meaning of the Xxkb.*.ignore list. If the option
switched on the ignore list becomes the list of windows which should
be managed but all other should be ignored.