How to start xmonad with lxde?

Hello. I want to start xmonad in another tty. I would like it to use lxde as the Desktop Environement. I read that in order to do that I need to leave the following in the xmonad's config file (~/.xmonad/xmonad.hs): main = xmonad $ desktopConfig { terminal = "lxterminal" } When I recompile the file in xmonad: xmonad --recompile I get the following error: xmonad.hs:1:59: parse error (possibly incorrect indentation or mismatched brackets) Can someone please tell me how to achive starting xmonad with lxde? Thanks in advance for your kind help P.S To start xmonad in the first place (no lxde) I use this: startx /usr/bin/xmonad

On Sun, Dec 21, 2014 at 8:26 PM, jenia.ivlev
I want to start xmonad in another tty. I would like it to use lxde as the Desktop Environement. I read that in order to do that I need to leave the following in the xmonad's config file (~/.xmonad/xmonad.hs):
main = xmonad $ desktopConfig { terminal = "lxterminal" }
At the very least, you need some imports with that: import XMonad import XMonad.Config.Desktop main = xmonad desktopConfig { terminal = "lxterminal" } I'm not sure what's up with the error you got, though; it appears to be at the end of the file. Control characters, perhaps? The output of env LANG=C od -c ~/.xmonad/xmonad.hs might be illuminating. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

