Discussion:
Lua..
TC
2009-11-17 21:51:30 UTC
Permalink
Hello guys, I've been willing to try (and eventually switch to) ion for some time now, but what keeps me away from it is the scripting language...
Did you check wmii? it allows the user to program the window manager with _any_ language he/she's used to, which I find a good basement philosophy if you ask me.
It doesn't try to link/merge with any language in particular, it doesn't force the user to learn another language just to script the wm; it let's the user have it his/her way. How would this concept play with ion?

I'm reluctant to learn yet another language just for the window manager. No, I don't care there are enough scripts already there, what I do care about is that if I need to do something someone else did not think about and made a script for, I'd have to go through all the hassle to learn lua, which I find far less versatile and readable than my language of choice. Again, this may be just a matter of taste, but in any case, I do not feel like messing with lua, and I think it should not be imposed.

Of course, that's arguable, since there are certain apps that really do impose their own language (like vim, emacs, and some others), but this is usually because any of these reasons:
* Multiplatform scripting languages did not exist when they were created, so they had to make their own.
* Available scripting languages did not meet the expectations for the task.
* They needed a highly specialized language to avoid kludges.
* They needed a tight integration with the scripting language for performance reasons.

My suggestion? Why not make ion controllable through IPC? maybe a fifo, socket, tcp, whatever, to _let the user choose_ the language to be used.

I'm not saying that ion should be redesigned and reimplemented right away either. It will definitely be rewritten from scratch at some point I guess, so why not keep this in mind when the time comes?

- TC
Tuomo Valkonen
2009-11-18 08:49:49 UTC
Permalink
Post by TC
_any_ language he/she's used to, which I find a good basement philosophy if
you ask me.
Not quite. Such a generic scripting interface inherently has to stick to
the lowest common denominator.. and hence it should really not be the
main extension/scripting interface, I think, but a more simplified
"command interface".. For more thoughts on this, see

http://iki.fi/tuomov/b/2007/scripting_configuration_and_api_design/
http://iki.fi/tuomov/vis/
Post by TC
I'm reluctant to learn yet another language just for the window manager.
"Baawaawaa, it's not written in My Language Of Choice, so it must be
rewritten." That describes something like 49% of FOSS projects
The other 49% is "baawaawaa, it's not Freeⓡ: it doesn't use My
License of Choice". The remaining 2% may have some originality.

