Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/08/2020, à 10:23

BBrice

Code minimal d'un thème Metacity

Bonjour, quel est le code minimal pour avoir une preview dans metacity-theme-viewer ?

Avec le code suivant (du fichier Test/metacity-1/metacity-theme-1.xml) je n'ai aucune preview ni aucun message.
Un thème dans .themes est détecté mais n'a pas de preview, même pour un thème existant, et si je déplace mon thème dans /usr/share/themes c'est pareil, mais dans ce cas les thèmes existants fonctionnent.

<?xml version="1.0"?>

<metacity_theme>
	
<info>
  <name>Test</name>
</info>




<!-- GEOMETRY -->

<frame_geometry name="normal">
	<distance name="left_width" value="3"/>
	<distance name="right_width" value="3"/>
	<distance name="top_height" value="30"/>
	<distance name="bottom_height" value="3"/>
	<distance name="button_width" value="16"/>
	<distance name="button_height" value="16"/>
</frame_geometry>




<!-- DRAWOPS -->

<draw_ops name="background">
	<rectangle color="#000000" x="0" y="0" width="width" height="height" filled="true"/>
</draw_ops>

<draw_ops name="titlebar">
	<rectangle color="#ff0000" x="0" y="0" width="width" height="height" filled="true"/>
</draw_ops>

<draw_ops name="button">
	<rectangle color="#ffffff" x="0" y="0" width="width" height="height" filled="true"/>
</draw_ops>




<!-- FRAMESTYLES -->

<frame_style name="normal" geometry="normal">
	<piece position="entire_background" draw_ops="background"/>
	<piece position="titlebar" draw_ops="titlebar"/>
	
	<button function="close" state="normal" draw_ops="button"/>
	<button function="close" state="prelight" draw_ops="button"/>
	<button function="close" state="pressed" draw_ops="button"/>
	
	<button function="maximize" state="normal" draw_ops="button"/>
	<button function="maximize" state="prelight" draw_ops="button"/>
	<button function="maximize" state="pressed" draw_ops="button"/>

	<button function="minimize" state="normal" draw_ops="button"/>
	<button function="minimize" state="prelight" draw_ops="button"/>
	<button function="minimize" state="pressed" draw_ops="button"/>

	<button function="menu" state="normal" draw_ops="button"/>
	<button function="menu" state="prelight" draw_ops="button"/>
	<button function="menu" state="pressed" draw_ops="button"/>
</frame_style>




<!-- FRAMESTYLESETS -->

<frame_style_set name="normal">
	<frame focus="yes" state="normal" resize="both" style="normal"/>
	<frame focus="no" state="normal" resize="both" style="normal"/>
</frame_style_set>




<!-- WINDOWS -->

<window type="normal" style_set="normal"/>
<window type="dialog" style_set="normal"/>
<window type="modal_dialog" style_set="normal"/>
<window type="menu" style_set="normal"/>
<window type="utility" style_set="normal"/>
<window type="border" style_set="normal"/>

</metacity_theme>

Hors ligne

#2 Le 10/08/2020, à 11:41

abelthorne

Re : Code minimal d'un thème Metacity

Il n'y a pas de preview qu'on définit soi-même dans un thème Metacity. Tu peux avoir un thème global avec une prévisu qui définit les "sous-thèmes" (Gtk, Metacity...) qui en font partie et qui sont spécifiés dans le fichier index.theme correspondant. Et si je ne m'abuse, les prévisus sont générées à la volée en utilisant le moteur correspondant, ce n'est pas une image qu'on ajoute.

Tu es sur quel environnement ? De mémoire, il n'y a plus que MATE qui utilise les thèmes Metacity et qui propose un gestionnaire qui les affiche.

Hors ligne

#3 Le 10/08/2020, à 19:57

BBrice

Re : Code minimal d'un thème Metacity

Il n'y a pas de preview qu'on définit soi-même dans un thème Metacity

Justement j'attends de metacity-theme-viewer qu'il interpréte le xml, vu qu'il contient des opérations de dessin, et qu'il me renvoie le résultat pour que je puisse itérer en complexité, je ne cherche pas à lui imposer une preview, ça ne voudrait rien dire de toute manière.

Tu es sur quel environnement ? De mémoire, il n'y a plus que MATE qui utilise les thèmes Metacity et qui propose un gestionnaire qui les affiche.

J'utilise Cinnamon, mais je n'ai jamais fait de thème de fenêtre et la seule manière que j'ai trouvé est via Metacity. Tu veux donc dire que cette méthode est obsolète et qu'il existe une autre manière de créer ce type de thème ? C'est peut-être pour cette raison que je tombais un peu trop souvent à mon goût sur des erreurs 404. roll
Quelle est cette méthode dans ce cas, via gtk3 ? Pourtant il me semblait avoir compris que c'était pour les contrôles...

Hors ligne

#4 Le 10/08/2020, à 21:01

abelthorne

Re : Code minimal d'un thème Metacity

La création de thèmes Metacity n'a pas changé mais il n'y a plus tellement d'environnements de bureau qui utilisent Metacity. Je crois que MATE le fait encore (à vérifier, ça a peut-être changé depuis le passage complet à GTK 3). Pour Cinnamon, ça m'étonnerait, étant donné qu'il est dérivé de GNOME 3 mais c'est juste une supposition de ma part. Après, il y a d'autres environnements qui utilisent leur propre format : XFCE utilise des thèmes xfwm4, LXDE/Openbox utilise des thèmes Openbox...

Tout ça ne concerne que les barres de titre des fenêtres. Mais GNOME 3, depuis le passage aux barres de titre en CSD (et donc potentiellement Cinnamon aussi), les définit dans le thème GTK 3 global, pour autant que je sache.

Je ne saurais pas te dire quel est le problème avec metacity-theme-viewer, mais en tout cas, si tu arrives à créer un thème valide, tu ne pourras probablement pas en faire grand chose concrètement.

Et rectification sur ce que j'ai dit plus tôt : dans un thème Metacity, il y a une preview sous forme de fichier image (thumbnail.png) qui sert pour les gestionnaires de thèmes (mais probablement pas pour metacity-theme-viewer). J'avais vérifié dans un thème qui s'est avéré être incomplet avant de répondre, désolé.

Hors ligne