Guake / Guake/guake

Guake terminal resize (zoom in/out) feature incomplete; some command line bugs and shortcomings.

Open
#1,568 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
4.7k
Forks
604
PR merge metrics
No merged PRs in 30d

Description

Guake Terminal: 3.3.1
VTE: 0.52.2
VTE runtime: 0.52.2
Gtk: 3.22.30
OS: Ubuntu 18.04
Using with a Guake Indicator 1.3 version for guake3.

I've been using the zoom feature and it has many surprises and disappointments.

1. I'd like to modify the default font size I'm using with guake. But, alas, I cannot change this. I must do it manually. I use the ctrl-+ and ctrl-- key combos to zoom in and out. These font size changes apply to all the tabs, not just the current one. Which make for some interestingly complex work-arounds, and some row/cols adjustments that have to be manually applied to some tabs and not others.

2. The command line is missing zoom commands. You can do several things by issuing command line options to modify and manipulate settings in a currently running guake, but zoom is not on the list.

3. DOCUMENTATION BUGS: manpage for guake: Synopsis. [t, --tab-index] is wrong. it should be: [-i, --tab-index] (at least, according to the OPTIONS section.) AND the OPTIONS section is poorly descriptive.... for instance, --rename-tab:

It says:
--rename-tab
Rename the specified tab. Reset to default if TITLE is a single dash "-".

But wouldn't it be better said:

--rename-tab TITLE
Rename the specified tab. Reset to default if TITLE is a single dash "-". Use the -i
option to indicate which tab you wish to rename.

I'm not sure if the above is correct; it's not documented. :)
This applies to every option that has "arguments", like -s, -e, -i, --bgcolor, --fgcolor, and -r.

4. MISSING OPTIONS -- Here is what I suggest:
--absolute-zoom LEVEL
You can only hit so many ctrl-MINUS and ctrl-PLUS keys. Experiment says
where LEVEL is a number between (-6, +11), or (0, 17), depending on how
you want to number things.
12 x 52 (+11) (17) (Hugest font setting)
13 x 59 (+10) (16)
15 x 66 (+9) (15)
17 x 73 (+8) (14)
19 x 84 (+7) (13)
24 x 108 (+6) (12)
27 x 123 (+5) (11)
30 x 132 (+4) (10)
33 x 154 (+3) (9)
37 x 168 (+2) (8)
41 x 184 (+1) (7)
48 x 205 (0) (6) (The "as-is" default)
54 x 231 (-1) (5)
57 x 264 (-2) (4)
61 x 308 (-3) (3)
72 x 369 (-4) (2)
78 x 369 (-5) (1)
86 x 462 (-6) (0) (Get out a magnifying glass!)
[The screen sizes are, of course, local to my own screen and preferences, but do express some factor of scale.]

--relative-zoom [ -6 to +11] -- will scale all tabs relative to current zoom (font-size) setting. It will change zoom to max/min levels and go no further.

--zoom-level returns the current zoom setting in the absolute scale above.

It could easily be, that the zoom levels are OS dependent, so it might be published what the min/max levels will be.

5. BUG: Creating a new tab changes the current zoom level! ARRRRGGGGG!!!! There is no
easy fix to this to get things back to the way things were. See the above for a possible scripting solution, but without them, it's a manual job set the new window (and all the others) back to the zoom level you chose.

6. NICE: The straight SSH sessions will adjust their terminal sizes automatically in guake tabs, if you do any zooming, but the indirect sessions will not. So, if you are running an access server, and use it to open ssh sessions on other machines, you will need to reset term sizes by hand (ssty rows xx cols yy; reset) You *CAN* script this with a front end script (as in expect scripts). I guess I could write a script to go fetch the terminal size in each tab, and adjust them if they are wrong, but I would need another command line option for this, see #7.

7. BUG: missing the necessary command line options:
--num-tabs
returns the number of tabs in the guake session.
--list-tabs
returns a list of tab names, preceded by the tab index and a space.

8. BUG: You allow the use of tab reordering shortcut keys, but no way to script these.
So, these command line options are missing:
--move-tab-left (use with -i to indicate which tab to move left). Moving tab 0 to the left has no affect. Moving a non-existent tab is also ignored.
--move-tab-right (use with -i to indicate which tab to move right). Moving the last tab right is ignored. Moving a non-existent tab is ignored.

I'd guess some may consider the above ENHANCEMENTS rather than BUGS. Sorry, I'm of the camp that says that you are going to supply a feature, be consistent. The above problems do greatly hinder scripting Guake.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.