Mettre un thème LSdistro au standard OTS

 

Un certain nombre d'utilisateurs de Litestep ont installé LSdistro. Ils ne souhaitent pas passer au standard OTS de peur de ne plus pouvoir utiliser leurs thèmes favoris.

Pourtant convertir un thème au standard OTS n'est pas une chose très compliquée. Un peu d'organisation dans la structure des fichiers et quelques lignes de commande à modifier et le tour est joué.

L'examen de la structure du répertoire thème de chacun des deux standards (tableau ci-dessous) permet de voir, du moins au premier abord qu'il n'y a pas de grosses différences. Dans une structure OTS on retrouve simplement trois répertoires supplémentaires qui vont accueillir des fichiers qui se trouvent dans le répertoire Thème,.

Comparons la structure du répertoire thème dans chacune des distributions

LSDISTRO

OTS

Step.rc

 

Fichier de configuration du thème

Step.rc

Fichier de configuration du thème

" Nom du thème ".thm

 

Fichier texte utilisé par LSTS (gestionnaire de thème)

" Nom du thème ".thm

Fichier texte utilisé par LSTS (gestionnaire de thème)

Preview.gif ou jpg

 

Image de prévisualisation du thème (utilisée par LSTS)

Preview.gif ou jpg

Image de prévisualisation du thème (utilisée par LSTS)

Readme

 

Explication du fonctionnement du thème ou infos utiles

Readme

Explication du fonctionnement du thème ou infos utiles

Images

 

Répertoire des images utilisées par le thème

Images

Répertoire des images utilisées par le thème

Modules

 

Répertoire des modules utilisés par le thème, en plus des modules communs

Modules

Répertoire des modules utilisés par le thème, en plus des modules Cores

Misc

 

Programmes , fichiers en plus pour le thème (skins windowblinds, winamp, ...)

Misc

Programmes , fichiers en plus pour le thème (skins windowblinds, winamp, ...)

Fichiers de configuration

 

En fonction des modules utilisés par le thème, vous trouverez des fichiers de configuration (par exemple rainmeter, Lsnkmenu…)

Sound

Répertoire contenant les sons utilisés par le thème

-
-

wallpaper

 

Répertoire contenant le ou les papiers peints utlisés par le thème

-
-

config

 

répertoire des fichiers de configuration d'un thème

(Pour plus de détails sur LSdistro, je vous recommande le très bon article de David sur cette distribution. Pour OTS, je vous rconseille la traduction faites par scorpx de la documentation officielle OTS)

Deux étapes sont donc nécessaires pour adapter le standard OTS. Dans un premier temps, on va adopter la même structure de présentation (première partie) et ensuite modifier les scripts (step.rc et fichiers de configuration) en fonction de la nouvelle structure adoptée.

 

 

1/ Application de la structure OTS au thème LSdistro

Pour vous permettre de bien comprendre les explications qui vont suivre, nous partirons d'un exemple, sur la base du thème existant, au standard LSdistro. Il s'agit du thème Litestep-France 1 (téléchargement du thème)

Avant de commencer, vous allez copier le thème LSdistro que vous souhaitez modifier, dans le sous répertoire thème de votre distribution OTS.

Une fois cette opération effectuée, vous ouvrez votre dossier thème et vous créez trois sous répertoires (clic droit/ nouveau dossier) que vous appellerez : sound, wallpaper, confg.

Exemple :

Structure du répertoire Litestep France 1 avant modification

 

Structure du répertoire après modification

Maintenant que les sous répertoires ont été créés, nous allons déplacer les fichiers en les plaçant dans leur répertoire de destination.

 

- le sous répertoire config.

Comme nous l'avons vu dans le tableau comparatif, ce sous répertoire contient tous les fichiers de configuration d'un thème, (script.rc, syscolour.ini, rainmeter.ini, .box…)

Nous allons donc déplacer tous ces fichiers de configuration dans le sous répertoire conf. Dans notre exemple, il s'agit des fichiers : chronos, ckvwm, desktop2 ,english, french, label, lstime, lxcommand, popup2,shortcut, syscolor, systray2, task et wharf.

 

- Le sous répertoire images

Il n'a pas à être modifié.

 

