Irssi: Vertical split windows / tmux-like "panes"

Created on 15 Feb 2015  路  13Comments  路  Source: irssi/irssi

I would like the ability to split irssi windows vertically, not just horizontally. I think this is one differentiator between irssi and some other clients (e.g. WeeChat) that could make irssi more frustrating to use. This feature would be beneficial (as beneficial or possibly more beneficial than horizontal splits) because:

  • Most displays in use today have a wide-screen aspect ratio, 16:10 or 16:9, as opposed to the more common 4:3 that was more common in the 90s and early 2000s.
  • There is a lot of neuroscience that suggests that humans are biologically wired to handle horizontal tracking and motion detection (looking sideways) much more naturally and quickly than vertical (looking up). Maybe this is because our natural predators and natural prey mostly move horizontally relative to us. Our field of view and peripheral vision are wider horizontally than vertically, making it easier to track movements laterally/horizontally than vertically.

This was previously posted back in 2005 on the old bugtracker as task FS#310. I don't see any resolution on bugs.irssi.org for this issue, nor does a cursory search for issues containing the word "vertical" show any results on the irssi GitHub issue tracker (at the time of writing). A cursory search of the irssi-dev mailing list also showed no results for vertical.

Some hacky approaches for very limited vertical splitting of specific types of windows exist, e.g. for nicklists using a combination of the nicklist.pl plugin and tmux as discussed on the ArchLinux wiki. I think whatever is implemented should not depend on an external program like tmux, though perhaps we could borrow from tmux's approach to "split panes", maybe even some of the code from tmux is reusable for this purpose (if the license permits it)? (Isn't it ironic that tmux's own screenshots demonstrating their pane splitting feature irssi? :-))

I think the implementation could either be a rewrite of irssi windows to be more like tmux "panes", or simply adding vertical split support. Tmux (panes), vim (:vsplit), and emacs have vertical and horizontally split panes/buffers, and could be used for UI inspiration.

Has this been discussed and rejected recently (within the past decade), or is it fair game for revisiting?
Is anyone willing to volunteer their time to do this?

enhancement

Most helpful comment

see #697 if you want to help

All 13 comments

is anyone willing to sponsor this work ;-) it requires a complete rewrite of the fe-text rendering back-end

What's an appropriate bounty? :-)

As a hardcore tmux user, this would make my day. I have long been considering switching to weechat for this feature. However, my irssi is too perfectly configured. If I had the time to do that, I'd sit down and make a config conversion script but, sadly, I don't have that time.

I think the bounty question is a valid one. If we were to get this sponsored, how much would enough be? :money_with_wings: :moneybag: :dollar:

If you're using tmux, isn't there a workaround, displaying different irssi windows in separate tmux panes ?

irssi does not support displaying itself in multiple terminals

It appears so. I have a bad habbit of asking a question first, and THEN do research :smoking:

@ailin-nemui what does "sponsoring" entail? how much are you asking? we might be able to crowdfund this. ;)

It might be more forward thinking to expand irssi-proxy's functionality to include things like sharing activity read/unread status. Tmux/other can multiplex, irssi doesn't need to.

I think instead of using irssi proxy for this, irssi should really separate our frontend from core and add the ability to feed multiple of the former from a single instance of the latter.

I agree, I was just offering a more immediate (lazy) solution for the time being.

see #697 if you want to help

As an aside, I think it would be cool if irssi was somewhat split into server/client model where the server has the connection to the irc server, and the clients have the interface. With this model, I could have one connecting to my IRC server, and move between different irssi-clients within tmux itself. Rather than recreating tmux panes in irssi.

@EvanCarroll you can use irssi proxy https://github.com/irssi/irssi/blob/master/docs/proxy.txt

You can also use irssi in docker and docker attach remotely through ssh/mosh if you'd rather do that.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

spaghetti2514 picture spaghetti2514  路  47Comments

ailin-nemui picture ailin-nemui  路  17Comments

redconnection picture redconnection  路  19Comments

ahihi picture ahihi  路  9Comments

lewisrobbins picture lewisrobbins  路  19Comments