Posts: 1,028
SamK
Joined: 21 Aug 2011
#1
The GUI releases of Linux and Windows both have something in common - a way of starting apps by displaying a menu. The menu is often displayed by clicking on a start button or on the desktop. It opens to show a cascading list of all the apps available.

This type of application centric menu forces the user to
  1. Know the name of the app that will do the job they are undertaking
  2. Navigate through the cascading menu levels to launch the app
  3. Once the app is started, it is often the case of navigating its own menu system to start a particular function
In a turn-key distro such as antiX, does anyone use every app presented by the menu?
Probably not.

Many people just use the same few apps each time they login. Often they will use their system to do the same, limited range of things during each session. For example
  • I want to read my emails
  • I want to shop for...
  • I want to catch the latest news bulletin
  • I want to install the pending security updates to my system
  • I want to write an official letter from the business
  • I want to find an alternative to using this word
Notice that they tend to think in terms of the desired task outcome rather than the app they will use to achieve it.

For many users a task centric menu a is preferrable way of using their system. It enables a user to perform the task they want to do with a single click on a menu icon. This menu only displays what they use, nothing else. No unused and unwanted applications are listed. Each user is able to customize it to their individual requirements. It is friendly, fast and uncomplicated to use. A few examples of how it is used are shown below.

The following describes how it is done using wmdrawer. It is a tiny app and antiX-13-Full has its dependencies already installed.
Home site
========= SCRAPER REMOVED AN EMBEDDED LINK HERE ===========
url was:"http://people.easter-eggs.org/~valos/wmdrawer"
linktext was:"http://people.easter-eggs.org/~valos/wmdrawer"
====================================




To overcome the forum restriction on the number of attchments that can be uploaded per post, the method is described in four individual posts.

Post 1 of 4 (this post) set up wmdrawer
Post 2 of 4 set up IceWM to use a task menu
Post 3 of 4 set up JWM to use a task menu
Post 4 of 4 set up Fluxbox to use a task menu



Benefits of a Task Centric Menu
  • It works in the way the user thinks of using the system
  • It displays only the items that are relevant to the individual user
  • Entries can be added or removed without editing files owned by root
  • A meaningful description can be added to each entry by the user
  • It reduces potential desktop clutter by eliminating a proliferation of desktop shortcut links (via icons) that might (in part) produce a similar way of launching an app
The short version is, each user can customize their own menu to do as much or as little as they want.



Set up wmdrawer with some example task entries
  1. Install wmdrawer from the antiX standard Debian repo via either Synaptic or apt-get
  2. Create a directory /home/USERNAME/.config/wmdrawer
  3. Unzip the attached preconfigured wmdrawerrc.zip in /home/USERNAME/.config/wmdrawer/
    Note: Alternatively copy /usr/share/doc/wmdrawer/wmdrawerrc.example to /home/USERNAME/.config/wmdrawer/wmdrawerrc and then edit it by hand
  4. As root, unzip the attached icon file, wmdrawer.png.zip to /usr/share/pixmaps/
The preconfigured wmdrawerrc shows how flexible a task centric menu is in four different ways
  • BBC News
    Opens Iceweasel at a specified web site and page
  • Create a Presentation
    Opens LibreOffice Impress with a specified template file
  • Watch antiX How To Videos
    Opens Youtube-Viewer in CLI mode and lists videos by RunWithTheDolphin
  • Apply Software Updates
    Opens Synaptic, obtains the list of pending updates, runs in upgrade mode and displays the changes to be applied
These are of course only examples. The idea is to help users to create a task menu that is relevant to the way they use their system.



Continued in post 2 of 4
Last edited by SamK on 22 Aug 2013, 10:08, edited 8 times in total.
Posts: 1,028
SamK
Joined: 21 Aug 2011
#2
Post 1 of 4 set up wmdrawer
Post 2 of 4 (this post) set up IceWM to use a task menu
Post 3 of 4 set up JWM to use a task menu
Post 4 of 4 set up Fluxbox to use a task menu



Set up when using IceM
1. To control the way wmdrawer is displayed, append to /home/USERNAME/.icewm/winoptions

Code: Select all

# wmdrawer handling
wmdrawer.geometry: +0-0
wmdrawer.icon: /usr/share/pixmaps/wmdrawer.png
wmdrawer.dTitleBar: 0
wmdrawer.noFocusOnAppRaise: 1
wmdrawer.ignoreTaskBar: 1
wmdrawer.layer: AboveDock
wmdrawer.allWorkspaces: 1
wmdrawer.ignoreWinList: 1
wmdrawer.ignoreQuickSwitch: 1
2. To automatically start wmdrawer at login, append to /home/USERNAME/.icewm/startup

Code: Select all

# Start wmdrawer
wmdrawer -w -c ~/.config/wmdrawer/wmdrawerrc &
3. Logout and login


The following screen shots illustrate the result
App Menu IceWM.jpg shows the standard app centric menu.
IceWM App Menu Open
IceWM App Menu Open

App+Task Menu 1 IceWM.jpg shows the app centric and task centric icons occupying the same space on the task bar. It is possible to open either menu by clicking the appropriate icon. Here the app menu is open.
IceWM Combined App and Task Menus - App Menu Open
IceWM Combined App and Task Menus - App Menu Open


