Ubuntu – Xubuntu tiling: how to maximize terminal window for partial tiling

tilingwindow-managerxubuntu

I have problem when do tiling terminal in Xubuntu 14.10. Those terminal emulators (I've test with xfce4-terminal, xterm, and gnome-terminal) can be resized only by width/height of font they are using, thus it can not resized by 1px, see Fig 1.

Fig 1: Resizing Terminal Window

Fig 1: When I hold mouse cursor at bottom-right corner of terminal window (cursor not included in the figure), they show current size of the window. If I moves cursor to the right, terminal window will expand its width by size of 1 character at a time.

Now when I do full screen tiling (maximizing window), the terminal window will stretch its body to cover all screen, see Fig 2.

Fig 2: Maximize Terminal Window

Fig 2: Maximize terminal window, you can see a line [ NORMAL > ... < 100% < 1:1 ] ends with blank space that its width is shorter than font's width.

But when I do partial tiling (for example, left-tiling by moving the window to left edge so it expand to eats up half-left of the entire screen), the terminal window will not trying to stretch like when I do maximizing, see Fig 3.

Fig 3: Left-tiling Terminal Window

Fig 3: Left-tiling terminal window that leaves space from right-tiling web browser and bottom edge.

Here's the problem, if I do partial tiling and then open a new terminal tab (ctrl+shift+t), terminal window will expand it's size vertically, which will kick some lines out of screen (Fig 4). That's very annoying.

Fig 4: Kicked Line of Tiling Terminal Window

Fig 4: Last line (:q!) of left-tiling terminal is kicked out of the screen after a new tab is opened.

This problem is not occur with maximize window (like in Fig 2).

This problem is also not occur in Unity/Ubuntu 14.10.

So I wonder if a window (not only terminal) can be partially maximize? Or there are other workarounds out there? (or this is just a bug and should be reported to issue tracker?)

Best Answer

I have the same problem using Xubuntu with the default terminal emulator and window manager and have nearly gone insane trying to fix it. I have a partial answer and, unfortunately, no real fix for you.

As you mentioned, the window size in a terminal emulator (at least in xterm and xfce4-terminal, the ones that I tested) is handled in terms of font size rather than pixels, which one might expect. This is acceptable behavior according to the X window system manpage: "The WIDTH and HEIGHT parts of the geometry specification are usually measured in either pixels or characters, depending on the application."

This is why there are gaps around the terminal window when doing partial tiling: the window manager maximizes the window within that half of the display while using whole multiples of the font size for the dimensions. There may be a way to add offsets or fix this with in-depth xfwm or X configuration tweaks that are beyond me (I'm still pretty new to Linux).

The reason that the window takes up the full screen area when maximized seems to have to do with a setting that (I think) is on by default in a new Xubuntu install. If you open the Xfce4 settings manager, go to Window Manager Tweaks, and click the Accessibility tab, there is an option to "Hide frame of windows when maximized." When this option is checked, there are no gaps around the maximized terminal window; when it is unchecked, there are.

Unfortunately, this option only applies to maximized windows and not windows that are "maximized" to half of the screen by partial tiling. Disabling it will at least make the gaps around the windows consistent in both cases.

As far as your issues with the tab bar pushing lines off of the screen, tiling the window again after opening a new tab will bring the bottom of the window back into view. You could also set the terminal to always show the tab bar. This option is not available through the graphical preferences menu; you will have to edit ~/.config/xfce4/terminal/terminalrc and change the MiscAlwaysShowTabs option to TRUE. This way the size of the window won't change when opening a new tab.

Sorry I couldn't be of more help.