rlopez1j / xmonad

Automatically exported from code.google.com/p/xmonad
0 stars 0 forks source link

Conventional configuration strategies #98

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Now we have reconfigure without recompilation, we can consider non-Haskell
mechanisms for configuration (such as a simple text format, or Xresources,
or environment variables).

A good choice here should ease adoption -- as users can get good results
without needing haskell.

Original issue reported on code.google.com by don...@gmail.com on 9 Dec 2007 at 7:31

GoogleCodeExporter commented 8 years ago
An example from Thomas.

1  -- Sample idea of what a non-xmonad/haskell config file might look like.
2
3  -- Set the modkey.
4  modkey = mod4
5
6  myConfig = {
7      borderWidth = 3
8      terminal = "urxvt +sb ...."
9      workspaces = "A", "B", "C", "D"
10     gaps = 15 0 0 0
11     modMask = modkey
12     ....
13 }
14
15 -- Layouts
16 layouts = tiled, mirror tiled, full (noBorders)
17
18 -- Keys
19 key a (shift) Kill
20 key right (control) rotview true
21
22 -- Mouse
23 mouse 1 focusNextWindow
24
25 -- Styles
26 Style (classname=Skype | resource=skype) StartWS A, Float
27 Style (classname=XClock) Float

Original comment by don...@gmail.com on 9 Dec 2007 at 8:18

GoogleCodeExporter commented 8 years ago
Thanks Don for that...

My intention  behind this proposed syntax is that is is sufficiently removed 
from
haskell for it to be generic (i.e., does not enforce Haskell's syntax on the 
user),
but close enough for it to be haskell so that some parser can be written.  If 
that
makes sense.

Someone on IRC asked what they would do to make a ""global"" key-binding 
without the
modifier -- if one looks at line 19, then that might be represented as:

key (nomod) a kill

(Potentially stupid in this example, but you get the point.)

Again, line 26 (which is an abstract representation of what ManageHook might 
become,
says that:  "If a window has a class of 'skype' OR (|) a resource of 'skype' 
then
move it to the WorkSpace of 'A' and put it in the floating layer".

Hopefully that helps to clarify things a little.

Kindly,

Thomas Adam

Original comment by thomas.a...@gmail.com on 9 Dec 2007 at 8:27

GoogleCodeExporter commented 8 years ago
We now have a config template:

    http://haskell.org/haskellwiki/Xmonad/Config_archive/Template_Config.hs

That is farrly non-Haskell.

And we will continue to improve EDSL support for configuration.

It is not a priority though to develop a Haskell-lite syntax in front of xmonad.

Original comment by don...@gmail.com on 10 Dec 2007 at 12:24