- Le sous répertoire Modules.

La bibliothèque des modules communs dans lsdistro est plus importante que celle du standard OTS. En effet OTS se borne à ne reprendre en modules communs, que les modules Core. Vous devez donc vérifier les modules utilisés par le thème sous LSdistro de façon à compléter votre sous répertoire modules. Celui-ci doit donc contenir tout les modules utilisés par le thème et qui ne figure pas dans le répertoire Litestep (distribution OTS).

Dans notre exemple, il s'agit des modules suivants : chronos, ckvwm, geekamp, label, lxcommand syscolor et task.

Vous pouvez profiter de cette occasion pour mettre à jour les modules du thème. Cela permettra de corriger des bogues éventuels, surtout si vous disposez d'une des dernières version de Litestep.

 

- Le sous répertoire Sound

Ici, vous allez placer tous les sons utilisés par le thème et qui dans notre exemple se trouve dans le sous répertoire Son. Une fois l'opération effectué, vous supprimez le sous répertoire son qui ne sert plus à rien.

 

- le sous répertoire wallpaper.

Il suffit de déplacer le ou les fichiers jpg representant le papier peint. Dans notre exemple, il y en a deux (fond1 et fond6)

 

Après cette restructuration, votre répertoire thème devrait se présenter de la façon suivante.

La première étape de restructuration du répertoire thème est terminée. Nous allons maintenant aborder la modification des scripts.

 

2/ La modification des scripts.

L'opération est plus délicate que la précédente, mais elle est loin d'être insurmontable.

La première modification des scripts va porter sur le fichier step.rc.

Avez-vous comparez le fichier step.rc d'un thème OTS à celui d'un thème LSdistro ? Si ce n'est pas le cas faites le !

Vous constaterez alors, qu'il n'y a pas de déclarations des variables d'environnement dans le step.rc d'un thème LSdistro, pour la bonne et simple raison quelles figurent non pas dans le step.rc du thème, mais dans le step.rc du répertoire LSdistro.

Dans un thème OTS, les déclarations des variables d'environnement font parties intégrantes du thème. C'est l'une des raisons pour lesquelles les thèmeurs préfèrent utiliser OTS plutôt que LSdistro, car la liberté de programmation du thème est ainsi plus grande.

Pour mémoire, " les variables d'environnement vous permettent de définir certains mots pour utiliser vos chemins vers les répertoires les plus utilisés. Ces variables sont entourés du signe $ et peuvent être utilisées avec n'importe quelle commande Litestep dans le fichier step.rc. Ces variables peuvent être aussi utilisé dans les thèmes de façon a définir une variable pointant sur une application et donc modifiable par n'importe quel utilisateur du thème " (Extrait de la documentation Litestep-France).

Vous constaterez également que la syntaxe utilisée n'est pas la même. Avec OTS, les variables d'environnement ont été standardisées, même s'il est possible d'en utiliser d'autre. Pour notre part, nous retiendrons les variable standardisées. Le tableau ci-dessous permet de voir la différence entre les variables d'environnement utilisées par Lsdistro et celles utilisées par OTS.

Variables d'environnement LSdistro

Variables d'environnement OTS

dirWindow.........................................."$Windir$\"dir

ProgramFile......................................."C:\Progra~1\"

dirLiteStep........................................"$LiteStepDir$"

dirBin................................................"$dirLiteStep$bin\"

dirShortcuts......................................"$dirLiteStep$Shortcuts\"

dirModulesCommon .........................."$dirLiteStep$modules\"

dirDocsModules ..............................."$dirModulesCommon$\docs\"

dirDocsLiteStep................................"$dirLiteStep$lsdocs\"

dirPersonal......................................"$dirLiteStep$personal\"

rcPersonal......................................."$dirPersonal$personal.rc"

dirModules........................................"$dirTheme$modules\"

iniModules.......................................$LiteStepDir$modules.

inilistEngines..................................$LiteStepDir$engines.list

dirImages........................................"$dirTheme$images\"

LSImageFolder............................... "$dirImages$"

WinDir....................................."$Windir$\"

 

LiteStepDir.............................."$LiteStepDir$

bin Dir .................................." $LiteStepDir$bin\"

