DMenu

Revision as of 19:10, 27 September 2017 by imported>Stagiros (→‎Solution)



Overview

Sometimes for no apparent reason users face the following dmenu problem:
A. When calling dmenu from a key binding in their environment dmenu comes up but when they continue to select anything in dmenu, it disappears from the screen and does not execute anything.

B. Trying to start dmenu from the terminal, the error

"warning: no locale support"

appears.


Solution

Assuming that you have correctly set up your system's LOCALE settings, here is a simple solution to this problem:

Edit file /usr/bin/dmenu_run

sudo nano /usr/bin/dmenu_run

Add a line setting your LANG variable tou your actual language locale:

LANG="en_GB.UTF-8"

and save.

!!! If you have used the MHWD utility to configure your graphics card, then there will be a file 90-mhwd.conf. For the changes you have made in file 20-keyboard.conf to work, you have to edit this file and comment out the line with the XkbOptions, in section InputClass, as below:

Section "InputClass"
	Identifier          "Keyboard Defaults"
	MatchIsKeyboard	    "yes"
	#Option              "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection


Install & configure graphical language switcher (xxkb)

Install program xxkb

sudo pacman -S xxkb


Create folder in /home/jimmy/.config that will hold the language flag images used by the xxkb switcher

sudo mkdir /home/jimmy/.config/xxkb


Go to any site providing free images of country flags and download the flag images for United Kingdom and Greece.


Resize the flag images you downloaded to 20x20 pixels and convert them to be of type xpm.


Rename the flag images to gb.xpm and gr.xpm for United Kingdom and Greece respectively.


Copy the flag images into the folder /home/jimmy/.config/xxkb that you have previously created.


Create configuration file for xxkb in user's home folder.

sudo nano /home/jimmy/.xxkbrc

Edit it to read

XXkb.image.path: /home/jimmy/.config/xxkb

XXkb.group.base: 1
XXkb.group.alt: 2


XXkb.mainwindow.type: tray
XXkb.mainwindow.enable: yes
XXkb.mainwindow.appicon: yes
XXkb.mainwindow.border.width: 1
XXkb.mainwindow.label.enable: no
XXkb.mainwindow.border.color: white
XXkb.mainwindow.geometry: 20x20+0+0
XXkb.mainwindow.image.1: gb.xpm
XXkb.mainwindow.image.2: gr.xpm
XXkb.mainwindow.image.3: 
XXkb.mainwindow.image.4: 
XXkb.mainwindow._delete: no

XXkb.button.enable: no

XXkb.controls.focusout: no
XXkb.controls.two_state: no
XXkb.controls.add_when_start: yes
XXkb.controls.add_when_create: yes
XXkb.controls.add_when_change: no

and save.


Make xxkb autostart when openbox starts

Edit openbox's autostart configuration file

sudo nano /home/jimmy/.config/openbox/autostart

In section ##Startup, after the last line, add the line

(sleep 1s && xxkb) &

and save.


Reboot the operating system

sudo reboot