vendredi 28 février 2003

 

Mon environnement graphique

Voici donc, dans l'ordre:
  • ScreenShots

  • Applications

  • Fichiers de config :
    .xinitrc
    .xmodmaprc
    .blackboxrc
    .bbkeysrc
    .bbtools/bbpager.bb
    .bbtools/style.bb

  • Point particulier sur la config du "Logitech Cordless Desktop"

ScreenShots:

Mon ancienne config, avec 9wm, il y a oclock qui tourne en haut à droite, et deux terminaux.
Très sobre, à l'image de 9wm d'ailleur: c'est simple et sans fioritures inutiles.


1997-2003

Je viens de passer à blackbox comme gestionnaire de fenêtres, avoir plusieurs bureaux virtuels me manquait.
Il y a gkrellm et bbpager qui tournent, à par ça pas grand chose.


18 Janvier 2003

Un essai avec une image en fond d'écran. C'est quand même mieux en uni finalement.


18 Janvier 2003

Un exemple d'utilisation, j'étais en train de faire la première version de cette page, en plus des précédents on apperçoit Emacs qui tourne derrière, Gimp, et Mozilla, plus quelques terminaux xterm.


26 Janvier 2003

Applications:

Blackbox

http://blackboxwm.sf.net
C'est mon gestionaire de fenêtres.

xmodmap

Me permet, en parallèle de bbkeys, de gérer les particularités de mon clavier: En particulier c'est ici que je défini les "keycodes" pour les touches qui n'en ont pas. (cf. .xmodmaprc )

bbkeys

http://bbkeys.sourceforge.net/
Utilitaire (spécifique à BlackBox ?) permettant de gérer des raccourcis claviers aisément (cf. .bbkeysrc )

bbpager

http://bbtools.thelinuxcommunity.org/available.phtml#bbpager
Utilitaire (spécifique à BlackBox ?) qui affiche une réductions des différents bureaux; je l'ai configuré pour s'afficher en bas à droite (cf. .bbtools/bbpager.bb)

Xtoolwait

http://www.hacom.nl/%7Erichard/software/xtoolwait.html
Permet de réduire le temps d'initialisation du serveur X (je m'en sers en appelant quelques programmes dans .xinitrc).

gkrellm

http://www.gkrellm.net
Joli gadget de surveillance principalement ("monitoring"). On peut aussi lui ajouter quantité de plugins.

Fichiers utilisés:

~/.xinitrcScript executé par défaut au démarage du serveur X.
~/.xmodmapJ'utilise un clavier qui n'est pas reconnu par Linux (cf config du "Logitech Cordless Desktop" )
Ce fichier contient les "keysym" à associer aux "keycode" de certaines touches avec xmodmap, que j'appelle dans .xinitrc.
~/.blackboxrcFichier de configuration du gestionnaire de fenêtre que j'utilise, BlackBox.
~/.bbkeysrcDéfinition des raccourcis gérés par bbkeys ; C'est le fichier par défaut. Facile à éditer, mais encore plus facile à configurer avec le script PERL qui va avec...
~/.bbtools/bbpager.bbFicher de config de bbpager ...
~/.bbtools/blackbox-menu ~/.bbtools/style.bbCe sont deux fichiers, l'un pour le menu (boutton 3 usuellement),
l'autre pour le style, appelés dans .blackboxrc
~/.xinitrc :
# .xinitrc - Fichier d'initialisation pour X11 

# Definition keysym pour certaines touches, dans .xmodmaprc
xmodmap .xmodmaprc

# Le gestionnaire de fenetres
blackbox &

# Gestion des racourcis clavier, config dans .bbkeysrc
xtoolwait bbkeys -i

# Monitoring gadget
xtoolwait gkrellm -w &

# Gadget pour les bureaux, config dans .bbtools/bbpager.bb
xtoolwait bbpager &

# on lance un terminal
xterm &

# Le terminal principal, affiche en bas a gauche, sur le bureau principal
Eterm --name Login -f white --borderless --scrollbar=no --buttonbar=no --login-shell --geometry 37x4+0+988



~/.xmodmaprc :
! .xmodmaprc - expressions d'xmodmap a executer.
! appele dans .xinitrc

! Avoir des accents et des caractères spéciaux par
! 'Start+spécial, caractère' et 'Start+caractère, spécial'
keycode 115 = Multi_key
keycode 116 = Multi_key

!  Pour gérer le 'Logitech CordLess Keyboard' :
!  définition de 'keysym' pour certaines touches.
! Pour trouver les 'keysym' existantes voir les fichiers : 
! /usr/X11R6/lib/X11/XKeysymDB 
! /usr/X11R6/include/X11/XF86keysym.h
!  Raccourcis géres par 'bbkeys': voir ~/.bbkeysrc

