Here are some basic enhancements to lxterminal. I'm not sure if they'll be accepted but I had fun implementing them.
- Instead of a separate dialog, tab renaming happens on the tab label itself (more intuitive).
- If tabs not visible, show tab in order to rename.
- Same menu entries to rename but also accessible through right-click on tab label.
- Renaming now sets the tab tooltip as well.
- Naming tab to empty string resets name to default.
- 'Enter' saves name, 'Escape' aborts operation. (Should we also abort on focus-out?)
- Gets rid of a small memory leak in the old rename dialog (g_strdup in terminal_name_tab_response_event() by removing the dialog entirely.
The patch applies to 0.1.11 because that is what I use but it should probably work on git without many changes.
If I don't press enter or escape while editing the name but if I click into the terminal area, the name of the tab stays in editable mode. I can do this with more tabs too and all stay in editable mode.
I think the name change should be cancelled if Entry looses focus...
Plus it would be great if after changing the name (enter) the focus returned to terminal. This isn't the case with your patch.
I'll add focus returning to terminal on enter, thanks for noticing that one.
I wasn't sure what to do on lost focus.
I left it as is so that people wanting to grab some text to paste as the name could do so. Essentially, I didn't want to stray too far from what the old dialog let you do. Overall though I think you're right and it adds confusion so I don't mind having changes cancelled on lost focus.
I should have a patch ready with those two things later tonight. If anyone has arguments/ideas regarding behaviour on focus loss, speak now or forever hold your peace ;)
Here is the updated patch which adds:
Usability question:
This lets you rename a tab without switching to it. Should we automatically switch to it?