There really is not much to learn in Lua, and if you can't pick up
a language "on the go" -- especially as simple one as lua, with
a very short official reference manual -- you shouldn't be programming
at all. It's not like you need a high level of proficiency for
scripting. I've written plugins for programs written in perl, ruby,
and python, and I have never taken the time to properly learn them,
don't really like them (Lua is _much_ better, except for the
library selection), and would not start a project using them
myself, unless there was some very compelling reason (library
availability or such).
Post by TC
which I find far less versatile and readable than my language of choice.
Then you haven't even bothered reading the basic description of the
language, and are criticising just because it's not Your Language of
Choice.
Post by TC
Again, this may be just a matter of taste, but in any case, I do not feel
like messing with lua, and I think it should not be imposed.
It's not imposed. As far as I know, nobody has to use Ion, as it's
a marginal alternative among a gazillion other window managers.
It's not XFascistType, pukedev, Hardware Obstruction Layer (of
the Year) or other core software that the only way to avoid is
to not use Linux/*nix. Which is exactly what I have done.

http://iki.fi/tuomov/b/2009/defection_part_3_windows/
Post by TC
My suggestion? Why not make ion controllable through IPC? maybe a fifo,
socket, tcp, whatever, to _let the user choose_ the language to be used.
Why don't you do that?

Actually there is mod_ionflux, that you can use to send Lua code...
Post by TC
I'm not saying that ion should be redesigned and reimplemented right away
either. It will definitely be rewritten from scratch at some point I guess,
so why not keep this in mind when the time comes?
Ion is not being developed. For details on any possible future, see

http://article.gmane.org/gmane.comp.window-managers.ion.general/9056
--
Tuomo
mobi phil
2009-11-18 10:13:01 UTC
Permalink
I was using ratpoison ages ago... but it did not work at the
end...Maybe one day I will give it another try. I liked in ratpoison
is that follows the principle of gnu screen regarding keybindings.

I decided to give a try to ion3, for few month now. I never wrote 1
line of code in lua, but to be honest that did not create for me
microscopical pain, after having gone through other at leas ten
programming languages. What created for me a bit of pain instead, that
the functions for manipulating different objects are still not
perfectly documented. I mean 1-2 examples here/there would at least
double the value of the documentation.
Post by Tuomo Valkonen
Actually there is mod_ionflux, that you can use to send Lua code...
Hey!!! That is what I was looking for ( I think) to control ion3 from
the console ...
--
rgrds,
mobi phil

being mobile, but including technology
http://mobiphil.com
ebik
2009-11-18 20:55:25 UTC
Permalink
On Wed, 18 Nov 2009 11:13:01 +0100
Post by mobi phil
I was using ratpoison ages ago... but it did not work at the
end...Maybe one day I will give it another try. I liked in ratpoison
is that follows the principle of gnu screen regarding keybindings.
I decided to give a try to ion3, for few month now. I never wrote 1
line of code in lua, but to be honest that did not create for me
microscopical pain, after having gone through other at leas ten
programming languages. What created for me a bit of pain instead, that
the functions for manipulating different objects are still not
perfectly documented. I mean 1-2 examples here/there would at least
double the value of the documentation.
Hmm, yes examples are missing. But otherwise ion3 is documented very
well. There are only few projects with such a good documentation. And
you have also the META+F3 keybinding, where you can test all complex
things and see what they are doing. This combination allowed me
configuring ion very quickly.
--
Tomáš 'ebík' Ebenlendr
PF 2009.88193680238
Daniel Clemente
2009-11-18 10:17:27 UTC
Permalink
Post by Tuomo Valkonen
"Baawaawaa, it's not written in My Language Of Choice, so
it must be
rewritten." That describes something like 49% of FOSS
projects
The other 49% is "baawaawaa, it's not Freeⓡ: it doesn't
use My
License of Choice".

Post by Tuomo Valkonen
The remaining 2% may have some originality.
wmii is among that 2%:
- it can be scripted in any language, also in your language of choice
- it is free from restrictions; you may also sublicense it to your free license of choice

ion fulfills neither. I assume you get that 98% of user unsatisfaction, if your 98%/2% numbers are correct.
Post by Tuomo Valkonen
It's not imposed. As far as I know, nobody has to use Ion,
as it's
a marginal alternative among a gazillion other window
managers.
Exactly.

To those who feel too limited by ion's complexity or Tuomo's opinions, I would recommend wmii. I successfully migrated from ion3 to wmii and don't regret it. The migration is easy since they're feature-alike, and it's faster to customize.


-- Daniel
Tuomo Valkonen
2009-11-18 10:43:15 UTC
Permalink
Post by Daniel Clemente
Post by Tuomo Valkonen
"Baawaawaa, it's not written in My Language Of Choice, so
it must be
rewritten." That describes something like 49% of FOSS
projects
The other 49% is "baawaawaa, it's not Freeⓡ: it doesn't
use My
License of Choice".

Post by Tuomo Valkonen
The remaining 2% may have some originality.
- it can be scripted in any language, also in your language of choice
- it is free from restrictions; you may also sublicense it to your free license of choice
Muahhah, looks more like belonging to both of the 49%.
I suggest taking some language classes.

And knowing the history of tabbing/tiling WMs, the 2% is
reserved for a certain other WM or WMs...
--
Tuomo
Ted Zlatanov
2009-11-18 11:55:26 UTC
Permalink
On Wed, 18 Nov 2009 02:17:27 -0800 (PST) Daniel Clemente <dcl441-bugs-/***@public.gmane.org> wrote:

DC> To those who feel too limited by ion's complexity or Tuomo's
DC> opinions, I would recommend wmii. I successfully migrated from
DC> ion3 to wmii and don't regret it. The migration is easy since
DC> they're feature-alike, and it's faster to customize.

Brief summary of my experience looking for a good window manager:

Ion3: not actively developed, also I intensely dislike Lua (this is a
matter of personal taste). Doesn't integrate with Gnome well.
Installation is easy. Customization is OK.

wmii (as of 6 months ago): a real duct-tape window manager, lots of
broken advice online because there's like 30 ways to set it up. Once
you get it going it's all right, but you better have lots of shell
scripting experience. Doesn't integrate with Gnome well. Installation
is hard if you don't know what you're doing. I respect the design, it's
very powerful and flexible, but wouldn't recommend this one to new
users.

StumpWM (as of 2 months ago): pretty good feature-wise, does almost
everything OK, very slow if you don't fine-tune the VM. If you don't
know Common Lisp it will be very confusing. I like Lisp so it was OK
for me. Also it doesn't integrate with Gnome well. Installation is OK
with Ubuntu. I would have loved to recommend this one because Lisp is
so flexible but it's just not for everyone.

XMonad: really good in every way, configuring beyond the basics requires
learning Haskell. To me that was actually a plus, I like Haskell a lot
but certainly it's not for everyone. This one is very fast, has
multiple layouts besides tabbed (full screen, side by side, etc.).
Supports floating windows, integrates well with Gnome. Extending it is
easy. Installation is really easy with Ubuntu and the docs are good
(lots of sample configs and every module is documented). I'd recommend
this one to people looking to try a new WM, unless they want deep
customization and Haskell is outside their comfort zone.

Ted
joqueza
2009-11-18 15:19:11 UTC
Permalink
Sorry, but I'm really not following the focus of the conversation here.
Tuomo explicitly gave his opinions on the direction that ion3 development
should be going, so It seems pretty simple to me: Given the options of WMs,
you use Ion if you WANT to. Not only that, Tuomo gave an explanation on his
choices.

I've tried different tilling window managers, and my 2 cents are:

Awesome(3): is becoming huge project and has alot of "enhancements" over Ion
but at each new version, the config files change and all that backward
incompatibilties arise.

Xmonad: Very well written, fast, and customizable. But since it's
Haskell-based, you have to install a metric shitload of Haskell
dependencies.

dwm: You have to recompile it every time you change something. It's just not
versatile enough for my tastes.

stumpwm, scrotwm, wmii: never tried, will not speculate over those.


In the end, it all boils down to how much you want to customize your WM.
Then, it's all about programing language taste.
Post by Ted Zlatanov
On Wed, 18 Nov 2009 02:17:27 -0800 (PST) Daniel Clemente <
DC> To those who feel too limited by ion's complexity or Tuomo's
DC> opinions, I would recommend wmii. I successfully migrated from
DC> ion3 to wmii and don't regret it. The migration is easy since
DC> they're feature-alike, and it's faster to customize.
Ion3: not actively developed, also I intensely dislike Lua (this is a
matter of personal taste). Doesn't integrate with Gnome well.
Installation is easy. Customization is OK.
wmii (as of 6 months ago): a real duct-tape window manager, lots of
broken advice online because there's like 30 ways to set it up. Once
you get it going it's all right, but you better have lots of shell
scripting experience. Doesn't integrate with Gnome well. Installation
is hard if you don't know what you're doing. I respect the design, it's
very powerful and flexible, but wouldn't recommend this one to new
users.
StumpWM (as of 2 months ago): pretty good feature-wise, does almost
everything OK, very slow if you don't fine-tune the VM. If you don't
know Common Lisp it will be very confusing. I like Lisp so it was OK
for me. Also it doesn't integrate with Gnome well. Installation is OK
with Ubuntu. I would have loved to recommend this one because Lisp is
so flexible but it's just not for everyone.
XMonad: really good in every way, configuring beyond the basics requires
learning Haskell. To me that was actually a plus, I like Haskell a lot
but certainly it's not for everyone. This one is very fast, has
multiple layouts besides tabbed (full screen, side by side, etc.).
Supports floating windows, integrates well with Gnome. Extending it is
easy. Installation is really easy with Ubuntu and the docs are good
(lots of sample configs and every module is documented). I'd recommend
this one to people looking to try a new WM, unless they want deep
customization and Haskell is outside their comfort zone.
Ted
mobi phil
2009-11-18 16:44:11 UTC
Permalink
Post by joqueza
Xmonad: Very well written, fast, and customizable. But since it's
Haskell-based, you have to install a metric shitload of Haskell
dependencies.
I am almost convinced that I would have ended up with Xnomad, but had
the same problem with the metric shitload :) apt-get install xmonad
said: do you want me to install 300MB of shitload? My answer was not
darling :)
Tibor Simko
2009-11-18 17:03:39 UTC
Permalink
Post by mobi phil
Post by joqueza
Xmonad: Very well written, fast, and customizable. But since it's
Haskell-based, you have to install a metric shitload of Haskell
dependencies.
I am almost convinced that I would have ended up with Xnomad, but had
the same problem with the metric shitload :) apt-get install xmonad
said: do you want me to install 300MB of shitload? My answer was not
darling :)
If you like Xmonad, but would like it to be slimmer, then you may want
to try dwm.
Post by mobi phil
dwm: You have to recompile it every time you change something. It's
just not versatile enough for my tastes.
Yes, you have to recompile dwm to change its settings, but it is fast
and easy, and once you find your `perfect' settings, you are set.

Best regards
--
Tibor Simko
ebik
2009-11-18 09:07:39 UTC
Permalink
I had to learn lua because of Ion, and guess what... I learnt the
basics in 2 hours. After that I was reading only the ion's
documentation.

Although I'm not good at lua I will choose it as conf. language for my
next project, because of its learning curve.
--
Tomáš 'ebík' Ebenlendr
PF 2009.88059858574
Loading...