More Konsole Updates: Tabs

One of the things that every old application suffers is from old code. It’s easier to keep something that works than to move to something new, even if the final result is better. Take a look at the current Tabbar + Buttons of Konsole.

 

Now compare with the one I’m working on:

Everything is working (of course I still need to test many things, but open, close, rearrange and detach are working), it’s prettier and it’s around 1.5k lines less to maintain.

37 Responses to “More Konsole Updates: Tabs

  • I do a lot of tab switching, usually with shift-left and shift-right, but also with the mouse. It’s quite easy to click the close button when every tab has one. The confirmation dialog will not always avert disaster.

    • tcanabrava
      4 months ago

      What if you configure the tabs to *not* have the close buttons? On mine I don’t have them as I feel them horrible but I’m forbidden to remove features… for me I would remove the close and the new tab button.

  • Andreas Kainz
    4 months ago

    Are the console icon is needed on each tab?

    I would like to have something like in kate where you see instead of the scrallbar a text preview.

    Would be cool to have text preview from other konsole tabs to see what happens.

    • tcanabrava
      4 months ago

      I don’t know how easy that is to implement but I promess to take a look.
      It’s fundamentally different from a Kate perspective.

  • > It’s quite easy to click the close button
    Yes! Too easy.

  • Sorry, but those close buttons take precious space that is better used to show session information. I prefer the current version.

  • Why do you think this is prettier? In my opinion it only looks simplest.
    Couple questions and comment, if may I.

    1. You took a place on tab by putting there closing button, why? And why this button can be shown when user move mouse cursor on tab? In my opinion in this case it would look prettier.
    2. Will be possible to close tab by clicking middle mouse button into tab, like in web browser? In my opinion this is more comfortable than clicking into closing button.
    3. In old version I can open defined session (bash, mc) by button (with list) presented in bottom left corner of window, but in your version I see simple button. Will be possible the same activity in your version?
    4. In your version tab has/will have pop-up menu (involved by RMB) like in old?
    5. Contrast between active tab and others tabs is very low. I suppose this is the issue of used dark color scheme. I tried to define this in my own color scheme, but I wasn’t able to change color of active and not active tab. The same for font color. OK. In option “Configure -> TabBar” I found “Use user-defined style sheet”, but how can I define this style sheet? Is there somewhere available some example?

    • tcanabrava
      4 months ago

      1 – Just a test, not actually what it will be in the konsole code as I need testing and input from users. I’ll test with the button on the side too.
      2 – I’ll think about that, If it works in browsers like this it’s easy to add and it’s a known behavior.
      3 – Yes, same behavior.
      4 – Yes, same behavior.
      5 – Same behavior as the old one, but currently with a bug.

      I know code is not perfect, but the current one has quite a lot subtle bugs that I managed to remove on the new implementation ( by basically throwing tons of code away and using QTabBar ) instead of the hand-made one that konsole had.

      • > 1 – Just a test, not actually what it will be in the konsole code as I need testing and input from users. I’ll test with the button on the side too.
        OK, but what about feature showing close button in moment user move mouse cursor over tab?
        In this case will be not necessary to add right closing button, which my opinion made that window not looks so pretty (this button usually doesn’t suite to others).

        > 2 – I’ll think about that, If it works in browsers like this it’s easy to add and it’s a known behavior.
        Yes. Known, but I think not implemented in old version. Anyway I hope will be in new, because as you said – it’s easy to add and allows on easy close of tab.

        And one more (or couple) suggestion(s).
        6. Double click on tab shows “Rename Tab” dialog, which allows to change “Tab title format” or just rename of tab. Double click on empty space
        made “Creating new tab” (if first item on profile list is bash/shell then is created tab with it). I wonder if is possible to change this behavior?
        I think user more often clones/duplicates tab than rename it, so why “Double click” on tab can’t do this? I mean clones/duplicates pointed tab and not just tab with first session defined on profiles list.
        I suggest following behavior:
        a) Shift + Double click in tab – invokes “Rename Tab” dialog
        b) Double click in tab – duplicates/clones current (clicked) tab

        And BTW. In context menu (RMB on tab) there is some incoherence. I mean that is present option to rename, close but is missing to clone/duplicate or even create new one.

        Anyway. Manging of tabs are quite meager (comparing to present in any web browsers supporting tabs).

        And last issue, like storing session.
        For example when I close konsole window with opened several tabs I can’t retrieve all of them (whole session). It works only when I save Plasma session in login off moment and login again to its session.

        • tcanabrava
          4 months ago

          I’m trying to implement some of the features you asked here. I don’t think a double click on the tab to duplicate is good (even if it allows you to work faster) because it’s a really different way to manage tabs from any other application . maybe a shift + double click to duplicate / clone.

  • Shift right and shift left are important to move to an session right or left.

    Is it possible to enter a command in one tab and send it to other tabs?

  • > 2 – I’ll think about that, If it works in browsers like this it’s easy to add and it’s a known behavior.

    Yes! A known behavior.

  • I still miss the old Konsole feature/theme where space worth one tab was left alone and clicking on which would open a new tab. Something like below.

    https://i.stack.imgur.com/Q5UsY.png
    https://i.ytimg.com/vi/qxuR8Wp1_9I/maxresdefault.jpg

    For now I just use Ctrl+Shift+T to open a tab and Ctrl+D to close.

    • tcanabrava
      4 months ago

      that’s fundamentally different from any other tabbed application out there and I guess it was the reason it is removed. I belive this is not comming back – but a double click on a empty tabbar now opens a new tab.

  • Andreas_K
    4 months ago

    I would remove the konsole icon in the tab cause it’s always a konsole icon so there is no additional information.

    What would be nice if is an overview page live preview like you know it from kate so you can see what happens in other tabs.

    • tcanabrava
      4 months ago

      it’s not always the konsole icon, it’s the profile icon and you can use multiple profiles.

  • Please make sure to not remove the option to apply a user-defined style sheet on the tab bar.

  • The horror of a non-monospace font on a terminal! >.<

    Keep up the good work Tomaz! 🙂

    • tcanabrava
      4 months ago

      That’s a Konsole bug that I’m trying to fix for a while.

      • Which bug exactly? I use the “Hack” font, which is mono spaced on Konsole.

        • tcanabrava
          4 months ago

          Patuba, if you start konsole without a profile the default profile is not applied.

  • One of the things that every old application suffers is new developper. What is the real user use case for this change. what feature need this rewrite? Konsole has been tuned for years to accommodate real user, you can’t erase old code without a very good raison from users. If so you run into real user workflow breaking. also, it is not white or black (see https://xkcd.com/1172/) but need carrefull analysis.

    • tcanabrava
      4 months ago

      Yes, I can erase old code without a very good reason from users, users are not developers and they don’t understand the internals of the applications, they don’t care about the lines of code I replace unless I break stuff.
      1 – What’s the real user use case for this change: Maintenance Burden. New code is 300 lines, old code is 1700.
      2 – What feature need this rewrite: Now tabs behave like other applications with tabs instead of having it’s own internal implementation that differed in subtle ways from every other application.
      3 – XKCD comic: That comic proves my point, not the other way around. users with broken behavior will have their broken behavior broken when somebody fixes it.
      Also, I’m not “new developer”, I’m developing inside of KDE for 12 years.

  • Can someone explain me, why the tab bar is on to bottom, while every other program has it on th top?

    • tcanabrava
      4 months ago

      you can change it on the options and put in the top.

      • Good to know, but i am still interestet in the reason why the default is to put it on the bottom. Is there a usability advantage i don’t seen? Because it is inconsistent with other KDE Software, so there must be a reason.

        • tcanabrava
          4 months ago

          I can’t answer that as I’m not the developer that did it. I think it’s historical, it was like this since KDE 3 times.
          We are discussing about changing it to the top.

          • Richard
            4 months ago

            It has always been like that, as such we’re used to it, and it’s similar to other applications that have tabs, for example spreadsheets.

          • For me place of tab bar are fine, I’m comfortable with this, maybe because I got just it.
            I suppose there are many users which like tab bar placed at bottom.

        • When you open a console, the prompt is on top, but as you use the prompt moves to bottom and stays here. The focus point of the interface is the bottom of he window, so, the tabs re on the bottom.

          • Ah that explenation makes sense, thank you, i wasn’t complaining (despite i personaly prefere them on the top), i was just curious why they are where they are. At the moment i use Gnome but i consider switching to KDE, and it was one of the first things i noticed, when i bootet from a live stick.

  • Andreas_K
    4 months ago

    bottom tabs at the terminal are very usefull from UX perspective cause on console the eyes are focused on bottom cause the input line in on bottom so it’s usefull to have the different tabs also on bottom.

  • the new tab button is better. but please put the tab close button separately as it occupies more space in the tabs and easier to accidentally click. thanks

    • tcanabrava
      4 months ago

      it’s already separated in master.

      • Then it’s not consistend with other programms like tabs on dolphin, i prefere the close button in the tab

Leave a Reply

Your email address will not be published. Required fields are marked *