Hi, everybody.
I have used Fvvm 2.6.8 for many years. I use Linux Mint with Fvwm installed. I have a layout for 3 languages, and the icon of each language is in the standalone tray. I have had a problem for 3 months —the layout is suddenly disappearing, and there is only a single language. To return the layouts, I have to physically disconnect my USB mouse and connect it once again. Sometimes, the icon in the tray disappears, too. There is no info in xsession-errors and Fvwm terminal. How can I catch the origin of the problem?
Thanks in advance,
Nail
This doesn’t sound like an fvwm problem. The ‘stalonetray’ is just a system tray that shows what third party apps maybe running. If this third party app is no longer showing the same options, look into the actual application and try to figure out what it is doing.
In Fvwm3, I am running this at start. It adds the keyboard language icon in stalonetray . This app works fine.
Exec gxkb
I understand. But gxkb is the standard daemon of layout in Debian. It works fine on three of my computers without Fvwm. And I really do not understand where is the root of the problem. There are no errors in any log files. I do not understand where I have to look on.
I use Fvwm2. It works fine on three of my computers without Fvwm.
Anyways, this really isn’t the place to get support for this. If something works in other DEs/WMs, but isn’t working in fvwm on the same machine, the issue might be with the environment or some XDG autostart script that fvwm won’t start by default. So you should look into what other DEs/WMs that work are starting or their environment, and configure fvwm to match that.
I tested on Fvwm 2.7.0 and gxkb works fine.
~/.config/gxkb/gxkb.cfg
[xkb config]
group_policy=2
default_group=0
never_modify_config=false
model=pc105
layouts=us,fi,se
variants=,
toggle_option=grp:rctrl_rshift_toggle,terminate:ctrl_alt_bksp,grp_led:scroll
compose_key_position=
Hi amlug,
in the configuration of keyboard, I set Generic 104-key PC with L-shaped Enter key
. The keyboard is abnt2 which is suitable for Portuguese. My config is
[xkb config]
group_policy=3
default_group=0
never_modify_config=false
model=abnt2
layouts=us,ru,pt
variants=winkeys,,
toggle_option=grp:alt_shift_toggle,grp_led:scrollXDG,terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,ctrl:aa_ctrl,grp:alt_shift_toggle
compose_key_position=
I solved the problem. The terminal commands, setxkbmap -layout us, setxkbmap -layout ru, setxkbmap -layout br are worked but they kill possibility of choose language by shift+alt, it then does not work. I made functional keys for different languages and in principle, it is enough. But terrible that command copy as ctr-c does not work if ru is the language. Solution was strange for me. I started setting by dconf-editor and set by hand org.gnome.desktop.input-sources sources [('xkb', 'us'), ('xkb', 'ru'), ('xkb', 'br')]
and org.gnome.desktop.input-sources xkb-options ['grp:alt_shift_toggle', 'grp_led:scrollXDG']
Then I installed xkb-switch https://github.com/sergei-mironov/xkb-switch and change the functional keys F9, F10, F10 to xkb-switch -s us, xkb-switch -s ru, xkb-switch -s br. Now, it works well, the shift+alt and functional keys, too.
Hi! I have a related question about keyboard layouts and fvwm.
I’m trying to set up my user-specific keyboard layout. I can do it with setxkbmap + xmodmap in .xsession. The problem appears if the keyboard is unplugged and plugged back: evdev restores system keyboard loosing all my custom keycodes.
I need some way to catch the keyboard change in my user configuration and run my xmodmap. As I understand, fvwm can detect monitor change and do some actions. Can it do the same with keyboards?
This is not something that fvwm can do. You could use something like ibus, and on linux udev to trigger when you plugin in usb keyboards. But this is beyond what fvwm (a window manager) should be doing.
Thanks for the answer! I was thinking about udev, but it requires modification of system-wide configuration for a specific user - should be possible, but does not look like a right way. On a single-user computer I would rather set the system layout to what I need
Finally solved my problem with inotify:
#!/bin/sh
while true; do
inotifywait -q -e create /dev/input/by-id || continue
~/etc/kbd_set
sleep 1
done
where ~/etc/kbd_set
is the script with my xmodmaps and both scripts are started from .xsession