Live data from Hacker News

St – A simple terminal implementation for X

st.suckless.org

211–220 of 223 posts

Re: St – A simple terminal implementation for X

#211
post #86

Earlier quoted context omitted.

This. Also, one should keep in mind that having to apply personal patches is perfectly acceptable for suckless software. In fact, for the very same st, to change font, colour scheme, or hotkeys/shortcuts - one has to edit config.h file and recompile. There is no traditional text config file or "Preferences" menu. This might sound bizarre at first, but actually works as well as editing a text config file: config.h is…

What I dislike about this, is that I have to manually track new versions -- rather than just have my package manager pull in new versions that read a `st.conf` file.

Gentoo's package manager (Portage) deals with this quite nicely for packages like st [1].

Both custom patches and config.h changes can be saved in the package manager, which will then apply them automatically to new versions.

[1] https://packages.gentoo.org/packages/x11-terms/st

Re: St – A simple terminal implementation for X

#213
post #114
post #82

Earlier quoted context omitted.

Compile times for me are 0.2 seconds. And there is a text file available, it's called config.h.

This sort of rules out binary distributions, or changing settings on a remote machine where you don't have the build dependencies installed. The latter may be irrelevant for a terminal emulator, but not for the general case.

> This sort of rules out binary distributions

You can install software without a package manager.

Re: St – A simple terminal implementation for X

#214
post #114
post #82

Earlier quoted context omitted.

Compile times for me are 0.2 seconds. And there is a text file available, it's called config.h.

This sort of rules out binary distributions, or changing settings on a remote machine where you don't have the build dependencies installed. The latter may be irrelevant for a terminal emulator, but not for the general case.

In my experience if one can edit config files on a system, one has room to install a minimal C compiler. And one can distribute things in a binary form even if the config requires compilation. Consider distributing an application as a library or object files when the target machine needs to compile and link only the config file.

Re: St – A simple terminal implementation for X

#215
post #197

Earlier quoted context omitted.

I think it's somewhat surprising that they got the Linux subsystem for Linux working well, but apparently didn't spend much time on making a proper terminal experience. Don't get me wrong powershell/the standard terminal is miles ahead of the old crappy cmd.com - but bundling a solid terminal would've gone a long way to pacify my desire to dual boot Linux (read:stop using w10) on my Surface pro. If I weren't teaching…

I use st in i3 under Cygwin on Windows 8.1. If Cygwin works in Windows 10, that (or any other Linux terminal manager of your choice) should be doable there too.

Well, the promise of the Linux subsystem is kind of to not having to run half-ports like cygwin in the first place... Still, appreciate the tip. Any idea how well that works on a high-resolution display like the surface 4?

Re: St – A simple terminal implementation for X

#216
post #215

Earlier quoted context omitted.

I use st in i3 under Cygwin on Windows 8.1. If Cygwin works in Windows 10, that (or any other Linux terminal manager of your choice) should be doable there too.

Well, the promise of the Linux subsystem is kind of to not having to run half-ports like cygwin in the first place... Still, appreciate the tip. Any idea how well that works on a high-resolution display like the surface 4?

No idea. But it works great for me with a resolution of 1920x1080. I don't see why it wouldn't work with a higher resolution display.

Re: St – A simple terminal implementation for X

#217

Earlier quoted context omitted.

What do you use now? Keyboard shortcut for font size change is a must for me.

"Keyboard shortcut for font size change is a must for me." From the st man page: Alt-Shift-Page Up Increase font size. Alt-Shift-Page Down Decrease font size. Alt-Shift-Home Reset to default font size.

Not sure how I missed that, but it's been a while since I tried St so maybe it wasn't there then.

Re: St – A simple terminal implementation for X

#218
post #158
post #86

Earlier quoted context omitted.

This. Also, one should keep in mind that having to apply personal patches is perfectly acceptable for suckless software. In fact, for the very same st, to change font, colour scheme, or hotkeys/shortcuts - one has to edit config.h file and recompile. There is no traditional text config file or "Preferences" menu. This might sound bizarre at first, but actually works as well as editing a text config file: config.h is…

> Also, one should keep in mind that having to apply personal patches is perfectly acceptable for suckless software. I don't get it. This patch increases the code base by merely 60 lines of code (104 insertions, 44 deletions). Is 60 lines already considered bloat, in a verbose language like C? Also, is this meant to lead to fewer complexity? Maintaining the patch separately from the code base is nothing but cumbersom…

> Is 60 lines already considered bloat, in a verbose language like C?

Due to high code quality, removing even 10 lines is an achievement for suckless.org projects. Try it yourself and submit a patch to mailing list if you succeed.

> Also, is this meant to lead to fewer complexity? Maintaining the patch separately from the code base is nothing but cumbersome.

Maintaining feature as a patch prevents you from weaving it deep inside the code, adding hooks here and there just to make it work. It is harder to do, but it is the right way to make sure all feature related logic is kept in one place.

I have some pet suckless inspired projects. During development I introduced some useless features such as pthread support just because I learned about them. Then once I realized they are useless I removed them. It greatly improved code structure.

Re: St – A simple terminal implementation for X

#219
post #181
post #81

Earlier quoted context omitted.

Last time I asked, someone said: "many features, but I like cmd-click to open path". After reading [1] I see that all it does is loading hipster-oriented "features" into your brain. Almost every feature is useless if you're doing any amount of actual work with decent cli tools. But for playing a hacker it is pretty cool. [1] https://www.iterm2.com/features.html

There's nothing wrong with features that give you access to the wider operating system. Like it or not, the modern operating system is more than just terminals and CLI tools, and there's no reason to be condescending to those who don't live exclusively in the terminal. A large part of what makes iTerm2 popular is how well it works in tandem with MacOS. Things like cmd+click to open (useful because you can use it on d…

I do not think that it does work well with OSX.

Autocompletion is on (spell check) instead of , and it works strangely: "$ ls trunk/" suggests other directories around trunk (like tags and branches), when it should list trunk's contents. Cmd-click on path cannot go to partial path. It also cannot "open in app", only in default app (^cmd-click doesn't help). I always can select or triple-click and "$ open [-a ...] " to do that; or stop being fool and just type "open ." and do whatever I need right in Finder. Colored tab's colors blend to barely visible when deactivated. Changing color themes in settings does nothing at all.

I'm not arguing that features aren't needed. I'm arguing the hyping of little-to-no working "features" that it tries to sell in place of REAL tools and .files that were there for decades.

Re: St – A simple terminal implementation for X

#220

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,…

> suckless is like Unix: user friendly, just very selective about who it decides to make friends with

I like to use the term "super-user friendly", as a compliment.

Post reply on HN