Subject: Re: bug#18698: Our WindowMaker wrapper pollutes PATH in the entire X session

From: 宋文武 <[email-masked]>
Date: Wed, 11 Feb 2015 20:32:50 +0800

Ricardo Wurmus <[email-masked]> writes:

> The fix may have resulted in unintended side-effects.  On a fresh
> installation of the System Distribution v0.8.1 WindowMaker is installed
> by default, but it is not completely functional.
>
> For example, the attempt to change the style via the menu results in
> this error to be displayed:
>
>     Could not execute command:
>         setstyle /gnu/store/...windowmaker.../share/WindowMaker/Styles/Black.style
>
> Likewise, selecting "Configure Window Maker" from the right-click menu
> results in this error:
>
>     Could not execute command: exec WPrefs
>
> The "setstyle" executable is located in
> /gnu/store/...windowmaker.../bin/, but is not in the PATH.
Yes, the $out/bin of windowmaker is not in $PATH, and same for sawfish.

Instead of wrapping every executable of session-type, we can:

#1: Add the package to system profile ('packages').
  It's not clear to me how to do it now, until we have something
  like the NixOS's module system.

#2: Make SLiM use '/run/current-system/profile/share/xsessions' as
    session_dir.
  So simply add a package providing xsession file to 'packages' should
  make it available to SLiM.  And all DE and many window-managers provide
  xsession files already (eg: openbox, sawfish, xfce), we can patch
  the rest (eg: WindowMaker) to install one.

I would like to go #2, WDYT?