Salut, c'est ma première version de mon premier essai pour faire un Window Manager/Shell MS-Windows (95/98/nt4/2000).
Téléchargez les exécutables http://perso.club-internet.fr/noote/Old/Nwm/Nwm001.zip.
Téléchargez les sources http://perso.club-internet.fr/noote/Old/Nwm/NwmSources001.zip
Pour le moment, on peut seulement 'customisé' le bureau (pas encore de textures pour les fenêtres)
- Bureau :
Le bureau est la racine des fenêtres, on peut y ajouter des menus, des raccourcis ou/et des groupes.
- texture de fond
- menus (popup) (droite, gauche, centre, simple/double clique de souris)- Menu :
Simple menu (pas récursif), pas de texture.
- execute/lance un exécutables
- Raccourci :
Un raccourci est une icône statique auquel on peut exécuter une commande : exécuter un programme, lancé une commande interne (caché or affiché un groupe...)
- texture de fond
- Quitte/Fin d'une session
- boite d'exécution
- exécute une commande : lance un programme avec des paramètres
- exécute une action : HIDE_GROUP, SHOW_GROUP- Groupe :
Un Groupe est un groupe de raccourcis dans une fenêtre.
- texture de fond
- affichable/cachable via une action d'un raccourci- Texture :
Une texture est un groupe d'images ou d'icônes.
- transparent (rgb : 255,0,255)
- ajout/copie (mixage) avec une autre texture
- agrandissement (changement de la taille suivant la taille de la fenêtre)
- tips/textes pour les raccourcis
- déplacement/animation des groupes et des raccourcis
- menus dans les groupes groups
- plugins
- sons
- menus récursifs
- extraction de répertoire vers un menu
- textures dans le menu
- textures pour les fenêtres (interception des appels WM_NC_xxx, est-ce quelqu'un connaîtrait des tutoriaux, des infos ou des sources (C/C++) la dessus ?)
- ...
You can get some theme at http://perso.club-internet.fr/noote/Old/Nwm/Themes but you must know I'm not an artist ! I seek for somes good theme makers for help me to make a good default theme for NWM. The current default theme was stolen from a OutSider99 theme (I hope his author not flame me).
Theme format architecture is simple :
THEME "name" { /* Just some info about this theme */ DESCRIPTION { VERSION {"0.001"} AUTHOR {"?"} EMAIL {"?"} HTTP {"http://www.multimania.com/noote/Nwm/Themes"} INFO {"put what you want"} }/* define a menu */ MENU "SmallMenu" { ITEM "&About..." { ABOUT {} } SEPARATOR {} ITEM "&Run..." { RUN {} } SEPARATOR {} ITEM "&Quit" { QUIT {} } ITEM "&Log Out" { ENDSESSION {} } ITEM "&Shut Down" { SHUTDOWN {} } } /* the desktop definition */ DESKTOP { /* set a background, you can omit it, it will take default windows background */ BITMAP "BackGround" {"themes\default\images\back.bmp"} /* add a menu to the rigth click on desktop */ MOUSEMENU "RightClick" {"SmallMenu"} /* add somes shortcuts in this desktop */ SHORTCUT "Quit" { /* set position and size */ WIDTH {"64"} HEIGHT {"64"} POSX {"700"} POSY {"500"} /* set a background */ BITMAP "BackGround" {"themes\default\images\shutdown.bmp"} /* set a command : here it's a quitting button */ SHUTDOWN {} }SHORTCUT "Show Me" { WIDTH {"64"} HEIGHT {"64"} POSX {"128"} POSY {"128"} BITMAP "BackGround" {TRANSPARENT{"themes\default\images\show.bmp"}} /* show SmallGroup group */ ACTION "show_group" {"SmallGroup"} } /* add a group */ GROUP "SmallGroup" { /* set position and size */ POSX {"0"} POSY {"0"} WIDTH {"128"} HEIGHT {"128"} /* specify it's loaded as show, it can be hide */ SHOW {} /* add a backgound, if no background specified, it's a transparent window */ BITMAP "BackGround" {TRANSPARENT{"themes\default\images\tableau.bmp"}} /* add some shortcuts */ SHORTCUT "Browse" { WIDTH {"64"} HEIGHT {"64"} POSX {"0"} POSY {"0"} /* for background, we take a icon from eplorer file */ BITMAP "BackGround" {TRANPARENT{"extract::c:\windows\explore.exe"}} /* a execute command : launch a desktop explore ! */ EXECUTE "explorer" { PARAM {"/root,,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"} } }SHORTCUT "Hide Me" { WIDTH {"64"} HEIGHT {"64"} POSX {"60"} POSY {"70"} BITMAP "BackGround" {TRANSPARENT{"themes\default\images\hide.bmp"}} /* Hide SmallGroup group */ ACTION "hide_group" {"SmallGroup"} } } } }
NWM (http://perso.club-internet.fr/noote/Old/Nwm)
NooTe (noote@club-internet.fr)
Last update : 02/05/99