bionic (1) xxkb.1.gz

Provided by: xxkb_1.11-2.1ubuntu2_amd64 bug

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 remembers 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 title bar 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 title bar 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 possible
           layouts in cycle.

       MouseButton3
           When the two_state mode is switched on the third button allows to choose an  alternative  layout.  It
           selects  all  possible  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 title bar 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 useful for window managers which allow 'to dock' applications.

       XXkb.mainwindow.in_tray
           allow to dock xxkb into a system tray. A value is either true or false.

       XXkb.mainwindow.geometry
           the  geometry  (  WIDTHxHEIGHT{+-}XOFF{+-}YOFF  )  of  the  main  window.  Please  read  the GEOMETRY
           SPECIFICATIONS section of X(7) for details.

       XXkb.mainwindow.border.color
           color to be used when drawing window border.

       XXkb.mainwindow.border.width
           border width in pixels.

       XXkb.mainwindow.image.N
           pixmap file names for each indicated group N. If your symbols map  has  less  than  four  groups  the
           unused  group icons can be omitted. If the file name begins from '/' it means full path for the file.
           Otherwise it means the relative path beginning from the XXkb.xpm.path value.

       XXkb.mainwindow.label.enable
           enable labels to be printed instead of images. Group descriptions will be used if not overwritten  by
           XXkb.mainwindow.label.text.N (where N is 1..4, group number) options.

       XXkb.mainwindow.label.text.N
           label for the specified group N.

       XXkb.mainwindow.label.background

       XXkb.mainwindow.label.foreground
           colors used to draw background and label text respectively.

       XXkb.mainwindow.label.font
           font to be used when drawing labels.

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 useful 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.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 xxkb to forget the window which button  is  deleted.   It
           means  the  xxkb  will  not remember the keyboard state changes in this window and restore this state
           when the window will be focused.

       XXkb.controls.two_state
           Switching 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 another 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.

       XXkb.button.enable
           If  turned  on, the xxkb adds an additional button to a title bar of each managed window which is the
           indicator and the layout switcher for that particular window.  These buttons  are  not  usual  window
           manager  buttons  but windows (with a pixmap) owned by the xxkb itself. It means that in some cases a
           user needs to tune the button size and the position  for  the  button  look  like  a  window  manager
           decoration element.

       XXkb.button.geometry
           the button geometry ( WIDTHxHEIGHT{+-}XOFF{+-}YOFF ).

       XXkb.button.image.N
           the pixmap file names (the same as for the XXkb.mainwindow.xpm.* options).

       XXkb.button.label.enable

       XXkb.button.label.text.N

       XXkb.button.label.background

       XXkb.button.label.foreground

       XXkb.button.label.font

       XXkb.button.border.color

       XXkb.button.border.width
           see description of their main window counterparts.

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 .br

                                       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.

AUTHOR

       Ivan Pascal