宋文武 <iyzs...@gmail.com> skribis: > Ludovic Courtès <l...@gnu.org> writes: > >> 宋文武 <iyzs...@gmail.com> skribis: >> >>> Ricardo Wurmus <ricardo.wur...@mdc-berlin.de> 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. >> >> What I have in mind is to add a ‘packages’ field in ‘service’. That >> would allow service implementations to contribute packages to the global >> profile. Thoughts? > It's fine, but we may also need a 'dbus-service' field (for wicd).
Hmm right. And dbus policy, and policykit something, and... Clearly the NixOS way where each service can change anything in the global config makes it easy; we need to find a middle ground where we don’t end up allowing services to do anything. Food for thought... >>> #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. >> >> IIUC the bug initially reported here would remain: the user’s $PATH >> would be polluted with the window manager’s stuff, no? > I think the 'polluted' means we have a $PATH contains: > /gnu/store/xxx-windowmaker/bin > install it to profile doesn't have this issue. Right, but WindowMaker is not necessarily in the user’s profile. Still, maybe the initial solution, which added WindowMaker to $PATH, is the least undesirable solution. Thoughts? Ludo’.