keycode 129 = XF86XK_AudioMedia
keycode 130 = XF86XK_HomePage
keycode 151 = XF86XK_AudioStop
keycode 158 = XF86XK_AudioRaiseVolume
keycode 159 = XF86XK_AudioPlay
keycode 162 = XF86XK_AudioNext
keycode 164 = XF86XK_AudioPrev
keycode 165 = XF86XK_AudioLowerVolume
keycode 166 = XF86XK_AudioMute
keycode 223 = XF86XK_Standby
keycode 229 = XF86XK_Search
keycode 230 = XF86XK_Favorites
keycode 233 = XF86XK_RockerEnter
keycode 234 = XF86XK_RockerDown
keycode 236 = XF86XK_Mail


~/.blackboxrc :
session.screen0.slit.placement:	TopRight
session.screen0.slit.direction:	Vertical
session.screen0.slit.onTop:	False
session.screen0.slit.autoHide:	False
session.screen0.toolbar.onTop:	False
session.screen0.toolbar.autoHide:	False
session.screen0.toolbar.placement:	BottomCenter
session.screen0.toolbar.widthPercent:	67
session.screen0.focusModel:	ClickToFocus
session.screen0.focusNewWindows:	True
session.screen0.workspaces:		4
session.screen0.focusLastWindow:	True
session.screen0.colPlacementDirection:	TopToBottom
session.screen0.edgeSnapThreshold:	0
session.screen0.fullMaximization:	False
session.screen0.strftimeFormat:	%I:%M %p
session.screen0.rowPlacementDirection:	LeftToRight
session.screen0.windowPlacement:	CascadePlacement
session.screen0.workspaceNames:	Main, Deuxi\350me, Troisi\350me, Quatri\350me 
session.opaqueMove:	False
session.autoRaiseDelay:	400
session.cacheMax:	200
session.menuFile:	/etc/X11/blackbox/blackbox-menu
session.imageDither:	True
session.doubleClickInterval:	250
session.cacheLife:	5
session.colorsPerChannel:	4
session.styleFile:	/home/cm/.bbtools/style.bb

~/.bbkeysrc :
#~/.bbkeysrc, automagically configured by bbkeysconf.pl

