» SelfLinux » Grafische Oberflächen » Motif Window Manager (mwm) » Abschnitt 4 SelfLinux-0.12.3
zurück Startseite Kapitelanfang Inhaltsverzeichnis PDF-Download (683 KB) GPL weiter

SelfLinux-Logo
Dokument Motif Window Manager (mwm)  Autor
 Formatierung
 GPL
 

4 Konfiguration

Sollte in der Datei .mwmrc etwas verändert worden sein, muss mwm neu gestartet werden. Nach Änderungen in der Datei .Xdefaults ist vor einem Neustart das Kommando xrdb .Xdefaults einzugeben.


4.1 .mwmrc

In dieser Datei befinden sich die Konfigurationen sämtlicher Menüs.

  • Root Menu Description: Hier werden sämtliche Anwendermenüs beschrieben
  • f.title: Titelzeile
  • f.exec: Ausführen von Funktionen
  • f.separator: Trennstrich im Menü
  • Default Window Menu: Hier wird das Fenstermenü beschrieben. (Klick auf das linke kleine Quadrat)
  • Default Key Bindings: Der Fenster-Manager kann auch über die Tastatur bedient werden, z.B. ALT+SHIFT+ESC bzw. ALT+ESC schalten das Fenster in den Vorder- bzw. Hintergrund.
  • Button Binding Description(s): Hier werden die Kombinationen von Maustasten, CTRL-, ALT- und SHIFT-Taste sowie der Doppelklick eingerichtet.
 !!                                                         
!! Root Menu Description                                   
!!                                                         
Menu RootMenu1                                             
{                                                          
 "Root Menu1"            f.title                           
 "New Window"            f.exec "xterm -geometry -10-10 -sl
500 -sb -ls &"                                             
 "Firefox"               f.exec "firefox"                  
  no-label               f.separator                       
  no-label               f.separator                       
  no-label               f.separator                       
 "Shuffle Up"            f.circle_up                       
 "Shuffle Down"          f.circle_down                     
 "Refresh"               f.refresh                         
 "Pack Icons"            f.pack_icons                      
 "Toggle Behavior..."    f.set_behavior                    
  no-label               f.separator                       
 "Restart..."            f.restart                         
 !"Quit..."              f.quit_mwm                        
}                                                          
[...]
Menu RootMenu3d                                            
{                                                          
 "Root Menu3d"                   f.title                   
}                                                          
!!                                                         
!! Default Window Menu                                     
!!                                                         
Menu DefaultWindowMenu                                     
{                                                          
        Restore         _R      Alt<Key>F5      f.restore  
        Move            _M      Alt<Key>F7      f.move     
        Size            _S      Alt<Key>F8      f.resize   
        Minimize        _n      Alt<Key>F9      f.minimize 
        Maximize        _x      Alt<Key>F10     f.maximize 
        Raise           _L      Alt<Key>F2      f.raise    
        Lower           _L      Alt<Key>F3      f.lower    
        no-label                                f.separator
        Close           _C      Alt<Key>F4      f.kill     
}                                                          
!!                                                         
!! Default Key Bindings                                    
!!                                                         
Keys DefaultKeyBindings                                    
{                                                          
        Shift<Key>Escape        window|icon                
f.post_wmenu                                               
        Alt<Key>space           window|icon                
f.post_wmenu                                               
        Alt<Key>Tab             root|icon|window           
f.next_key                                                 
        Alt Shift<Key>Tab       root|icon|window           
f.prev_key                                                 
        Alt<Key>Escape          root|icon|window           
f.circle_down                                              
        Alt Shift<Key>Escape    root|icon|window           
f.circle_up                                                
        Alt Shift Ctrl<Key>exclam root|icon|window         
f.set_behavior                                             
        Alt<Key>F6              window                     
f.next_key transient                                       
        Alt Shift<Key>F6        window                     
f.prev_key transient                                       
        Shift<Key>F10           icon                       
f.post_wmenu                                               
        Alt Shift<Key>Delete    root|icon|window           
f.restart ""                                               
}                                                          
!!                                                         
!! Button Binding Description(s)                           
!!                                                         
!! These can be used anywhere                              
!!                                                         
Buttons DefaultButtonBindings                              
{                                                          
        <Btn1Down>       icon|frame  f.raise               
        <Btn1Click2>     root        f.menu RootMenu1d     
        <Btn1Down>       root        f.menu RootMenu1      
        Shift<Btn1Down>  root        f.menu RootMenu1s     
        Ctrl<Btn1Down>   root        f.menu RootMenu1c     
        Alt<Btn1Down>    root        f.menu RootMenu1a     
        <Btn2Click2>     root        f.menu RootMenu2d     
        <Btn2Down>       root        f.menu RootMenu2      
        Shift<Btn2Down>  root        f.menu RootMenu2s     
        Ctrl<Btn2Down>   root        f.menu RootMenu2c     
        Alt<Btn2Down>    root        f.menu RootMenu2a     
        <Btn3Down>       icon|frame  f.post_wmenu          
        <Btn3Click2>     root        f.menu RootMenu3d     
        <Btn3Down>       root        f.menu RootMenu3      
        Shift<Btn3Down>  root        f.menu RootMenu3s     
        Ctrl<Btn3Down>   root        f.menu RootMenu3c     
        Alt<Btn3Down>    root        f.menu RootMenu3a     
}                                                          
      

