conformal / spectrwm

A small dynamic tiling window manager for X11.
ISC License
1.33k stars 97 forks source link

spectrwm doesn't start with special setxkbmap settings in .xinitrc #21

Closed drm00 closed 10 years ago

drm00 commented 10 years ago

EDIT i also tried with cwm and dwm; they work

hi,

i'm using spectrwm 2.3 on openbsd-current (snapshot from nov. 3rd). spectrwm gets started by startx, thus reading my .xinitrc. That usually works fine, until i change my keyboard settings to the german neo-variant in .xinitrc before starting spectrwm:

in .xinitrc:
setxkbmap -layout de -variant neo
exec /usr/local/bin/spectrwm

It fails every time i call it with neo, even if its just the second layout like here:

in .xinitrc:
setxkbmap -layout de,de -variant neo,basic -option -option grp:sclk_toggle
exec /usr/local/bin/spectrwm

If i remove neo or substitute it with e.g. us, it works.
I don't know how a keyboard setting could disturb spectrwm, but it crashes and i'm back to the console. However, if i start spectrwm without any setxkbmap command and the execute

setxkbmap de neo

in a terminal, it works without any problems.

As i currently don't have access to another (linux)machine, i can't tell if this is related to spectrwm or to openbsd, but at least this is easy to reproduce.

Here's the log from the console when i execute startx:

xauth:  file /home/drm00/.serverauth.17413 does not exist
xauth: (stdin):1:  bad display name "sun.my.domain:0" in "add" command
X.Org X Server 1.14.3
Release Date: 2013-09-12
X Protocol Version 11, Revision 0
Build Operating System: OpenBSD 5.4 amd64 
Current Operating System: OpenBSD sun.my.domain 5.4 GENERIC.MP#117 amd64
Build Date: 30 October 2013  09:51:16PM

Current version of pixman: 0.30.2
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Thu Nov  7 17:00:07 2013
(==) Using system config directory "/usr/X11R6/share/X11/xorg.conf.d"
Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension SECURITY
Initializing built-in extension XINERAMA
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension COMPOSITE
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension XFree86-VidModeExtension
Initializing built-in extension XFree86-DGA
Initializing built-in extension XFree86-DRI
Initializing built-in extension DRI2
Loading extension GLX
(II) [KMS] Kernel modesetting enabled.
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Multiple interpretations of "Caps_Lock+AnyOfOrNone(all)"
>                   Using last definition for duplicate fields
> Warning:          Multiple interpretations of "Shift_L+AnyOfOrNone(all)"
>                   Using last definition for duplicate fields
> Error:            Key <MDSW> added to map for multiple modifiers
>                   Using Mod3, ignoring Mod5.
> Warning:          Type "ONE_LEVEL" has 1 levels, but <LSGT> has 4 symbols
>                   Ignoring extra symbols
> Warning:          Type "ONE_LEVEL" has 1 levels, but <BKSL> has 2 symbols
>                   Ignoring extra symbols
> Warning:          Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
>                   Ignoring extra symbols
Errors from xkbcomp are not fatal to the X server
spectrwm: Welcome to spectrwm V2.3.0 Build: 2.3.0
/usr/local/bin/dmenu_run
/home/drm00/bin/std
/usr/local/bin/slock
xinit: connection to X server lost
waiting for X server to shut down (EE) Server terminated successfully (0). Closing log file.
xauth: (argv):1:  bad display name "sun.my.domain:0" in "remove" command

Update: the xauth-errors disappear when i start the xserver with xinit instead of startx, but the error remains. When i start X with xinit and set the german layout with

setxkbmap de
exec /usr/local/bin/spectrwm

i get a similar error, but spectrwm starts:

X.Org X Server 1.14.3
Release Date: 2013-09-12
X Protocol Version 11, Revision 0
Build Operating System: OpenBSD 5.4 amd64
Current Operating System: OpenBSD sun.my.domain 5.4 GENERIC.MP#117 amd64
Build Date: 30 October 2013  09:51:16PM
Current version of pixman: 0.30.2
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Thu Nov  7 17:19:10 2013
(==) Using system config directory "/usr/X11R6/share/X11/xorg.conf.d"
Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension SECURITY
Initializing built-in extension XINERAMA
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension COMPOSITE
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension XFree86-VidModeExtension
Initializing built-in extension XFree86-DGA
Initializing built-in extension XFree86-DRI
Initializing built-in extension DRI2
Loading extension GLX
(II) [KMS] Kernel modesetting enabled.
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
>                   Ignoring extra symbols
Errors from xkbcomp are not fatal to the X server
spectrwm: Welcome to spectrwm V2.3.0 Build: 2.3.0
/usr/local/bin/dmenu_run
/home/drm00/bin/std
/usr/local/bin/slock
Couldn't set window size: Operation not supported by device

Best, drm00

LordReg commented 10 years ago

I've pinpointed the issue and created a fix. Could you try the latest git?

drm00 commented 10 years ago

Hi LordReg,

i'm writing this from latest spectrwm (rev. b2c1286094d53b3bab5abae50191c3d7d294960e) which fixes the issue :)

Thank you very much for this, now everything works like it should. Will there be an official (point)release with that fix? Would be great to use official packages instead of compiling on my machines.

Best, drm00