Brandon Allbery
On Sun, Dec 21, 2014 at 8:26 PM, jenia.ivlev
wrote: I want to start xmonad in another tty. I would like it to use lxde as the Desktop Environement. I read that in order to do that I need to leave the following in the xmonad's config file (~/.xmonad/xmonad.hs):
main = xmonad $ desktopConfig { terminal = "lxterminal" }
At the very least, you need some imports with that:
import XMonad import XMonad.Config.Desktop main = xmonad desktopConfig { terminal = "lxterminal" }
I'm not sure what's up with the error you got, though; it appears to be at the end of the file. Control characters, perhaps? The output of
I left, by accident, an extra character in xmoand.hs.
env LANG=C od -c ~/.xmonad/xmonad.hs
might be illuminating.
Thanks very much. I think it worked. But I must admit that I though, for some reason, that xmonad will start lxde and I will have all the normal lxde features (like program's bar on the buttom and so on). Instead, it only started the terminal from lxde. Can you please tell me, how do I start a full lxde Desktop Environment with xmonad? However, I don't want to change lxde configs because by default I want it to use openbox (which I can use easily). So can I start xmonad in such a way that it will use lxde as the Desktop Environment? Thanks very much in advance.

On Sun, Dec 21, 2014 at 9:02 PM, jenia.ivlev
Thanks very much. I think it worked. But I must admit that I though, for some reason, that xmonad will start lxde and I will have all the normal lxde features (like program's bar on the buttom and so on). Instead, it only started the terminal from lxde. Can you please tell me, how do I start a full lxde Desktop Environment with xmonad?
In general, you have to use the desktop environment to start the window manager, not the other way around; the window manager must be controlled by the desktop manager's session manager. The xmonad configuration you were given just minimally configures monad to play well with most desktop managers, but without any integration beyond using the LXDE terminal; in particular, it won't configure mod-shift-q to shut down the LXDE session, and the session manager will usually just restart the window manager if it exits so mod-shift-q will end up being the same as mod-q. Your xmonad.hs is the one from section 3 of https://www.haskell.org/haskellwiki/Xmonad/Using_xmonad_in_LXDE but you also need the file from section 2 to configure LXDE to start xmonad; then you use "startlxde" as normal to start an LXDE session with xmonad as the window manager. I would use a slightly more detailed xmonad.hs to fix the mod-shift-q issue, though: import XMonad import XMonad.Config.Desktop import XMonad.Util.EZConfig main = xmonad $ desktopConfig { terminal = "lxterminal" } `additionalKeysP` [("M-S-q", spawn "lxsession-logout") (The above is also available as http://lpaste.net/116981) -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

Brandon Allbery
On Sun, Dec 21, 2014 at 9:02 PM, jenia.ivlev
wrote: Thanks very much. I think it worked. But I must admit that I though, for some reason, that xmonad will start lxde and I will have all the normal lxde features (like program's bar on the buttom and so on). Instead, it only started the terminal from lxde. Can you please tell me, how do I start a full lxde Desktop Environment with xmonad?
In general, you have to use the desktop environment to start the window manager, not the other way around; the window manager must be controlled by the desktop manager's session manager. The xmonad configuration you were given just minimally configures monad to play well with most desktop managers, but without any integration beyond using the LXDE terminal; in particular, it won't configure mod-shift-q to shut down the LXDE session, and the session manager will usually just restart the window manager if it exits so mod-shift-q will end up being the same as mod-q.
Your xmonad.hs is the one from section 3 of https://www.haskell.org/haskellwiki/Xmonad/Using_xmonad_in_LXDE but you also need the file from section 2 to configure LXDE to start xmonad; then you use "startlxde" as normal to start an LXDE session with xmonad as the window manager. I would use a slightly more detailed xmonad.hs to fix the mod-shift-q issue, though:
import XMonad import XMonad.Config.Desktop import XMonad.Util.EZConfig
main = xmonad $ desktopConfig { terminal = "lxterminal" } `additionalKeysP` [("M-S-q", spawn "lxsession-logout")
(The above is also available as http://lpaste.net/116981)
Okay, thanks very much Brandon

I tried all of that and it didn't work. Alright, lets forget lxde for the moment. How do I start a program in xmonad? Is there another Desktop-environement that's easy to use with xmonad? Or alternatively, and even better, how do I simply start an app in xmonad without using the termina? I mean, if I do it in the termina, even if I use `progam &` the damn thing still sends output to the teriminal even if it "detached". So what's the most convenient way to start apps ion xmonad? thanks in advance. jenia

jenia.ivlev@gmail.com (jenia.ivlev) writes:
I tried all of that and it didn't work. Alright, lets forget lxde for the moment.
How do I start a program in xmonad? Is there another Desktop-environement that's easy to use with xmonad? Or alternatively, and even better, how do I simply start an app in xmonad without using the termina? I mean, if I do it in the termina, even if I use `progam &` the damn thing still sends output to the teriminal even if it "detached".
So what's the most convenient way to start apps ion xmonad?
thanks in advance. jenia
What I decided to do basically, is that "synapse" as so `synapse &` and then simply close that terminal. From then on I can start apps as I want to. But the same question remains, what Destop Environement do you use with xmonad?

jenia.ivlev writes:
So what's the most convenient way to start apps ion xmonad?
I'm sure there are several - I have dmenu_run bound to M-p, so I can just type M-p programname ENTER and the program is started. * https://packages.debian.org/jessie/suckless-tools For the program I open the most often, xterm, I have a dedicated keyboard shortcut. Best regards, Adam -- "faster than C++, more concise than Perl, more Adam Sjøgren regular than Python, more flexible than Ruby, more asjo@koldfront.dk typeful than C#, more robust than Java, and has absolutely nothing in common with PHP."

On Thu, Dec 25, 2014 at 2:43 PM, Adam Sjøgren
jenia.ivlev writes:
So what's the most convenient way to start apps ion xmonad?
I'm sure there are several - I have dmenu_run bound to M-p, so I can just type M-p programname ENTER and the program is started.
For some reason dmenu_run is configured by many Xmonad users instead of the shellPrompt, which is superior in several ways. I mean, everybody should give it a try as they're nicer to use and more flexible to configure. There are more prompts available than only shellPrompt. To replace dmenu_run import XMonad.Prompt.Shell and run shellPrompt with your custom config based on defaultXPConfig.

On Thu, Dec 25, 2014 at 11:20 AM, Carsten Mattner
For some reason dmenu_run is configured by many Xmonad users
One reason being that it's in the stock config as mod-p.... -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

On Thu, Dec 25, 2014 at 5:22 PM, Brandon Allbery
On Thu, Dec 25, 2014 at 11:20 AM, Carsten Mattner
wrote: For some reason dmenu_run is configured by many Xmonad users
One reason being that it's in the stock config as mod-p....
Let's change the config then, seriously it works better and is faster for me compared to dmenu_run and does not require the extra tool to begin with. Hey, shellPrompt is one major reason I always come back to my XMonad environment after trying to use dmenu_run in some other non-XMonad environment.

On Thu, Dec 25, 2014 at 11:26 AM, Carsten Mattner
Let's change the config then, seriously it works better and is faster for me compared to dmenu_run and does not require the extra tool to begin with.
But it does require xmonad-contrib to be installed; the core deliberately does not depend on xmonad-contrib, and I suspect getting XMonad.Prompt merged to core will be something of a battle. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

On Thu, Dec 25, 2014 at 5:31 PM, Brandon Allbery
On Thu, Dec 25, 2014 at 11:26 AM, Carsten Mattner
wrote: Let's change the config then, seriously it works better and is faster for me compared to dmenu_run and does not require the extra tool to begin with.
But it does require xmonad-contrib to be installed; the core deliberately does not depend on xmonad-contrib, and I suspect getting XMonad.Prompt merged to core will be something of a battle.
While true, I think everybody installs xmonad-contrib and that means example configurations should be updated to use shellPrompt instead. Which example configs are in core and are you sure none of them rely on xmonad-contrib? shellPrompt seems to be invisible to most XMonad users and that's very unfortunate to say the least.

On Thu, Dec 25, 2014 at 11:35 AM, Carsten Mattner
While true, I think everybody installs xmonad-contrib and that means example configurations should be updated to use shellPrompt instead.
I personally think that configs should start form desktopConfig instead of defaultConfig, because that provides the base behavior that most people expect these days, but that doesn't mean it's going to happen or that desktopConfig and its dependencies will be merged into the core. (Note that I am not involved with the core directly.) -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

On Thu, Dec 25, 2014 at 5:42 PM, Brandon Allbery
On Thu, Dec 25, 2014 at 11:35 AM, Carsten Mattner
wrote: While true, I think everybody installs xmonad-contrib and that means example configurations should be updated to use shellPrompt instead.
I personally think that configs should start form desktopConfig instead of defaultConfig, because that provides the base behavior that most people expect these days, but that doesn't mean it's going to happen or that desktopConfig and its dependencies will be merged into the core. (Note that I am not involved with the core directly.)
I can't disagree with that and we should have nicer defaults for an improved first impression or integration with desktop environments.

Carsten writes:
For some reason dmenu_run is configured by many Xmonad users instead of the shellPrompt, which is superior in several ways. I mean, everybody should give it a try as they're nicer to use and more flexible to configure. There are more prompts available than only shellPrompt.
You're not selling it well - I have something which works fine, and you say I should switch to something which is superior, nicer and more flexible... Well, what does it actually provide which makes it those things? How will I feel the difference? Just curious! Best regards, Adam -- "Time is getting short; every midnight I feel 48 Adam Sjøgren hours older. And twice as useless." asjo@koldfront.dk

On Thu, Dec 25, 2014 at 5:38 PM, Adam Sjøgren
Carsten writes:
For some reason dmenu_run is configured by many Xmonad users instead of the shellPrompt, which is superior in several ways. I mean, everybody should give it a try as they're nicer to use and more flexible to configure. There are more prompts available than only shellPrompt.
You're not selling it well - I have something which works fine, and you say I should switch to something which is superior, nicer and more flexible...
Well, what does it actually provide which makes it those things? How will I feel the difference?
Just curious!
I'm not a car sales man but I can try to list advantages in the hopes of convincing you to try it out. * the completion behavior suits me better when for example you're completing an executable inside a directory * it more correctly picks up $PATH entries compared to dmenu_run * it doesn't delay as much due to caching like dmenu_run and feels faster on startup because of that while not missing new executables just installed * behavior is configurable in xmonad.hs * presentations is configurable in xmonad.hs Configuration if you want to configure it is simple, just consult the online documentation. http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Prompt.html#t:XPConfig http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Prompt-Shell.html Also there are other prompts than just shellPrompt like in the ion window manager or stumpwm. I believe someone recently contributed a password retrieval prompt but I didn't try that.

Le 25/12/2014 17:26, Carsten Mattner a écrit : Hey, shellPrompt is one major reason I always come back to my XMonad environment after trying to use dmenu_run in some other non-XMonad environment. ------------- Hello, Thanks for your advice. I went to the xmonad wiki and modified my xmonad.hs accordingly. As you said, shellPrompt is really great but the following xmonad.hs makes my French keyboard unusable. Any advice ? TIA Alain import XMonad import XMonad.Hooks.ManageDocks import qualified Data.Map as M import Graphics.X11.Xlib import XMonad.Config.Azerty import XMonad.Prompt import XMonad.Prompt.Shell import XMonad.Prompt.XMonad main=do xmonad azertyConfig { keys = myKeys <+> keys defaultConfig } { layoutHook=avoidStruts $ layoutHook defaultConfig , manageHook=manageHook defaultConfig <+> manageDocks } myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList [ ((modm, xK_F12), xmonadPrompt defaultXPConfig) , ((modm, xK_F3 ), shellPrompt defaultXPConfig) ]

On Thu, Dec 25, 2014 at 3:28 PM, Alain Bertrand
Thanks for your advice. I went to the xmonad wiki and modified my xmonad.hs accordingly. As you said, shellPrompt is really great but the following xmonad.hs makes my French keyboard unusable. Any advice ?
Replace 'keys defaultConfig' with 'keys azertyConfig'. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

On Thu, Dec 25, 2014 at 9:06 PM, Brandon Allbery
On Thu, Dec 25, 2014 at 3:28 PM, Alain Bertrand
wrote: Thanks for your advice. I went to the xmonad wiki and modified my xmonad.hs accordingly. As you said, shellPrompt is really great but the following xmonad.hs makes my French keyboard unusable. Any advice ?
Replace 'keys defaultConfig' with 'keys azertyConfig'.
You can also, by the way, combine the two record updates (I didn't even know you could chain them that way). main=do xmonad azertyConfig { layoutHook=avoidStruts $ layoutHook defaultConfig , manageHook=manageHook defaultConfig <+> manageDocks , keys = myKeys <+> keys azertyConfig } Also, for what it's worth, I have a global binding like baseConfig = azertyConfig and then use baseConfig for those field lookups (e.g. `keys baseConfig`), so it's easy to switch everything to a different config just by changing the baseConfig binding. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

Le 26/12/2014 03:10, Brandon Allbery a écrit :
On Thu, Dec 25, 2014 at 9:06 PM, Brandon Allbery
wrote: Replace 'keys defaultConfig' with 'keys azertyConfig'.
You can also, by the way, combine the two record updates (I didn't even know you could chain them that way).
main=do xmonad azertyConfig { layoutHook=avoidStruts $ layoutHook defaultConfig , manageHook=manageHook defaultConfig <+> manageDocks , keys = myKeys <+> keys azertyConfig }
Also, for what it's worth, I have a global binding like
baseConfig = azertyConfig
and then use baseConfig for those field lookups (e.g. `keys baseConfig`), so it's easy to switch everything to a different config just by changing the baseConfig binding.
Thanks a lot for your answer. It worked out of the box. Best wishes for the new year. Alain
participants (5)
-
Alain Bertrand
-
asjo@koldfront.dk
-
Brandon Allbery
-
Carsten Mattner
-
jenia.ivlev@gmail.com