4.2 .xinitrc

In dieser Datei befinden sich sämtliche Kommandos, die beim Start des Fenster-Managers ausgeführt werden.

Zunächst werden xclock und xosview gestartet. Danach werden zwei minimierte xterm-Fenster eröffnet und das Hintergrundbild eingerichtet. Die wichtigen Zeichen | / \ { [ ] } und @ sind nur sehr umständlich über ALTGR bzw. SHIFT zu erreichen. Daher wurden diese Zeichen auf die Funktionstasten F1 bis F9 gelegt. Falls die Funktionstasten in irgendeinem Programm benötigt werden, müssen diese Zeilen in .xinitrc deaktiviert werden. Danach werden auch noch die eigentlich überflüssigen Windows-Tasten einer sinnvollen Verwendung zugeführt. Zu guter letzt wird noch der numerische Tastaturblock belegt, welcher standardmäßig unter Linux nicht belegt ist.

 [...]
#                                                           
# Add your own lines here...                                
#                                                           
xclock -geometry 150x150-20+1 -update 1 -fg white -bg blue \
-hd magenta -title `date +"%a__%d.%m.%y"` &                 
xosview +net +disk -name AUSWERT -title XOSVIEW -geometry - 
40+420 &                                                    
/usr/X11R6/bin/xload -geometry 100x100-20-1 -update 1 -fg   
yellow -bg magenta &                                        
xterm -sb -sl 300 -bg white -name oben -iconic -ls -geometry
+50+30 &                                                    
xterm -sb -sl 300 -bg white -name unten -iconic -ls -       
geometry +400+400 &                                         
display -window root 1024-stream12.jpg                      
# Belegung der Funktionstasten                              
# F1:|, F2:/, F3:\, F5:{, F6:[, F7:], F8:}, F9:@            
xmodmap -e "keycode 67 = bar"                               
xmodmap -e "keycode 68 = slash"                             
xmodmap -e "keycode 69 = backslash"                         
xmodmap -e "keycode 71 = braceleft"                         
xmodmap -e "keycode 72 = bracketleft"                       
xmodmap -e "keycode 73 = bracketright"                      
xmodmap -e "keycode 74 = braceright"                        
xmodmap -e "keycode 75 = at"                                
# Belegung der Microsoft-Windowstasten                      
# linke Taste:> , mittlere Taste:_ , rechte Taste:$         
xmodmap -e "keycode 115 = greater"                          
xmodmap -e "keycode 116 = underscore"                       
xmodmap -e "keycode 117 = dollar"                           
# Belegung des numerischen Tastenblocks                     
xmodmap -e "keycode 87 = 1"                                 
xmodmap -e "keycode 88 = 2"                                 
xmodmap -e "keycode 89 = 3"                                 
xmodmap -e "keycode 83 = 4"                                 
xmodmap -e "keycode 84 = 5"                                 
xmodmap -e "keycode 85 = 6"                                 
xmodmap -e "keycode 79 = 7"                                 
xmodmap -e "keycode 80 = 8"                                 
xmodmap -e "keycode 81 = 9"                                 
xmodmap -e "keycode 90 = 0"                                 
xmodmap -e "keycode 91 = period"                            
[...]
      

4.3 .Xdefaults

In dieser Datei befinden sich sämtliche Voreinstellungen z. B. Fensterfarben, Fenstergrößen, Menüfarben. Der Eintrag:

Mwm*AUSWERT*iconImage: auswert.xpm

stellt für die Funktion:

xosview +net +disk -name AUSWERT -title XOSVIEW -geometry - 40+420 &

