broadcast indicator

Bug #1375054 reported by Jonathan
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Terminator
New
Wishlist
Unassigned

Bug Description

Hi,

We are using terminator as a iterm2 replacement and would like to request the below feature for better notification when broadcasting to all open tabs or frames in a window.

add background image or pattern when broadcast_all is active.

remove background image or pattern when broadcast_off is active.

Suggest adding under [[profiles]] section in users config.
broadcast_image =

--- system details ---
snippet of user config file.
[keybindings]
  broadcast_all = <Shift><Alt>i
  broadcast_off = <Shift><Alt>o

terminator -v
terminator 0.96

cat /etc/issue
Ubuntu 12.04.5 LTS

gnome with Unity

------

Thank you,

Jonathan

Changed in terminator:
importance: Undecided → Wishlist
tags: removed: wishlist
Revision history for this message
Egmont Koblinger (egmont-gmail) wrote :

Alas, background image was removed from vte3.

Revision history for this message
Stephen Boddy (stephen-j-boddy) wrote :

@Egmont: I'll let you in on a secret. I was playing around with Cairo, and I have test code that will paint the window background with images. Then we just use the vte3 terminal transparency you came up with when you did the initial port. This will let us fully replicate background image, and much, much more. My plan is to make it generic enough to do "fake background", anchored emblems, text underlay with custom fonts, etc. It should even allow control of scaling, opacity, rotation, blur, and (in theory) even animation. Also the idea is to have a *window* background, and a *terminal* background.

It's not a huge stretch to make elements visible based on criteria such as this request. Of course this relies on me being unemployed so I actually have time to implement it :-D

Revision history for this message
Egmont Koblinger (egmont-gmail) wrote :

I played with it for a while some time ago but failed to make it work. I'd be curious to see the solution – preferably a small self-contained test app rather than integrated with Terminator :)

Other vte-based apps (e.g. mate-terminal that tries to bring you the gnome2-terminal experience, hopefully soon backed by newest vte) might find it very useful too.

Revision history for this message
Stephen Boddy (stephen-j-boddy) wrote :

I have discovered the small PITA that terminal background transparency (even within a window) only works on a composited desktop. That's a little annoying. I'm not sure how many people are on non-composited desktops, but they will not have the ability to use this (if I ever get it created/fully working).

I'm still hitting an issue where the test terminal is not visible. It's there and commands can be written, but the background is either rendered over it, or more likely, I need to tell child widgets to render after the background is rendered. Once I figure that out, I can give you a sneak peek, but be warned, it is extremely early, nasty, fudgy, chainsaw wielding code. :-)

Revision history for this message
Eric Young (youe) wrote :

I had been hoping for this feature for a long time. A strong indicator of broadcast mode is so nice to have. So I decided to figure out how to implement it myself and wrote a plugin yesterday.

When broadcast is enabled, the plugin will temporarily update the bgcolor of every terminal to your configured color. When broadcast is disabled, it will revert the bgcolor back to the previous color before it was changed. This color change is temporary because it is isn't persisted in the config.

The default color is a dark red (#400000) but this is configurable.

###### plugin config example ######
[plugins]
  [[BroadcastBG]]
    bgcolor = "#200020"
######

This isn't a standard plugin. To avoid adding multiple complex GTK window event or signal callbacks, I created a new plugin "capability" which I just named "broadcast_change". This callback triggers whenever broadcast mode is enabled or disabled. In order to add the new "capability", the plugin injects a new "set_groupsend()" method into the Terminal class. The new method has the same exact code as the class method (v0.98) but additionally calls the plugin callbacks matching "broadcast_change" capability.

I wrote the plugin against Terminator v0.98 and already confirmed it doesn't work against 1.x releases that use GTK3. The GTK bindings in the plugin are currently necessary in order to parse the color string. There is probably a better way to do this with the GTK dependency.

The only known issue with the plugin is that it will not update the bgcolor of new terminals (new tabs/windows). But if you enable/disable broadcast mode after creating the new terminal it will update it as expected.

Revision history for this message
Eric Young (youe) wrote :

I made a version of the plugin that works with Terminator 1.90 now. See attached.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.