Home
License
Background
Screenshots
Features
Usage
Desktop
Download
Installation
Docs
   

Desktop Integration

The Linux-SRT user interface includes window manager integration. Currently this only supports Afterstep, but it should be relatively easy to port to anything else.

Modified configuration option (look)

The first change is a general purpose way of defining multiple different images for each button position on your titlebar. These images can be changed by afterstep in response to various conditions affecting the window, such as its scheduling status or whether it is maximized.
TitleButton <state * 10 + button> <pixmap>
            [0..9]        [0..9]
Buttons are numbered in the usual Afterstep way, and states are indicated by adding multiples of 10. For example, button number 1 is the one on the far left in its default state, button number 32 is the one on the far right in its third alternate state.

New configuration option (feel)

ButtonFeedback <button> <category>
                [0..9]
This is what you use to indicate that a particular button should change state to provide feedback of a particular kind.

Feedback categories:

0 = None
1 = Scheduling
2 = Maximisation
3 = Shading
4 = Stickyness

All categories return a boolean state except for scheduling.

States for the scheduling feedback category:

0 = normal
1 = QOS
2 = FIFO/RR
3 = -ve nice
4 = +ve nice,
5 = IDLE
6 = PAUSE

New built-in function

SetButtonState <button> <state>
               [0..9]   [0..9]
Not terribly useful, except for modules or complex Afterstep functions perhaps. Provided for completeness.

Example look file extract


# TitleButtons:
# [1] [3] [5] [7] [9] (title) [0] [8] [6] [4] [2]

TitleButton 01 cross-tb.xpm   cross-tp.xpm
TitleButton 03 circ-tb.xpm    circ-tp.xpm
TitleButton 13 checks-tb.xpm  checks-tp.xpm
TitleButton 23 red-tb.xpm     red-tp.xpm
TitleButton 33 red-tb.xpm     red-tp.xpm
TitleButton 43 green-tb.xpm   green-tp.xpm
TitleButton 53 green-tb.xpm   green-tp.xpm
TitleButton 63 pause-tb.xpm   pause-tp.xpm
TitleButton 05 rivets-tb.xpm  rivets-tp.xpm
TitleButton 15 stripe-tb.xpm  stripe-tp.xpm

TitleButton 08 dot-tb.xpm     dot-tp.xpm
TitleButton 06 horiz-tb.xpm   horiz-tp.xpm
TitleButton 16 blinds-tb.xpm  blinds-tp.xpm
TitleButton 04 vert-tb.xpm    vert-tp.xpm
TitleButton 14 downup2-tb.xpm downup2-tp.xpm
TitleButton 02 resize-tb.xpm  resize-tp.xpm

This corresponds to the following colours:

Black - standard scheduling (OTHER with nice = 0)
Blue - primary policy is QOS
Red - primary policy is FIFO / RR, or OTHER with nice < 0
Green - primary policy is IDLE, or OTHER with nice > 0
Pause symbol - primary policy is PAUSE

Example feel file extract


#    Btn Pos Mods   Action

# Buttons on left side (1,3,5,7,9):
Mouse  1  1  A  Delete
Mouse  2  1  A  Destroy
Mouse  1  3  A  Exec "" setp -t -l a <pid>
Mouse  1  3  S  Exec "" setp -t -f 25 a <pid>
Mouse  2  3  A  Exec "" setp -t -r idle a <pid>
Mouse  2  3  S  Exec "" setp -t -n 19 a <pid>
Mouse  3  3  A  Exec "" setp -t -r pause a <pid>
Mouse  1  5  A  Stick

ButtonFeedback 3 1
ButtonFeedback 5 4
ButtonFeedback 6 3
ButtonFeedback 4 2

# Buttons on right side (10,8,6,4,2):
Mouse  1  8  A  Iconify
Mouse  1  6  A  Shade
Mouse  1  4  A  Maximize 0 92
Mouse  2  4  A  Maximize 100 92
Mouse  3  4  A  Maximize 100 0
Mouse  1  2  A  Resize

This defines the following bindings for mouse clicks on button number 3:

If the current parameters are non-standard, any button press reverts the policy to SCHED_OTHER, nice 0 (we are using setp -t). Otherwise,

LMB =Join the reserve specified by /etc/qosrc
Shift-LMB =FIFO, priority 25
MMB =IDLE
Shift-MMB =Nice 19
RMB =PAUSE


Maintained by David Ingram (last updated 11 May 2000)
Send comments to
dmi@uk.research.att.com

Copyright 2000 - AT&T Laboratories Cambridge