mit dem Namen AUSWERT das Iconbild auswert.xpm zur Verfügung.


Xosview-Auswertung
Xosview-Auswertung

Hier ein Beispiel für die Datei .Xdefaults, das ein Aussehen von mwm wie in den Abbildungen bewirkt.

 [...]

Mwm*UseIconBox:                 true           
Mwm*iconBoxGeometry:            10x1+1-1       
Mwm*interactivePlacement: false                
Mwm*iconPlacement:  bottom left                
! Mwm*passSelectButton:  false                 
Mwm*keyboardFocusPolicy: pointer               
Mwm*resizeBorderWidth: 10                      
                                               
Mwm*menu*fontList:  10x20                      
Mwm*menu*foreground:  yellow                   
Mwm*menu*background:  navyblue                 
                                               
Mwm*menu*RootMenu1*foreground:  yellow         
Mwm*menu*RootMenu1*background:  mediumblue     
Mwm*menu*RootMenu1d*foreground:  mediumblue    
Mwm*menu*RootMenu1d*background:  yellow        
Mwm*menu*RootMenu1s*foreground:  red           
Mwm*menu*RootMenu1s*background:  green         
Mwm*menu*RootMenu1c*foreground:  magenta       
Mwm*menu*RootMenu1c*background:  yellow        
Mwm*menu*RootMenu1a*foreground:  mediumblue    
Mwm*menu*RootMenu1a*background:  pinkyellow    
Mwm*menu*RootMenu2*foreground:  yellow         
Mwm*menu*RootMenu2*background:  mediumblue     
Mwm*menu*RootMenu2d*foreground:  mediumblue    
Mwm*menu*RootMenu2d*background:  yellow        
Mwm*menu*RootMenu2s*foreground:  orange        
Mwm*menu*RootMenu2s*background:  brown         
Mwm*menu*RootMenu2c*foreground:  black         
Mwm*menu*RootMenu2c*background:  white         
Mwm*menu*RootMenu2a*foreground:  green         
Mwm*menu*RootMenu2a*background:  orange        
Mwm*menu*RootMenu3*fontList: lucidasans-bold-24
Mwm*menu*RootMenu3*foreground:  yellow         
Mwm*menu*RootMenu3*background:  mediumblue     
Mwm*menu*RootMenu3d*foreground:  mediumblue    
Mwm*menu*RootMenu3d*background:  yellow        
Mwm*menu*RootMenu3s*foreground:  magenta       
Mwm*menu*RootMenu3s*background:  blue          
Mwm*menu*RootMenu3c*foreground:  green         
Mwm*menu*RootMenu3c*background:  brown         
Mwm*menu*RootMenu3a*foreground:  orange        
Mwm*menu*RootMenu3a*background:  blue          
                                               
Mwm*AUSWERT*iconImage:           auswert.xpm   
Mwm*xterm*iconImageBackground:   brown         
Mwm*xterm*iconImageForeground:   green         
Mwm*xclock*iconImageBackground:  blue          
Mwm*xclock*iconImageForeground:  red           
Mwm*xload*iconImageBackground:   magenta       
Mwm*xload*iconImageForeground:   yellow        
Mwm*iconDecoration:              label image   
Mwm*background:  forestgreen                   
Mwm*foreground:  maroon                        
Mwm*activeBackground:  turquoise               
Mwm*activeForeground:  orangered               
Mwm*wMenuButtonClick2:         True            
Mwm*doubleClickTime: 1000                      
[...]
      

4.4 Sonstiges

Es lassen sich anstelle von Texten auch kleine Bitmap-Grafiken in die Menüs einfügen.


Menü mit Bitmapgrafik
Menü mit Bitmapgrafik

Hierzu ist die folgende Änderung in .mwmrc vorzunehmen:

 Menu RootMenu3                        
{                                     
 "Root Menu3"           f.title       
 @xskat.xbm             f.exec "xskat"
}                                     
      

Weiterhin lassen sich auch Untermenüs erzeugen.


Untermenüs
Untermenüs

In .mwmrc ist hierzu folgende Eintragung notwendig:

 Menu RootMenu1s                            
{                                          
 "Root Menu 1s"          f.title           
 "Root Menu 1s1"         f.menu RootMenu1s1
}                                          
Menu RootMenu1s1                           
{                                          
 "Root Menu 1s1"         f.title           
 @xskat.xbm              f.exec "xskat"    
}                                          
      


zurück Seitenanfang Startseite Kapitelanfang Inhaltsverzeichnis PDF-Download (683 KB) GPL weiter