The position of the task menu icon is controlled in winoptions by the settings"wmdrawer.geometry: +0-0" and"wmdrawer.layer: AboveDock".



Continued in post 3 of 4
Last edited by SamK on 22 Aug 2013, 08:42, edited 2 times in total.
Posts: 1,028
SamK
Joined: 21 Aug 2011
#3
Post 1 of 4 set up wmdrawer
Post 2 of 4 set up IceWM to use a task menu
Post 3 of 4 (this post) set up JWM to use a task menu
Post 4 of 4 set up Fluxbox to use a task menu



Set up when using JWM
1. To control the way wmdrawer is displayed, append to /home/USERNAME/.jwm/preferences

Code: Select all

<!-- wmdrawer handling -->
<Group>
   <Class>wmdrawer</Class>
   <Option>nofocus</Option>
   <Option>nolist</Option>
   <Option>nopager</Option>
   <Option>notitle</Option>
</Group>
2. To automatically start wmdrawer in the tray at login, append to /home/USERNAME/.jwm/tray in the swallow section

Code: Select all

<Swallow name="wmdrawer" height="28" width="30">wmdrawer -w -c ~/.config/wmdrawer/wmdrawerrc</Swallow>
Note: The above swallow entry is all on a single line.

3. Logout and login


The following screen shot illustrates the result
Separate App and Task Menus JWM.jpg shows the task menu open after clicking on its icon.
JWM Separate App and Task Menus - task menu Open
JWM Separate App and Task Menus - task menu Open




Continued in post 4 of 4
Posts: 1,028
SamK
Joined: 21 Aug 2011
#4
Post 1 of 4 set up wmdrawer
Post 2 of 4 set up IceWM to use a task menu
Post 3 of 4 set up JWM to use a task menu
Post 4 of 4 (this post) set up Fluxbox to use a task menu



Set up when using Fluxbox
1. To control the way wmdrawer is displayed,

Code: Select all

Fluxbox Settings-->Configuration-->Slit-->Layer=Top
Fluxbox Settings-->Configuration-->Slit-->Autohide=Enabled
2. To automatically start wmdrawer at login, append to /home/USERNAME/.fluxbox/startup

Code: Select all

# Start wmdrawer
wmdrawer -c ~/.config/wmdrawer/wmdrawerrc &
3. Logout and login


The following screen shots illustrate the results
Task Menu 1 Fluxbox.jpg shows the activated (hidden) slit in the antiX default position at top right of the screen.
Fluxbox slit activated and hidden
Fluxbox slit activated and hidden


Task Menu 2 Fluxbox.jpg shows the Task Menu icon in the slit. It is displayed by hovering the cursor over the hidden slit position.
Fluxbox slit exposed revealing Task Menu icon
Fluxbox slit exposed revealing Task Menu icon


Task Menu 3 Fluxbox.jpg shows the Task Menu displayed after clicking the wmdrawer icon.
Fluxbox Task Menu Open
Fluxbox Task Menu Open
Posts: 1,445
skidoo
Joined: 09 Feb 2012
#5
This type of application centric menu forces the user to
~~ Know the name of the app that will do the job they are undertaking
. . .
For many users a task centric menu a is preferrable way of using their system
Thanks, Sam, I'm super interested in this topic.
Posts: 1,028
SamK
Joined: 21 Aug 2011
#6
skidoo wrote:Thanks, Sam, I'm super interested in this topic.
Glad to hear that. Hope it helps.

To users with some experience of Linux the benefits are not always immediately apparent. As they have become accustomed to their system it is increasingly difficult to see it as unfamiliar.

To work around any quirks in the release they have usually had a go at editing configuration files by hand. In so doing, they accept the concept that using Linux requires some technical knowledge. They have been sufficiently interested in overcoming the hurdles presented to a new user that they can easily forget how daunting it is for a user with no technical ability or interest in technical matters. In short, they have accepted this is the way it is in Linux.


To many potential new users from Windows the above is a totally alien concept. Many see a desktop, laptop etc as another item of domestic white goods. They expect it to be as simple to use as a television or refrigerator. They have become accustomed to using their system by clicking buttons or icons.

Think how your mother or grandmother might react to the prospect of using a completely unfamilar Linux system. Have a look at this video of a mother (a Windows XP user) trying out TinyCore.


^---- embedded YouTube-hosted video: https://www.youtube.com/F_MNlp887T8


There are lots of other similar videos in that channel, where the mother tries other distros. Most are found to be neither obvious nor easy to use when tried for the first time.


The task centric menu is aimed at unsophisticated users who predominately conduct the same, limted range of activities each time they login. For example, read/write emails, shop at Amazon etc.

There is of course a flaw. A migrating Windows user may not possess sufficient technical ability to configure it (drag-n-drop would be welcome). Still, it might help those who set up systems for such users. The idea has generally been well received by those who have tried it.

Just as an aside, I have also used this on server machines. Because these systems mainly serve resources and services, they don't normally hold much in the way of apps found on a personal machine. This limited range of use lends itself well to placing the monitoring and maintenance tasks in a task centric menu. It works well for launching both CLI and GUI tools for these purposes.