KeyToGrab(1), WithModifier(Mod1), WithAction(Workspace1)
KeyToGrab(2), WithModifier(Mod1), WithAction(Workspace2)
KeyToGrab(3), WithModifier(Mod1), WithAction(Workspace3)
KeyToGrab(4), WithModifier(Mod1), WithAction(Workspace4)
KeyToGrab(Right), WithModifier(Control), WithAction(NextWorkspace)
KeyToGrab(Left), WithModifier(Control), WithAction(PrevWorkspace)
KeyToGrab(XF86XK_RockerEnter), WithModifier(None), WithAction(Workspace1)
KeyToGrab(XF86XK_RockerDown), WithModifier(None), WithAction(PrevWorkspace)
KeyToGrab(XF86XK_RockerDown), WithModifier(Control), WithAction(NextWorkspace)
KeyToGrab(XF86XK_AudioMedia), WithModifier(None), WithAction(ExecCommand), DoThis(xmms)
KeyToGrab(XF86XK_AudioMedia), WithModifier(Control), WithAction(ExecCommand), DoThis(xmms-shell -e xmmsexit)
KeyToGrab(XF86XK_AudioRaiseVolume), WithModifier(None), WithAction(ExecCommand), DoThis(aumix -v +2)
KeyToGrab(XF86XK_AudioLowerVolume), WithModifier(None), WithAction(ExecCommand), DoThis(aumix -v -2)
KeyToGrab(XF86XK_AudioMute), WithModifier(None), WithAction(ExecCommand), DoThis(aumix -v m)
KeyToGrab(XF86XK_AudioMute), WithModifier(Control), WithAction(ExecCommand), DoThis(aumix -v 50)
KeyToGrab(XF86XK_AudioPlay), WithModifier(None), WithAction(ExecCommand), DoThis(xmms-shell -e play)
KeyToGrab(XF86XK_AudioPlay), WithModifier(Control), WithAction(ExecCommand), DoThis(xmms-shell -e pause)
KeyToGrab(XF86XK_AudioNext), WithModifier(None), WithAction(ExecCommand), DoThis(xmms-shell -e next)
KeyToGrab(XF86XK_AudioPrev), WithModifier(None), WithAction(ExecCommand), DoThis(xmms-shell -e prev)
KeyToGrab(XF86XK_AudioStop), WithModifier(None), WithAction(ExecCommand), DoThis(xmms-shell -e stop)
KeyToGrab(XF86XK_Favorites), WithModifier(None), WithAction(ExecCommand), DoThis(xterm)
KeyToGrab(XF86XK_HomePage), WithModifier(None), WithAction(ExecCommand), DoThis(mozilla $WWW_HOME)
KeyToGrab(XF86XK_Search), WithModifier(None), WithAction(ExecCommand), DoThis(mozilla http://www.google.org)
KeyToGrab(Pause), WithModifier(Control+Mod1), WithAction(ExecCommand), DoThis(xlock)
KeyToGrab(XF86XK_Mail), WithModifier(None), WithAction(ExecCommand), DoThis(mozilla -mail)
KeyToGrab(Menu), WithModifier(None), WithAction(NudgeDown)


~/.bbtools/bbpager.bb :
!************************************************************
!**  pager.bb: Style file for bbpager when using Blackbox  **
!************************************************************

! ** auto reconfigure when config-file has changed **
bbpager.autoConfig: True
! ** number of seconds between checks **
bbpager.autoConfig.checkTimeout: 15

!** position of bbpager window **
bbpager.position: +1171+991

!** width and height of the pagers model of the desktop windows **
bbpager.desktop.width: 73
bbpager.desktop.height: 55

!** define the number of columns, the number of row will grow as
!** desktops are added (vertical orientation)
!bbpager.columns: 1

!** define the number of rows, the number of columns will grow as
!** desktops are added (horizontal orientation)
bbpager.rows: 1

!** bbpager on top of other windows **
bbpager.raised: False

!** set the window docus style none, border or texture
bbpager.window.focusStyle: texture

!**define focused desktop style none, border or texture
!bbpager.desktop.focusStyle: border
!** focused desktop
!bbpager.desktop.focus: Raised Gradient Vertical Bevel1
!bbpager.desktop.focus.color: darkslategrey
!bbpager.desktop.focus.colorTo: slategrey

!** change mouse button action,
!** button 1 = left mouse button, 2 middle, 3 right etc.
!** you can define mutiple functions to a mouse button, like raise & focus
bbpager.desktopChangeButton: 1
bbpager.windowMoveButton: 1
bbpager.windowFocusButton: 1
bbpager.windowRaiseButton: 1


~/.bbtools/style.bb :
! Title:	cthulhain-modifié
! Comment:	cthulain modifié pour le fond d'écran

! ***** toolbar *****
toolbar:				raised gradient vertical
     toolbar.color:			#585858
     toolbar.colorTo:			#0f1319

toolbar.label:				parentrelative
     toolbar.label.textColor:		#cccccc

toolbar.windowLabel:            	sunken gradient crossdiagonal
     toolbar.windowLabel.color:		#151a22
     toolbar.windowLabel.colorTo:	#7a8290
     toolbar.windowLabel.textColor:	#ffffff

toolbar.clock:				parentrelative
     toolbar.clock.textColor:		#cccccc

toolbar.button:				parentrelative
     toolbar.button.picColor:		#cccccc

toolbar.button.pressed:			flat gradient vertical
     toolbar.button.pressed.color:	#0f1319
     toolbar.button.pressed.colorTo:	#7a8290


! ***** menu *****
menu.title:				raised gradient crossdiagonal
     menu.title.color:			#151a22
     menu.title.colorTo:		#7a8290
     menu.title.textColor:		#ffffff

menu.frame:				sunken gradient crossdiagonal
     menu.frame.color:			#0f1319
     menu.frame.colorTo:		gray40
     menu.frame.textColor:		#cccccc

menu.hilite:				sunken gradient crossdiagonal
     menu.hilite.color:			#151a22
     menu.hilite.colorTo:		#7a8290
     menu.hilite.textColor:		#ffffff

menu.bullet:				triangle
     menu.bullet.position:		right


! ***** window focused *****
window.title.focus:			raised gradient diagonal
     window.title.focus.color:		gray40
     window.title.focus.colorTo:	#0f1319

window.label.focus:			sunken gradient crossdiagonal
     window.label.focus.color:		#151a22
     window.label.focus.colorTo:	#7a8290
     window.label.focus.textColor:	gray90

window.button.focus:			parentrelative
     window.button.focus.picColor:	#cccccc

window.button.pressed:			flat gradient vertical
     window.button.pressed.color:	#0f1319
     window.button.pressed.colorTo:	#7a8290

window.handle.focus:			raised gradient diagonal
     window.handle.focus.color:		gray50
     window.handle.focus.colorTo:	#0f1319

window.grip.focus:			raised gradient diagonal
     window.grip.focus.color:		#7a8290
     window.grip.focus.colorTo:		#151a22

window.frame.focusColor:		#858585
window.frame.focus.color:		#858585


! ***** window unfocused *****
window.title.unfocus:			raised gradient diagonal
     window.title.unfocus.color:	gray40
     window.title.unfocus.colorTo:	#0f1319

window.label.unfocus:			parentrelative
     window.label.unfocus.textColor:	#808080

window.button.unfocus:			parentrelative
     window.button.unfocus.picColor:	#727272

window.handle.unfocus:			raised gradient diagonal
     window.handle.unfocus.color:	gray50
     window.handle.unfocus.colorTo: 	#0f1319

window.grip.unfocus:			raised gradient diagonal
     window.grip.unfocus.color:		gray50
     window.grip.unfocus.colorTo:	#0f1319

window.frame.unfocusColor:		#5e6166
window.frame.unfocus.color:		#5e6166


! ***** fonts *****
*.font:					-*-lucida-medium-r-*-*-*-100-*-*-*-*-*
    toolbar.justify:			center
    window.justify:			right
    menu.title.justify:			center
    menu.frame.justify:			right

! ***** the rest *****
borderColor:				#202020
borderWidth:				1
bevelWidth:				2
handleWidth:				4
frameWidth:				0

! Set my color
!rootCommand:				bsetbg -solid "#3a404b"
rootCommand:				xsetroot -solid steelblue4

! ***** bbpager *****
bbpager.frame:				sunken gradient crossdiagonal
    bbpager.frame.color:		#151a22
    bbpager.frame.colorTo:		#7a8290

bbpager.desktop:			parentrelative

bbpager.desktop.focus:		 	flat gradient vertical
    bbpager.desktop.focus.color: 	#0f1319
    bbpager.desktop.focus.colorTo: 	gray40

bbpager.window:				raised gradient vertical
    bbpager.window.color:		gray40
    bbpager.window.colorTo:		#0f1319

bbpager.window.focus:			raised gradient crossdiagonal
    bbpager.window.focus.color:		#151a22
    bbpager.window.focus.colorTo:	#7a8290

bbpager.desktop.focusStyle:		border
bbpager.active.window.borderColor:	#202020
bbpager.inactive.window.borderColor:	#202020
bbpager.active.desktop.borderColor:	#0f1319



Point particulier sur la config Linux du "Logitech Cordless Desktop"

Beaucoup des touches "multimédia" de ce clavier n'ayant même pas de keysym définies, mais réagissant dans xev, voici la manip que j'ai trouvé pour l'utiliser au mieux:

  1. Les KEYSYM existantes pour les touches non usuelles sont déjà définies dans ces deux fichiers:
     /usr/X11R6/lib/X11/XKeysymDB        
     /usr/X11R6/include/X11/XF86keysym.h
    Ne m'en demandez pas beaucoup plus la dessus, ça semble assez compliqué: en gros, les programmes feraient appel au premier (on peux peut-être utiliser un autre ficher, en définissant $KEYSYMDB semblerait-il ? ), et le serveur X au second.
    Attention à faire coincider les noms dans XKeysymDB avec les définitions de XF86keysym.h ! (ça ne marcherait pas sinon).

  2. Les keycodes des touches à définir ont étés préalablement trouvés grâce à xev. On leurs alloue donc les keysym relevés en (1), avec la commande
    xmodmap -e 'keycode XXX = KEYSYM'
    ou bien en regroupant ces définitions dans un fichier que l'on appelle avec xmodmap (dans mon cas, cf .xmodmaprc, appelé par xmodmap dans .xinitrc).

  3. Finalement on peut configurer bbkeys qui utilise les keysym pour la gestion des raccourcis ( cf. .bbkeysrc )
Et voilà, le tour est joué !!

Remarque: Il reste par contre toujours quelques touches ("user", "Verr. F", "Messenger/SMS", "Caméra Web", "iTouch", et "Achats" sur la version française ) pour lesquelles il m'a été impossible de faire quoi que ce soit... si vous trouvez comment les configurer comme on veux, ecrivez moi pour me dire comment vous l'avez fait !
De plus, si vous trouvez comment associer à la touche windauz "Menu" le menu du bouton 3, cela m'intéresse aussi...


Commentaires

Après avoir utilisé 9wm pendant longtemps, pour changer un peu, et comme certaines subtilités me manquaient, je suis passé à Blackbox, dont voici donc ma configuration (26 janvier 2003).

Merci à Derek C. (www.nosleep.ca) qui m'a vraiment aidé sur quelques points de config, et dont les réponses furent instructives.

Aucun commentaire:

Enregistrer un commentaire