Konsole Toolbar Actions
Open, Needs TriagePublic

Description

Terminal Applications are the most complex for the newcommer and having a consistent set of icons on the toolbar helps.
The cleanup I started to be able to implement toolbars just landed, so it's time that we implement a good, consistent toolbar for it.

Things to remember: toolbars can contain small widgets and triggable actions, and we can have more than one toolbar.

The current action list for konsole is the following, I'm marking with a x what I think it should be part of the konsole toolbar, but ultimately anything here is user-selectable.

src/session/SessionController.cpp

  • "close-session"
  • "open-browser"
  • "edit_copy_contextmenu";
  • "paste-selection"
  • "web-search"
  • "select-all"
  • "select-line"
  • "adjust-history"
  • "clear-history"
  • "edit-current-profile"
  • "switch-profile"
  • "set-encoding"
  • "view-readonly"
  • "rename-session"
  • "zmodem-upload"
  • "monitor-activity"
  • "monitor-silence"
  • "monitor-process-finish"
  • "enlarge-font"
  • "shrink-font"
  • "clear-history-and-reset"
  • "reset-font-size"
  • "sigstop-signal"
  • "sigcont-signal"
  • "sighup-signal"
  • "sigint-signal"
  • "sigterm-signal"
  • "sigkill-signal" - userfull if an app is stuck, and the user does not know about ctrl + c.
  • "sigusr1-signal"
  • "sigusr2-signal[] "

src/Application.cpp

  • "toggle-background-window"

src/ViewManager.cpp

  • "split-view-left-right"
  • "split-view-top-bottom"
  • "expand-active-view"
  • "shrink-active-view"
  • "detach-view";
  • "detach-tab";
  • "next-tab"
  • "previous-tab"
  • "focus-view-above"
  • "focus-view-below"
  • "focus-view-left"
  • "focus-view-right"
  • "last-tab"
  • "last-used-tab"
  • "toggle-two-tabs"
  • "last-used-tab-reverse"
  • "toggle-maximize-current-view"
  • "move-tab-to-right"
  • "move-tab-to-left"
  • "switch-to-tab-%1" - 1 - 9

src/MainWindow.cpp

  • "new-tab"
  • "clone-tab";
  • "new-window";
  • "close-widow";
  • "bookmark";
  • "select-profiles";
  • "activate-menu";
  • List Item

Also, this makes konsole easier to use for people with reduced mobility (hitting key combinations is harder than a mouse click) and for new users.

Nice! Here would be my initial recommendations:

  • Copy
  • Paste
  • New Tab
  • Split (shows a menu with the split horizontal and split vertical actions in it)
  • Monitor (shows a menu with the "Monitor for *" actions) in it
  • Expanding spacer
  • Search (icon only)
  • Configure (icon only)

+1 to a toolbar. My suggestion would be to have text alongside icons, as we rarely (=pretty much never) use text under icons and would thus be more consistent and free more vertical space. If the button's don't fit in the toolbar, some buttons could also work without their labels, such as copy and paste or s.lit viev, since their icons are extremely recognizable already. Also please consider using some separators and/or fill width spacers

I can't set text alongside icons or text below icons, the app will get that from plasma settings by default. this just tells the toolbar what icons to load by default, all the other configuration are defaulted to kde global settings.

Is text under icons your personal setting? Will I see text alongside icons then?

I assume so. I might be wrong. :)
I'm looking how other app that uses kconfigxt and toolbars behave.

I'v just commited this on master, it's not the correct set of actions yet, but now we have 4 months to test this before next release.

We don't need to expose everything in the toolbar; it's supposed to be used (by default) for only common actions. I think the current default set is good.