Live data from Hacker News

Zellij – A Terminal Workspace and Multiplexer

zellij.dev

91–100 of 248 posts

Re: Zellij – A Terminal Workspace and Multiplexer

#91
post #2

I'm not sure I could untrain all my muscle memory I've built up over the years with my TMUX configuration, but I truly believe in the next 10 years all of my current command line tools will be slowly replaced with rust equivalents (with the exception of neovim). ripgrep and fzf are already a large part of my workflow, and I love seeing WebAssembly becoming the universal plug and play standard. > Build a web client to…

I believe you could. I can share the story from a bit different field. I was using a split keyboard with staggered layout and just built an Ergodox because wanted to try vertically staggered layout. Another differences are thumb clusters of keys on Ergodox and different firmware. So the layouts of both keyboards are very different and different customisations can be made.

The main thing which I was afraid of was the same as you've said - that I won't be able to change my muscle memory. Another thing - I won't be able to switch back the old keyboard (I expected to use it at the office) or even won't be able to use laptop keyboard anymore.

Surprisingly even after getting comfortable with Ergodox with totally different layout (different firmware is being used between keebs) I'm still able to jump between those easily. Maybe the first 5 mins are a bit harder but that is it. This surprises me what human brain is capable to do. Of course I still need to switch between keyboards regularly to not forget the layouts.

Not the same thing but we often are afraid of unknown.

Re: Zellij – A Terminal Workspace and Multiplexer

#92
post #22

Earlier quoted context omitted.

I use tmux locally even though I run i3 as my window manager. Mostly because I configured tmux to show the current directory and git branch (if in a git directory) so I can keep my prompt a clean "$".

My trick is all the directory, date, git junk in my prompt is separated by a newline and then $, so when I copy and paste my shell somewhere, I can just drop those lines easily without having to do fine selection.

That seems like a lot of wasted space to me. The benefit of putting it into tmux is it only shows in 1 place. I don't need to see the git branch and folder of the location where I ran my previous commands, I just need to see where I am at right now.

Re: Zellij – A Terminal Workspace and Multiplexer

#93

You have a problem and you need a configuration language, so you pick YAML. Now you have two problems. Take a leaf out of Rust's book and use something simple and sane like TOML, YAML is a mess. See: https://github.com/cblp/yaml-sucks Otherwise this looks like a great project, please don't ruin it with YAML.

For hierarchical data I've found JSON5 to be much more enjoyable to work with than YAML or TOML.

Re: Zellij – A Terminal Workspace and Multiplexer

#94
post #75

You have a problem and you need a configuration language, so you pick YAML. Now you have two problems. Take a leaf out of Rust's book and use something simple and sane like TOML, YAML is a mess. See: https://github.com/cblp/yaml-sucks Otherwise this looks like a great project, please don't ruin it with YAML.

YAML sucks but so does TOML, especially when it comes to nested data structures like the layout.yaml shown on the front page. There are no good configuration languages in existence and there never will be. We have rejected Lisp/sexp so now we must suffer endlessly.

I would say that Dhall is fine, just from a parallel universe.

JSON is close to sexps, but it sucks when comments are not allowed.

Re: Zellij – A Terminal Workspace and Multiplexer

#95
post #8

What's the point of fitting multiple terminals in a single text-mode screen when everybody is using GUI terminal emulators and tiling window managers? I remember good old pure text-mode days with warmth but doubt there are many people actually doing it nowadays. So I imagine this (thesubject) is going to be ran inside a GUI terminal emulator window and I don't understand how is that better than just having more windo…

I'm a heavy terminal user, and I cannot understand how people use something like tmux that constantly causes full screen refreshes and hangs due to one part misbehaving.

Are you saying that tmux feels slow on the terminal? If that is the case maybe using different terminal might help. I'm fan of `st` terminal because of its speed. And haven't noticed any slowness of tmux.

Re: Zellij – A Terminal Workspace and Multiplexer

#96
post #87

Earlier quoted context omitted.

> It's fashionable to hate XML because it was used in a lot of places it was a bad fit in the 00s, but at least it's a pretty good document language. > YAML though is always a bad fit. If you want machine readable config, use JSON; human readable, use TOML. When does YAML ever fit? https://twitter.com/carlmjohnson/status/1372224080749993988

I never got this stance; JSON sucks for config files, because as a user, if there is anywhere that I need and am more thankful for comments, is in a configuration file. And TOML is maybe a good substitute for INI formats, but it doesn't really support nested data like JSON would, so suggesting to use TOML instead of JSON is misleading except for the simplest and most basic needs. If replacing JSON is the objective, I…

What about HOCON? https://github.com/lightbend/config/blob/master/HOCON.md

Re: Zellij – A Terminal Workspace and Multiplexer

#97
post #84

You have a problem and you need a configuration language, so you pick YAML. Now you have two problems. Take a leaf out of Rust's book and use something simple and sane like TOML, YAML is a mess. See: https://github.com/cblp/yaml-sucks Otherwise this looks like a great project, please don't ruin it with YAML.

Or, to avoid sooner or later falling into Greenspun's Tenth Rule, just go immediately to Lua, which actually evolved out of a configuration language ( https://www.lua.org/history.html ), so it has syntax & features that are quite friendly for writing configs.

I'd never heard of Greenspun's tenth but that's good to know! I had a personal theory that all program configuration interfaces eventually become programming languages (poorly) and maybe this fits in there.

Re: Zellij – A Terminal Workspace and Multiplexer

#98

Earlier quoted context omitted.

You don't have to use the mouse with tiling window managers... /s heavy tmux user that left it for xmonad.

Yeah, I think that the main benefit of tmux is session management. Tiling window managers can replace tmux panes.

Tiling window managers cannot replace a multiplexer's knowledge about the session.

I use a multiplexer because it lets me instantly open a new terminal in the same directory I'm currently working in. Furthermore it can open the terminal's buffer in Vim, letting me select and copy text using all features and shortcuts I'm used to. Doing the same by scrolling around, selecting snippets using the mouse and pressing Ctrl-Shift-C cannot compete with that.

Yes, there are a few terminal emulators with integrated tabs and window splitting and all that which offer similar features, but then they also have countless other things I don't need and in return take ten times longer to open a new window.

Re: Zellij – A Terminal Workspace and Multiplexer

#99
post #75

You have a problem and you need a configuration language, so you pick YAML. Now you have two problems. Take a leaf out of Rust's book and use something simple and sane like TOML, YAML is a mess. See: https://github.com/cblp/yaml-sucks Otherwise this looks like a great project, please don't ruin it with YAML.

YAML sucks but so does TOML, especially when it comes to nested data structures like the layout.yaml shown on the front page. There are no good configuration languages in existence and there never will be. We have rejected Lisp/sexp so now we must suffer endlessly.

Take a look at HOCON (Human-Optimized Config Object Notation)

https://github.com/lightbend/config/blob/main/HOCON.md

Re: Zellij – A Terminal Workspace and Multiplexer

#100
post #84

You have a problem and you need a configuration language, so you pick YAML. Now you have two problems. Take a leaf out of Rust's book and use something simple and sane like TOML, YAML is a mess. See: https://github.com/cblp/yaml-sucks Otherwise this looks like a great project, please don't ruin it with YAML.

Or, to avoid sooner or later falling into Greenspun's Tenth Rule, just go immediately to Lua, which actually evolved out of a configuration language ( https://www.lua.org/history.html ), so it has syntax & features that are quite friendly for writing configs.

Lua tables are great for nested configurations like layouts.
Post reply on HN