Live data from Hacker News

St – A simple terminal implementation for X

st.suckless.org

141–150 of 223 posts

Re: St – A simple terminal implementation for X

#142

Earlier quoted context omitted.

It is still bizarre because not every user wants to and/or doesn't have the skills to do that.

What lisaberlin wrote applies - suckless is like Unix: user friendly, just very selective about who it decides to make friends with. But in this case, I would disagree. The file is quite readable (way more than most text config files I've seen), and the single command to compile is even included in the README. If you're the kind of person that purposefully downloads a new terminal, rather than using the built-in one,…

Seems like kind of a pretentious choice... they've structured their program so the config file is a .h file just so you can feel cool when you compile it to change font size?

Re: St – A simple terminal implementation for X

#143

Earlier quoted context omitted.

Plenty of reasons: Habits. Existing scripts. Muscle-memory. GNU/GPL over non-GNU/GPL. To mention a few. I've honestly not found a single feature in tmux which I need which isn't already covered (and imprinted in finger-memory) by GNU screen. On the flip side, I'd ask: What reason is there for a seasoned GNU screen user to bother switching from something proven, and which works?

These reasons are valid, but I'm more interested in technical reasons. I switched to tmux when I needed to launch a lot of simultaneous jobs, categorized in three sessions (starting in "active", moving to "success" or "fail" when finished). I couldn't achieve it in screen at the time. The CLI interface of tmux is not very intuitive and I think somewhat inconsistent (maybe a bit like git?), but at least I could achiev…

> These reasons are valid, but I'm more interested in technical reasons.

Sure. And let's go full circle while we're at it: GNU screen supports connecting directly to a serial device :)

Last I checked tmux doesn't.

Re: St – A simple terminal implementation for X

#144
post #135
post #133

scrolling through http://git.suckless.org/st/plain/st.c I stumbled upon #define LEN(a) (sizeof(a) / sizeof(a)[0]) I know precompiler magic is hard, and my C aint the best but it makes me wonder if the parens at the end make sense - shouldn't it be something like #define LEN(a) (sizeof(a) / sizeof((a)[0])) also asked here https://stackoverflow.com/questions/42001665/is-this-a-plain...

i'm not saying that the way they wrote it makes sense, but you have to remember that sizeof is actually an operator and not a function.

just got basically the same answer on stackoverflow - sizeof is an operator -> works w/o parens - makes sense - that's why i'm asking

Re: St – A simple terminal implementation for X

#146

It really is fantastic to see a new _improvement_ on something like a terminal in 2017, that isn't written in Javascript / Coffeescript / Some other web technology that deploys 100+MB of libraries.

What exactly is the improvement here? a small code base? Is that all?

Re: St – A simple terminal implementation for X

#147
post #142

Earlier quoted context omitted.

What lisaberlin wrote applies - suckless is like Unix: user friendly, just very selective about who it decides to make friends with. But in this case, I would disagree. The file is quite readable (way more than most text config files I've seen), and the single command to compile is even included in the README. If you're the kind of person that purposefully downloads a new terminal, rather than using the built-in one,…

Seems like kind of a pretentious choice... they've structured their program so the config file is a .h file just so you can feel cool when you compile it to change font size?

I suspect it's not so you feel cool, but because it means the program doesn't need a parser for config files, and because it's more flexible.

Re: St – A simple terminal implementation for X

#148

Earlier quoted context omitted.

Alacritty uses the same argument against scrollback and tabs -- that these features should be handled by something like 'tmux': https://github.com/jwilm/alacritty

And then you have tabs that you can't copy from using your mouse because you wind up selecting content from multiple tabs.

when I use tmux for scrolling inside st i can select text only in the current window/pane I'm and copy that text only, without the mouse obviously

Re: St – A simple terminal implementation for X

#149

Earlier quoted context omitted.

It is still bizarre because not every user wants to and/or doesn't have the skills to do that.

The Xmonad window manager is configured by editing its source code as well, and believe me, you don't have to know Haskell to do it. They pushed the DSL approach to a point where the main function reads like a configuration file, whose format can be learned just by looking at it.

this is not entirely true, xmonad's config file happens to be a haskell file, but I don't need to recompile the whole xmonad project if I want to change it, I just start xmonad again.

It does some tricks to do this (mainly the _main_ xmonad executable compiles a custom binary for you taking the xmonad.hs as input), but it's a different case.

http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Doc-Conf...

Re: St – A simple terminal implementation for X

#150

I've been using it as my main terminal for I think over 2 years, selected my patches, tweaked it a little. Great hackable little thing with comprehensible code.

same here. my only gripe is that it seemingly doesn't support firacode (https://github.com/tonsky/FiraCode)
Post reply on HN