Live data from Hacker News

Zellij: A terminal workspace with batteries included

zellij.dev

61–70 of 105 posts

Re: Zellij: A terminal workspace with batteries included

#61

Earlier quoted context omitted.

"It is inherently different, because it's been proven that you can detect the use of curl|bash Serverside" Malicious people do malicious things? I worry that we conflate trust with validity. Some package systems do it better than others, but in principle you trust that for example, a maintainer of a package repository is not serving you bad checksums and malicious content. After all these systems get their checksums/…

I think I wasn't clear enough so I'll try to rephrase it: A compromise from a malicious curl|bash script is basically impossible to detect. All other avenues at least give you the potential ability to figure out how you were compromised after the fact. With curl|bash there is no trail and you can never find out which commands were actually excecuted, because it's possible to detect the |bash on the server that's prov…

Thanks for the clarification I see now what your getting to. I agree having proper packages makes sense at some point in a project's maturity, as you have more infrastructure, checks, and gates to ensure that what you requested is 'valid', and the system produces enough logs/data to compare to other systems to detect drift/compromise. I tend to see if a project gets popular enough, with enough eyeballs/contributors, official packages tend to become inevitable.

Since we've passed the trust gate up to this point for discussion purposes, I still wonder if there is a better model for young projects. Its not just we have multiple package formats, its the per distro/version matrix that tends to bite small developers and projects on time commitment. I would like to see something better than 'curl | sh' that is practical and portable across the unix-y ecosystem. Perhaps a third-party checksum db that caches valid script hashes ala golang sumdb or similar. Seems ripe for improvement.

Re: Zellij: A terminal workspace with batteries included

#62
post #47
post #45

I assume Neovim users don't need to care about this thanks to in-built terminal and ability to split, resize and switch between them using standard vim key bindings.

Or Vim users, they have those features too. But for the Neovim users (including myself), this is handy if they would like to use other applications besides neovim while keeping their neovim session open.

vmux [1] might be of interest to you.

It uses the (n)vim remote API with tmux to maintain a global (n)vim session and redirects files opened via `vmux` back to the global session and switches to the window in tmux that session is visible in.

Hints:

- use `pipx` [2] to install `vmux` to make it available globally so you don't need to mess around with virtual environments.

- just `alias nvim=vmux`, and use `command nvim` if you need the real thing.

- I set the following in my profile file:

  export VMUX_EDITOR="nvim"
  export VMUX_GLOBAL="true"

  alias nvim=vmux

[1] https://github.com/jceb/vmux/

[2] https://github.com/pypa/pipx/

Re: Zellij: A terminal workspace with batteries included

#63
post #58

Not to be dismissive, but I have no idea why I should want to install this. I actually just spent a few hours setting up a tmux configuration yesterday , so I feel like I'm in the target audience for this, but... I can configure panels with YAML, it looks like. Why would I want to change my resizable panes for a set of static ones? It supports arbitrary plugins, is says. But can't I just run any program in tux, so wh…

Hey, Zellij dev here. I'll try to answer your questions: - regarding layouts/panes: the panes you configure in the layouts are still resizable a runtime. It just saves you the initial setup. In Zellij you also have a generic non-directional "do what I want" resize, btw. - regarding plugins: the plugin system is indeed very much a work in progress, mostly because we're an OSS volunteer project and the person in charge…

Thanks for the response.

> regarding layouts/panes: the panes you configure in the layouts are still resizable a runtime. It just saves you the initial setup.

I might use a "save current layout as a template" command, I guess. But I don't think I'd ever bother to learn the custom configuration format for building these myself. If you already have such a command, I'd suggest highlighting that on the site instead of a screenshot of YAML.

> imagine custom expandable folds depending on content, notifications depending on content

OK, this seems like it might be interesting to play with. Is there any "killer plugin" for it yet?

Re: Zellij: A terminal workspace with batteries included

#64
They just merged sixel support (the oldest images in terminals protocol).

Which shows that they are going places gnu screen and tmux have never wanted to.

In zellij you can scroll through and flip between different terminals that show sixel images, it's quite neat, knowing that such leaps are being made.

Meanwhile as a longtime GNU Screen user, I've been using workarounds to pass through hyperlink markup (ls --hyperlink) and thinking about what I could do if there was sixel or other image protocol support - Zellij already supports hyperlinks just fine, and now images so it is very promising.

Re: Zellij: A terminal workspace with batteries included

#65

I love Zellij - have been using it for the last eight months. However, I wish it had a real programming language for configuration (since a program like this can be so versatile) instead of TOML. I also miss a few tmux plugins.

What do you miss?

Re: Zellij: A terminal workspace with batteries included

#66

Serious Q: Has a serious emacs user checked this out? It looks exciting, but I’m a full time, long time, emacs -nw multi-buffer M-xshell user. Am I going to be disappointed bcs either it’s not going to let me run emacs on its sub windows, or it will have unresolveable key binding incompatibilities?

A great reason to prefer Emacs is that Emacs is graphical, no more need of this pseudo-terminal junk. If you want persistence, start an emacs server.

(Yes, Emacs can still run in terminals if you want to. You just don’t need to keep pretending it’s 1979.)

Re: Zellij: A terminal workspace with batteries included

#67

Earlier quoted context omitted.

Please lend your own time and energy to generate packages for bespoke distributions and package managers. You will need: deb, rpm, apk, AppImage, casks, tars, and likely more. Make sure to spend your time submitting your package to maintainers for each repository/registry for each distribution and each distro version. Don't forget to test each and every permutation! Is all that too hard? No problem. Stand up your own…

It is inherently different, because it's been proven that you can detect the use of curl|bash Serverside. This makes it possible to serve the malicious payload only to people which do that. But I'd agree that the hurdle to get your package into system repositories likely ain't with it. People are free to compile it themselves, download it manually or whatever floats their boats if they don't want to use the quick and…

> because it's been proven that you can detect the use of curl|bash Serverside.

Sure, but what you're missing is that this argument would also strike down package managers. For example, you could similarly fingerprint the difference in behaviors for apt-get vs normal http utilities and only serve malicious packages to people grabbing via apt (likely someone trying to run the code) vs downloading in a browser or via curl/wget (most likely an auditor). This is trivial to do and of course individual packages as well as entire package delivery mechanisms have been compromised.

The value add for package systems is signatures.

Re: Zellij: A terminal workspace with batteries included

#69
post #60
post #45

I assume Neovim users don't need to care about this thanks to in-built terminal and ability to split, resize and switch between them using standard vim key bindings.

I'm the original Zellij creator. I am and have long been a vim user. I created this tool originally for people like us. It has lots and lots of extra features and functionality (eg. opening the current pane scrollback inside your default editor in-place). Check it out if you like.

> opening the current pane scrollback inside your default editor in-place

Wow, that was my favorite feature in dvtm. I'll definitely check it out because while I mostly just use terminal buffers in NeoVim I always get so annoyed that moving the cursor is only possible letter by letter with arrow keys, which is ironic because every bash terminal supports basic inline Vim navigation.

Little comment about the website: I think it would be better to show the content of the About page (or a summary) on the start page instead of just telling people to install a program they don't know anything about. "Terminal workspace with batteries included" can mean almost anything.

Post reply on HN