terminator icon indicating copy to clipboard operation
terminator copied to clipboard

should background picture not splited while the terminal is split

Open meison92 opened this issue 2 years ago • 4 comments

Is your feature request related to a problem? Please describe. When I split the screen, the background picture is always stretched, which doesn't look very beautiful.

Describe the solution you'd like Can I make the background picture not splited while the terminal is split

Describe alternatives you've considered one terminator windows use one background img.

Additional context image

meison92 avatar Jun 13 '22 11:06 meison92

Hi! That's really a think that should be implemented.

Right now, the image is drawn on the terminal widget, but i think it's totally possible to draw it on notebooks and the window itself.

Edit: one big problem I've thought about: the code for background images is per-profile. But having multiple terminals means it won't be possible to do it per-profile. A few non-obvious design choises will have to be made.

Vulcalien avatar Jun 13 '22 11:06 Vulcalien

we could have a background image in the global section, and a different background image in the profile section. That might look weird in some cases, and that is opening a can of worms layering what would have to be basically transparent vte terminals on top of notebooks or windows with a bg image.

One other thing we could do is to give a few options on how to handle the image other than just stretch the image, but given the layout presented in this issue, I'm not sure that any way of resizing the image would look acceptable. As you say, a few non-obvious design choices...

mattrose avatar Jun 20 '22 02:06 mattrose

I have a bunch of ideas about this. The layering would work perfectly. We just need to write to the notebook/window, without even modifying the way terminals draw. The notebook/window would be the bottom layer, the terminals would be the top layer.

The image would be visible only through transparent terminals, but that could be set up by the user. It's the most customizable way I can think of, but since the default for terminals is a solid color, let's remember to put a note like "Remember to set the terminal background to transparent".

Edit: drawing on notebooks doesn't make sense, just draw on the window

Vulcalien avatar Jun 21 '22 00:06 Vulcalien

White we are at it, the code for image stretch is in terminal.py:1126

xratio = float(rect.width) / float(self.background_image.get_width())
yratio = float(rect.height) / float(self.background_image.get_height())

Shouldn't be too hard to make a setting to calculate xratio and yratio in different ways.

Vulcalien avatar Jun 21 '22 11:06 Vulcalien