This new update brings bug fixes, a significant overhaul of the codebase, and the long-awaited tab-splitting feature. We have been working hard to deliver a highly ergonomic and customizable system to let you fully enjoy how your tab should be organized.
Tab splitting
With this new system, you will have the ability to open a new terminal within an existing tab. We've also provided the ability to split a specific terminal in two, with the option to repeat this process multiple times to organize your tabs as desired.
Basics
The most common use case is when you need 2 shells on your screen simultaneously, allowing you to access both at the same time. You can achieve this simply by executing some of the new shortcuts, which enable you to open the default profile or another one specified by an ID within the currently focused tab.
Tess automatically adjusts both panes of the tab depending on the window's dimensions to ensure an optimal layout. You can also repeat the process to create up to 36 panes per tab.
By default, when attempting to close the tab, a confirmation popup will appear to prevent the close of any important process.
This behavior can be turned off by setting the close_confirmation.group
key to false
(or alternatively, disabling all close confirmations) as follows:
{
"close_confirmation": {
"group": false
},
// Or
"close_confirmation": false,
}
Split & Close Specific Pane
The tab splitting system allows for even greater flexibility, letting you split your panes recursively, without any depth limit. The easiest method to achieve this is to execute one of the many shortcuts that include specific_pane
in their name.
These shortcuts operate somewhat differently from others, as these require user interaction to run completely. You will be prompted to select a pane where the action will be applied. An additional UI will appear over the view, allowing you to select the appropriate one with your keyboard. This mechanism is pretty simple:
-
You can navigate between panes using
Tab
, theArrows
keys, or by pressing the corresponding letter on your keyboard. Confirm your selection by pressingEnter
. -
In the case where you have recursively split your tab, you may be asked to repeat this process on the selected pane itself until you reach one without any children. Of course, you can return to the previous step by pressing
Backspace
. Additionally, if you want to target a pane instead of its children, you can pressCTRL + Enter
to apply the shortcut to the currently selected one. -
You can cancel and return to the terminal at any time by pressing
Escape
. -
Supposing there is only one pane in the tab, no further action is required, and the shortcut will be applied automatically.
Split & Close Focused Pane
Alternatively, you might find it useful to split or close the currently focused pane. Shortcuts for these actions are implemented too. All you need to do is configure them, and voilà!
Shortcuts changes
With the addition of the tab-splitting feature, we have introduced several new shortcuts. Here is a list of them:
CloseFocusedPane
CloseSpecificPane
SplitTabAndOpenDefaultProfile
SplitFocusedPaneAndOpenDefaultProfile
SplitSpecificPaneAndOpenDefaultProfile
SplitTabAndOpenProfile(String)
SplitFocusedPaneAndOpenProfile(String)
SplitSpecificPaneAndOpenProfile(String)
As a reminder, the last three require a reference to function, specifically the ID of a profile. You can configure them as follows:
"shortcuts": [
{
"shortcut": "CTRL+ALT+W",
"action": "close_focused_pane"
},
{
"shortcut": "CTRL+MAJ+O",
"action": {
"split_tab_and_open_profile": "{{PROFILE_ID}}"
}
}
]
To ensure coherence between them, we've also renamed the shortcut closeAllTabs
into closeWindow
.
Smoother animations
Another focus of this update was enhancing the animations and transitions in the UI. We've been working on fixing and improving tab dragging, revamping toast notifications and optimizing resource usage.
Codebase restructuration
We also have reworked and improved how the whole interface is managed by the various controllers, leading to significant performance improvements and easier code maintenance.
Bug fixes & others
Additionally, we have resolved many rendering issues, including a noticeable reduction in the flickering caused by applications with high refresh rates.
Recently, WebKit released a fix for the green artifact rendering issue that could occur on Linux when an Nvidia card was used during the rendering process. You should now be able to set an image as the background without encountering additional rendering problems. However, we've identified a new bug when using the transparent background. We're currently investigating it, which may once again stem from an Nvidia and WebKit compatibility problem.
Feel free to open an issue on GitHub or submit a report on our discord. A complete and detailed patch note is available on the GitHub release.
Rewrite Progress
Features | Electron | Tauri |
---|---|---|
Translation | ❌ | ⌛ |
Tabs | ✔️ | ✔️ |
Move tabs between windows | ❌ | ⌛ |
Administrator tabs | ❌ | ⌛ |
Tabs split | ❌ | ✔️ |
Command line interface | ✔️ | ⌛ |
Notifications | ❌ | 🟠 |
Macros | ❌ | ✔️ |
Plugins | 🟠 | ⌛ |
Themes | 🟠 | 🟠 |
Config page | ✔️ | ⌛ |
Config watching | 🟠 | ⌛ |
Image display | ❌ | ⌛ |
Font ligature | 🟠 | ⌛ |
Animated background | ❌ | ✔️ |
URI scheme API | ❌ | ⌛ |
Search in a shell | ❌ | ⌛ |
Marketplace | ❌ | ⌛ |