gnome-shell-extension-ddterm icon indicating copy to clipboard operation
gnome-shell-extension-ddterm copied to clipboard

screen splitting

Open maxadamo opened this issue 3 years ago • 7 comments

either Guake, Tilix, Terminator... support terminal splitting (see below screenshot) which is useful, if I run tail against multiple log files.

immagine

maxadamo avatar May 16 '21 17:05 maxadamo

This is definitely doable. But as I don't need this feature myself, I'm not sure if I'll have time to work on it

amezin avatar Jun 27 '21 23:06 amezin

This is a real use case for me and this is how I watch logs contemporarily on multiple servers (and for now I am using another Quake application, which allows me to use Terminator): immagine

maxadamo avatar Jun 27 '21 23:06 maxadamo

This would be really nice to have, I would use it frequently. This is probably the only missing feature to reach yakuake and others

gorogm avatar Jul 14 '21 09:07 gorogm

On a side note, it would be interesting to understand what is the most common use case for Quake terminals. I use it only to watch logs, and since we have big monitors, splitting the terminal seems sensible.

maxadamo avatar Jul 14 '21 11:07 maxadamo

@amezin Wondering what your approach to implement this might be? Would it be enough to create two windows at locked widths/height/position?

jacksongoode avatar Oct 19 '21 16:10 jacksongoode

Two (top-level, i. e. X11/Wayland) or more windows are a really bad idea. The extension (wm part) is already a big pile of hacks that I don't fully understand myself. I'm able to maintain it in a somewhat working state only because of extensive testing (both automated and manual). I'm not even adding things like configurable width https://github.com/amezin/gnome-shell-extension-ddterm/issues/67 because, with the current state of things, it will be a testing nightmare.

The correct way here is to split appwindow.{ui,js} into two parts:

  1. the window itself
  2. GtkNotebook with all its corner buttons and other stuff

And, as the first step, add a GtkPaned into the window, then create two notebook instances and add them into the GtkPaned (so one split max).

If necessary, it will be possible to build a full tiling manager on top of this later. But at first, the solution with two panes should be working.

amezin avatar Oct 19 '21 19:10 amezin

@jacksongoode are you going to implement it, or just asking? :)

I see that multiple people want this feature... But I don't need it myself, so it's unlikely that I'll work on it

amezin avatar Nov 08 '21 13:11 amezin

After the major refactoring that happened in v44, this feature should be much easier to implement now

amezin avatar Sep 20 '23 07:09 amezin