Suckless conference 2015
suckless.org
suckless.org
That said, simplicity can obviously be taken too far. These tools do not enough to be usable in practice.
Why would I want a binary which does nothing besides warping the X11 pointer? At least do a little more, like xwit. (not that I've used either)
dwm also turned out to be impractical for me. Didn't work well for some applications like Gimp. Tiling terminals I also find impractical because I like them to be a certain size (80 columns) and that's not supported by tiling. The most important wm action for me is switching and rotating between 2-3 windows (simultaneously visible _as much as possible_). Stacked windows and Alt-Tab turn out to be better at that kind of thing.
Just tried that "sent" tool which I find nice and kind-of-usable. But so many lines of C. And a hand-rolled UTF-8 parser which discards text silently after decoding errors. Couldn't that be hacked in Python as a much shorter throw away script? Extreme portability is bogus if the software can be replaced in a few hours work. Plus, if you neglect to use higher-level libraries and tie yourself to low-level POSIX and X11, portability actually suffers.
This was the biggest annoyance when I (briefly) tried a tiling WM - they are definitely not for those who like resizing windows independently and overlapping them so as to show only the relevant bits without having to resize.
Good stuff. Though seeing dwm have a null-check-before-free made me squirm. Have been using st for awhile now, it's nice, bit of a hassle to get backspace working & I sometimes miss being able to scroll back over console output
The only-one-file philosophy seemed to be a bit of a hassle where st had to turn down a wayland patch. One would think that it could be split into st-common.c, st-x11.c, & st-wl.c where the rendering backend is abstracted
stalin is neat but I personally feel using git to distribute binaries suboptimal. I'd prefer if there was a /build directory where one could git clone submodules & run a /build/install.sh to update the system. But that'd be something else by then I suppose & I haven't looked into it _that_ much to really critique
surf seems like a cop out using webkit
Any screenshots of nobox that I could see ?
I have st invoked in my xinitrc so that st is open as soon as I start nobox. I don't use a file manager so everything I do happens through st besides opening firefox with Alt+A or showing time with Alt+C (I use to have more shortcuts but over time have reduced my usage. I use to have Alt+S to open SciTE but have since transitioned to vim)
Anyways since you asked here's a screenshot I took just now after having opened GIMP: http://imgur.com/pjSe3pN
Since nobox isn't a tiling window manager it doesn't have any issues running GIMP in multi-window mode, besides my preference for unique mode: http://imgur.com/Qf2PvhO
i'm not saying "suckless all the things!" these people have made my daily life easier, though.
kinda-sorta...
http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Prompt-A...
doesn't do exactly what i want... i'm looking for something more like this
, except the completions list and tab stuff don't work
aaand, i have to get back to "web" technologies :)
You can give it something else than defaultXPConfig to customize the look and completion behavior: http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Prompt.h...
Setting:
searchPredicate :: String -> String -> Bool
searchPredicate = \_ _ -> False
seems to make no difference.And the default is:
searchPredicate = isPrefixOf
Patching and recompiling with this patch[1] mentioned here[2] seems to fix the issue.[1]: https://code.google.com/p/xmonad/issues/attachmentText?id=39... [2]: https://code.google.com/p/xmonad/issues/detail?id=393
Since st has no scroll buffer, theoretically it's impossible for st to consume more memory than xterm. If st does eat up more, it should be because of its screen buffer, whose size is decided by the size of its window.
Also, yes, the rendering portion of st is not the fastest. I know it pretty well because I implemented it like an year ago. It has been improved, but it's still kinda hacky due to lack of proper Unicode layout engine (or normalization). And what makes things worse is that existing layout engines(ICU, harfbuzz, etc) are just "sucks" for suckles community, while making a new one is not feasible AFAIK.
I exclusively use bitmap fonts in terminals and editors for crisp and clear text and cannot get bitmap fonts to work in st config.h anymore.
Trying to customize xmonad is why I use i3 now.
ST is fast (as expected)
$ time $(for i in `seq 1 100`; do st -e true &> /dev/null ; done)
real 0m5.493s
user 0m4.417s
sys 0m0.647s
URxvt is a little slower (but traditional wisdom should tell you that if it is actually so small that you need to measure it to perceive the difference, the difference probably doesn't matter) $ time $(for i in `seq 1 100`; do urxvt -e true &> /dev/null ; done)
real 0m11.099s
user 0m9.780s
sys 0m0.853s
URxvt client (with a separately launched urxvtd) is faster than st. $ time $(for i in `seq 1 100`; do urxvtc -e true &> /dev/null ; done)
real 0m4.593s
user 0m0.007s
sys 0m0.017s
Given how solid urxvt has been for me over the years, and given that I run urxvtc already, I don't see why switching to st would help (the argument against featuritis can obviously be made, but urxvt is fairly minimal as well).Note: I do not know how it would affect it, but I also have a .Xdefaults that sets fonts, colors etc for URxvt.
Edit:
adding xterm to the comparison since some sibling comment mentioned it
$ time $(for i in `seq 1 100`; do xterm -e true &> /dev/null ; done)
real 0m8.525s
user 0m2.777s
sys 0m0.770sWhat I was talking about were things like how much memory overhead the emulator has and how fast it paints stuff or how quickly it responds. Some things were slower in urxvt and then some things didn't work as correctly as in xterm, so I didn't bother configuring urxvt for more speed. st, on the other hand, wasn't faster and actually was heavier memory-wise when I tried it the last time.
Can't agree with that. Also this reminds me to the chapter about documentation in the "UNIX Haters Guide"[1]. (I recommend everyone read it for an alternative viewpoint about UNIX, although most of it is obsolete)
The GNU info system is actually a pretty good attempt to fix the mess that is classical UNIX documentation. No, the source shouldn't be a documentation source. It's for programmers only, and it can be a reference, like man pages. A good info page can provide a full manual from which someone that is not familiar with the program/programming interface can learn how to proceed from scratch. Also, unlike man pages, info pages are hyperlinked. I agree that the info program itself is not very user friendly tho, maybe that's the reason it's not as popular as man pages or HTML documentation in the project website.
[1]: http://richard.esplins.org/static/downloads/unix-haters-hand...
You don't have to. When I first found out about the suckless project, it seemed completely inaccessible, due to the lack of in-depth documentation. After reading around a bit, it seems intentional. My impression was that suckless doesn't aim for quantity, but for quality, even among its userbase, hence the lack of documentation is an entry barrier, a minimum of technical literacy required to get in. Look at the source and you don't need a wiki. My gut reaction says, that's quite elitist - which itself is negatively connoted when everyone aims for widespread adoption and usability. In the end, I agree with this idea. Software is supposed to serve a purpose. It doesn't have to suit everyone. It can be for a selected few, and still be a great project. What changed my mind was that dwm doesn't use configuration files. I came from openbox and more than once broke the menu because of a syntax error in the xml-based config. In dwm, you change the source config and recompile. This way, any and all errors are returned to you, you can fix it and try again, without ever risking any configuration issues or breakages. They do the same with st, their terminal. I'm absolutely convinced by this approach.
There ought to be a set of principles we can extract - KISS probably. Ignore project plans ?
> Because dwm is customized through editing its source code, it’s pointless to make binary packages of it. This keeps its userbase small and elitist. No novices asking stupid questions.
That's literacy vs illiteracy. I approve
But good luck to them.
I try to keep Rule #1 [0] in mind at all times. I fail to do so pretty frequently, so I guess I still don't quite have it down yet. >:-)
[0] "Stop sucking!"
And my wish for them to do well really is sincere.
ps 1. do you know that your comment to my comment is a self-referential? You're using the same mode as me. Which is fair enough in a way :-)
2. I assure you that I am no way representative of HN so your use of that synecdoche is misplaced.
So that's all I'm saying.
I used to do it a lot, so maybe that's why I bother commenting.
Mainframers sneer at Unix. Unix people sneer at Windows. BSD people sneer at Linux. Plan9'ers sneer at Solaris.
It's just so tiresome and negative.
But having spent a few moments clicking around their site, I have literally no idea what the basic idea is, who they are, what they've accomplished, or why it might be interesting to learn more about them.
Home of dwm, dmenu and other quality software with a focus on simplicity, clarity, and frugality.
Read more about our philosophy and join us on the mailing list.
This demonstrates that you did not even visit the suckless.org home page [0]. How do I know?
Because the word "philosophy" in the two sentences preid24 quoted links to the very thing you're asking for. It's even a boring-old anchor-tag-link in almost-traditional hyperlink blue on traditional white that reacts on hover.
> [W]hat the heck is dwm, dmenu?
Also answered by the hyperlinks on the suckless home page.
An abstract philosophy for example, isn't going to leave an impression without some concrete examples of its principles in action.. a screen shot maybe, of the applications mentioned with an explanation of how and why they are better than the alternatives.
N.B. "Take a hike"... this does not seem like a friendly community at all.
That's a pity. You might actually -I don't know- get the answers to your questions.
Whatever. I'm not here to spoon feed you. Take a hike.
Edit: To reply to your edit: http://www.catb.org/esr/faqs/smart-questions.html (Not that ESR doesn't have his share of quirks.)
Sorry that the tone between us became somewhat combative, since that was never how I felt about things for a moment.
Cheers.
Having said that, even the best of us finds that he has accidentally turned into a time vampire on rare occasion.
Curiously, Linus did consider naming it "Linux" as too egotistical, and chose "Freax" instead. It was a colleague who renamed it when uploading to the FTP server.
I agree with your point, by the way.