ShortcutsDir.......................... "$LiteStepDir$shortcuts\"

PersonalDir ............................$LiteStepDir$personal\

ModulesDir ............................"$ThemeDir$Modules\"

ThemeDir ...............................$LiteStepDir$Themes\

ConfigDir................................$ThemeDir$Config\

SoundDir ..............................$ThemeDir$sound\

MiscDir.................................$ThemeDir$misc

LSImageFolder...................... $ThemeDir$Images\

Après cet aperçu thèorique, passons à la pratique qui est, en fait, assez simple. Si l'on revient à notre exemple, le thème Litestep-france1, le step .rc se présente de la façon suivante :

Les erreurs de syntaxe sont soulignées

===================================

;Theme : LITESTEPFRANCE1

;URL:www.litestep-france.net/

ThemeName "litestepfrance1"

ThemeAuthor "L'équipe LitestepFrance"

NoSystray

Include "$dirTheme$french.lng"

;Include "$dirTheme$english.lng"

 

===[ Modules ]===

Include "$dirTheme$systray2.rc"

Include "$dirTheme$desktop2.rc"

Include "$dirTheme$popup2.rc"

Include "$dirTheme$wharf.rc"

Include "$dirTheme$shortcut.rc"

Include "$dirTheme$chronos.rc"

Include "$dirTheme$tasks.rc"

Include "$dirTheme$ckvwm.rc"

Include "$dirTheme$label.rc"

Include "$dirTheme$lsxcommand.rc"

 

LoadModule $dirModules$syscolor.dll

Loadmodule $dirModulesCommon$hotkey.dll

Loadmodule $dirModulesCommon$geekamp.dll

 

SCIniFile "$dirTheme$syscolor.ini"

SCLoadSection default

================================================

 

A l'examen de ce script et au regard des observations thèoriques que nous avons pus faire, on constate qu'il n'y a pas de déclarations des variables d'environnement.

On constate également un problème de syntaxe qu'il va falloir corriger

Dans un premier temps, on va compléter notre fichier step.rc en procédant à la déclaration des variables d'environnements, à savoir :

 

;-----------------------------------------------

; LiteStep variable d'enviroenements

;-----------------------------------------------

 

PersonalDir $LiteStepDir$personal\

ThemeDir $LiteStepDir$Themes\litestepfrance11\

ModulesDir $ThemeDir$Modules\

ConfigDir $ThemeDir$Config\

SoundDir $ThemeDir$sound\

LSImageFolder $ThemeDir$Images\

MiscDir $ThemeDir$misc

WinDir "$Windir$\"

include $PersonalDir$personal.rc

============================================

Une fois cette opération effectuée, vous allez corriger " les fautes " de syntaxe du fichier step.rc. Après correction, voilà ce que cela donne :

 

=========================================

;-------------------------------------------------

; Choix de la langue / choose your language

;-------------------------------------------------

 

Include $ConfigDir$french.lng

;Include $ConfigDir$english.lng

 

 

===[ Modules ]===

 

Include $ConfigDir$systray2.rc

Include $ConfigDir$desktop2.rc

Include $ConfigDir$popup2.rc

Include $ConfigDir$wharf.rc

Include $ConfigDir$shortcut.rc

Include $ConfigDir$chronos.rc

Include $ConfigDir$tasks.rc

Include $ConfigDir$ckvwm.rc

Include $ConfigDir$label.rc

Include $ConfigDir$lsxcommand.rc

 

LoadModule $ModulesDir$Syscolor.dll

Loadmodule $LiteStepDir$Hotkey.dll

Loadmodule $ModulesDir$Geekamp.dll

 

 

 

SCIniFile "$ConfigDir$syscolor.ini"

SCLoadSection default

 

===============================================

 

 

Vous devrez également vérifier et corriger la syntaxe dans tous les fichiers qui se trouvent dans le sous répertoire config.

 

Et vous avez terminé. Vous n'avez plus qu'à copier votre thème ainsi modifié dans le répertoire Litestep (au standard OTS) et sélectionner votre thème avec LTS et cela devrait fonctionner. Cela ne fonctionne pas, corrigez vos fautes de syntaxe et cela marchera.