Projects/Usability/NWI

From KDE TechBase
Revision as of 20:34, 26 April 2009 by Macias (talk | contribs)

From editor :-) -- how to add [edit] buttons per each section/heading?


Why?

It happens almost every day — you edit some data in one application (like html file in KWrite), you view the results using another application (like Konqueror). So despite there is no relation between KWrite and Konqueror, for this task — task you perform right now — those two applications are related. Would it be useful if those two applications work temporarily as one — a group?

Kpdf + group of KWrite and Konqueror

Let's say you launched Kpdf as well. Traditionally when you switch from Kpdf to KWrite, Window Manager (WM) brings only KWrite to the front, so you have to bring to front Konqueror by yourself. This tiresome — with grouping, KWrite and Konqueror would act as one — you switch to group, all applications are put in front.

Whenever you feel it would be more natural to put several applications as one group (because of the common task, or common data, or just for fun), NWI lets you do it — as tiles or as tabs.

What is it?

Probably you are already familiar with several User Interface kinds — TDI, MDI, SDI, and so on. Some of them proved to be very useful, some of them not especially. In NWI world the most basic, yet the more flexible UI you can think of are SAI, GAI and TAI.

Single Application Interface (SAI)

This is really the simplest UI, no magic here. Just application window with some data — if application window can hold only one document per window, it is SAI. Examples: Kpdf, Okular.

Konqueror in SAI mode

Grouped Applications Interface (GAI)

More accurate name would be Tiling Applications Interface, but such name would conflict with Tabbed Applications Interface.

GAI is such container that tiles selected windows, so they are close together, next to each other — vertically or/and horizontally. From geometrical point of view GAI container behaves as one window with many panes.

GAI has one shared titlebar (for container) plus mini-titlebar for each window embedded into GAI.


Tabbed Applications Interface (TAI)

You know the special case of TAI already — it is TDI (Tabbed Document Interface). The well-known example of TDI application is Konqueror. You can launch one Konqueror and then open multiple web pages, each per one tab.

TAI goes a little further — you can arrange several applications in tabs and put them into one window. So in one tab you can have Konqueror displaying web page, and in the second tab you can have Okular displaying pdf file.

Nested Windows Interface (NWI)

Once the container is arranged, you can think of it as a window. And such window you can put into another container — thus nesting containers. So in general, such UI is called NWI, Nested Windows Interface.

Features

Session management

When you turn the session management on (at KDE level), SM not only restores the applications, but also recreates grouping.

It is also possible to save container state as preset (like: Kwrite+Konqueror) and then later launch such group at once — without recreating the group manually.

Actions

Creating containers

Arranging windows as container

  1. launch applications as you like
  2. RMB on the desktop to get context menu
  3. choose "select windows"
  4. in order to select windows:
  • with LMB select region over the windows (like in KSnapshot)
  • or you simply click with LMB on the window
  1. in order to deselect windows select selected windows (or hold down ctrl?)
  2. RMB on the desktop to get context menu again
  3. choose "group selection" — container is created with windows within

In the last step WM tries to preserve proportions of the selected windows.

Incremental adding

Creating GAI by adding new application

Closing

Switchers

Default key bindings