Add a Guake-like mode

Bug #1612399 reported by Sergio Costas
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Terminator
New
Wishlist
Sergio Costas

Bug Description

I made some changes to add to terminator a guake-like mode. If launched with "terminator --guake", it will work exactly the same than guake (but, of course, you will be able to open classic terminator windows at the same time).

By default it is enabled with Shift+Alt+F12, but can be changed (it is a different key than the hide one, to allow both modes to be used simultaneously).

I attach the diff file. Some lines seem to be changed because my editor removes the trailing spaces.

I'll check the GTK3 port to implement the same, if you like it.

Revision history for this message
Sergio Costas (rastersoft-gmail) wrote :
Revision history for this message
Stephen Boddy (stephen-j-boddy) wrote :

Hi Sergio, that's a bit of a monster patch. Sorry I never actually spotted it before now. I've had a very quick look on the old gtk2 base, but yes, to stand a chance of getting merged it really needs to be ported to gtk3.

A few comments (edit: actually quite a lot when I got going):
1) Yes, everyone hates whitespace changes. If you can tell your editor not to do it for future patches, great. If not it would make the patch easier to digest if you could reverse/delete those hunks/lines.

2) Not sure if this is intentional, but with "Hide on lose focus" when the window loses focus, there's an exception, and the window remains:
Traceback (most recent call last):
  File "/home/steve/Development/terminator/feature-gtk2-guakemode/terminatorlib/window.py", line 341, in on_focus_out
    self.hidefunc()
TypeError: 'NoneType' object is not callable

3) Once started, there is no easy/obvious way to kill it. I have to Ctrl-Z and kill %1 the job. Is it really necessary this is an never-ending loop?

4) The window often pops back up without focus on a terminal, so I have to click on it before I can type.

5) If I drag the bottom border (splitter?) around at any kind of speed I get a large grey rectangle below the terminal and a splitter between it and the black terminal.

6) In window.py you put your new methods above __init__. By convention (at least here in Terminator) __init__ is usually the first method in the class def. Usually I try to group similar code (i.e. key_* and on_* tend to be grouped. If a function logically goes with an existing function I tend to add it at the end of the cluster, and if it is totally new stuff, I put it at the end of the class.

7) Try not to use single letter variables. In a single function it might make sense at first, but then everyone starts doing it, and next thing you know Donald Trump is president! OK, maybe it's not *that* bad.

8) I'm a little concerned about the amount of "stuff" in the main terminator launch script. This has been kept as stripped down and minimal as possible, and I'm just wondering if there's a better place for that code to go one of the terminatorlib files.

Changed in terminator:
assignee: nobody → Sergio Costas (rastersoft-gmail)
Revision history for this message
Sergio Costas (rastersoft-gmail) wrote :

Ops... after so many months I supposed that terminator wasn't being maintained any more... I'll check how to port this to Gtk3.

Changed in terminator:
importance: Undecided → Wishlist
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.