Merge lp:~iq-0/terminator/terminator into lp:terminator/trunk
Status: | Needs review |
---|---|
Proposed branch: | lp:~iq-0/terminator/terminator |
Merge into: | lp:terminator/trunk |
Diff against target: |
444 lines (+70/-127) 7 files modified
terminatorlib/config.py (+1/-0) terminatorlib/container.py (+10/-4) terminatorlib/ipc.py (+4/-6) terminatorlib/notebook.py (+15/-23) terminatorlib/paned.py (+3/-2) terminatorlib/terminator.py (+5/-13) terminatorlib/window.py (+32/-79) |
To merge this branch: | bzr merge lp:~iq-0/terminator/terminator |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Stephen Boddy | Needs Fixing | ||
Review via email: mp+191196@code.launchpad.net |
Description of the change
I wanted to add a simple feature: Always show tabs.
When I was investigating what needed to be done I came across a whole lot of conditionals around the use of a notebook in the terminator window. Instead of adding to the complexity of when a notebook could be present I thought it was better to simply always have a notebook present.
The reason a notebook is different from the HPaned and VPaned elements is that there can be at most 1. Any possible resources saved by not using a notebook are effectively used up by including more code to workaround the presense/absense of the notebook.
This code should handle old layouts well, but new layout will not include the 'Notebook' layer (which is effectively consolidated into 'Window'). It removes some duplicate logic about initialising a terminal. And finally it removes having to deal with what is in a Window (it's always a Notebook).
The new 'autohide_tabbar' option defaults to True, so it mimicks how Terminator now works, but setting it to false will always show the tabbar.
Unmerged revisions
- 1472. By <email address hidden>
-
Fix first terminal split on a tab
- 1471. By <email address hidden>
-
Add option to disable autohide on tabbar
The new global config option is called 'autohide_tabbar' and defaults to True
which mimicks the current behaviour.Instead of adding more conditionals to whether or not to use a Notebook this
patch changes Window to always have a Notebook. This simplifies a lot of code
paths and strips a layer from alle layouts that use tabs.It could possibly be merged even further, but these changes removed the most
obvious redundant code paths and were enough to simply add 'set_show_tabs()' on
tab open/close to make it work.
Hi Justin. Not sure if you're still around/interested, but perhaps you have noticed I've gotten through the outstanding merges, except for yours. Because it was a bit large and scary looking mostly.
Just to be clear up front, in principle I don't have a problem with the idea, but there are issues.
I've taken a branch and been playing with it, and I straight away notice a couple of functional problems, although it is not clear to me from a quick look at your commits what exactly is causing it.
1) Set homogeneous on, and scroll button off.
2) Exit and restart.
3) Create new tab, tabs as expected, (homogeneous, no buttons)
4) Set scroll buttons on, and click close.
5) The tabs disappear! *1
6) Create new tab
7) Tabs are back with the scroll buttons
8) Set scroll buttons off, and click close
9) Again the tabs disappear
10) Create new tab
11) Tabs are back, but they're a bit messed up, and corrupted, with text overlapping *2
12) Exit window
So things that need to be fixed before proper testing is possible:
*1 Doing anything with the tab settings seems to make the tabs disappear
*2 When turning off the scroll buttons it doesn't seem to go back to homogeneous properly.
I'm probably going to put a few comments below on the Diff.