#1001 Le 26/04/2009, à 14:45
- Pahoo
Re : [plus maintenu] Manipulation des USplash
par contre je n'ai toujours pas accès à préférences ni à propos
les menus ne réagissent pas lorsque je m'en sert, c'est en cours ?
ou bien j'ai encore un problème avec mon environnement
-------- Edit ------------------
Ok j'ai vu que c'étais en cours
Dernière modification par Pahoo (Le 26/04/2009, à 19:18)
Ubuntu 10.04 Fedora 14 DualCore 3.00GHz 2GoRam
Hors ligne
#1002 Le 26/04/2009, à 21:19
- prnity
Re : [plus maintenu] Manipulation des USplash
Comment peut on faire pour convertir un usplash en .so qui est fait pour Intrepid pour l'utiliser sur Jaunty?
#1003 Le 26/04/2009, à 21:56
- philarmonie
Re : [plus maintenu] Manipulation des USplash
on ne peut pas, il faut avoir les sources.
#1004 Le 27/04/2009, à 15:11
- toufku
Re : [plus maintenu] Manipulation des USplash
bonjour
je voulais simplement signaler que le logiciel marche bien chez moi. Il manque neanmoins un test de dépendances ou au moins une note sur la premiere page de ce topic pour imagemagik
(j utilise une jaunty toute fraiche)
bonne continuation
avec linux les noyaux, avec windows les pepins....
Hors ligne
#1005 Le 27/04/2009, à 15:31
- xanix
Re : [plus maintenu] Manipulation des USplash
j'utilise Usplash-manger-Themes , mon theme est bien appliqué quand je quitte Ubuntu. Mais quand je lance Ubuntu il applique l'ancien theme par défaut.
Hors ligne
#1006 Le 27/04/2009, à 15:53
- philarmonie
Re : [plus maintenu] Manipulation des USplash
sudo update-initramfs -u -k 'all'
Bizarre que cette commande n'est pas été exécutée quand tu as installé ton thème.
Je viens y jeter un coup d'œil.
#1007 Le 27/04/2009, à 20:49
- François666
Re : [plus maintenu] Manipulation des USplash
Je n'ai pas le courage de lire les 40 pages précédentes pour si on a déjà parlé de ce bug donc je le poste ici.
L'installation s'est passée sans problème mais après avoir choisi l'image que je voulais, rien ne se passe.
J'ai vu dans la console qu'il manquait le dossier ~/.usplash-manager-themes
Je l'ai créé et tout s'est bien passé :-)
Merci pour ce génial programme!
#1008 Le 04/05/2009, à 22:21
- temps
Re : [plus maintenu] Manipulation des USplash
Bonjour, Je suis sous 9.04
j'ai installé le .deb et tout à l'air de bien fonctionner. Le test se lance et l'image se lance sans problème.
Je suis donc allé dans mon dossier personnel, j'ai fait un Ctrl+h pour voir apparaitre les fichiers cachés, j'ai trouvé usplash-manager-theme, j'ai trouvé mon fichier .so que j'ai récupéré pour le placer dans un initrd,
mais quand je le place dans mon image, cela ne fonctionne plus !
Est-ce que cela peut provenir du nom lors de la construction ou faut-il faire quelque chose de spéciale ? pour retrouver l'image du boot à la place des textes défilant ?
Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net
Hors ligne
#1009 Le 05/05/2009, à 15:14
- smo
Re : [plus maintenu] Manipulation des USplash
ola
philarmonie, merci pour ton post auquel je n avais pas pris le temps de repondre jusqu ici
alors
j ai suivi tes instructions malheureusement moi je fais du perl pas du python donc pas tout a fait pareil
ton fichier libreader pete bien effectivement sauf que moi je n ais pas ces outils la en perl surtout le "CDLL"
je n arrive donc pas a recuperer simplement la version, les resolutions etc etc
par contre on a reussi a recreer les images de background et des barres ca ca roule , me resterait dans l absolu a replacer les barres en rapport a leur taille/position comme tu le disais mais je vois pas comment ...
pb aussi avec la taille qu on doit donner tres precisement et que jene recupere donc pas a lavance , ok pour le background mais pour les barres j y vais au pif, j ai mis 320 en base en largeur, ca passe pour certaines, mais d autres sont pas tres belles car la taille n est pas bonne...
alors par contre niveau perf rien a voir avec toi, le seul moyen qu on a trouve pour recuperer les infos data et l offset de depart/fin etait de passer par objdump -D -F, donc on se tape une decompile du .so complet et on retravaille sur les infos apres...
donc questions;
- toi avec ton libreader, t arrives donc a lui demander directement les infos data de telle ou telle image ?
- dans quel fichier se trouvent les resolutions supportees? et se presentent comment dans le fichier, vu que certaisn usplash ont toutes les resolutions, d autre comme le theme ubuntu par defaut n en ont pas .. juste le throbber par exemple en 400x300 Oo...
- comment ferais tu pour placer les images de barre sur l image de background? (sachant que j ai bien du mal a recuperer les bonnes tailles)
une chtite video te montrer comment ca s passe (mega lent...)
http://www.ubukey.fr/downloads/gstylepb.ogv
++
Dernière modification par smo (Le 05/05/2009, à 15:29)
Streamstudio, streaming youtube/dailymotion...: http://forum.ubuntu-fr.org/viewtopic.php?id=1299461 / http://streamstudio.me
Page facebook : https://www.facebook.com/streamstudio1?fref=ts
ubukey, createur ubuntu customisé: http://forum.ubuntu-fr.org/viewtopic.php?id=360408
ME PAYER UNE BIERE !! :D : http://gtk-apps.org/content/donate.php?content=138588
Hors ligne
#1010 Le 05/05/2009, à 16:08
- philarmonie
Re : [plus maintenu] Manipulation des USplash
- toi avec ton libreader, t arrives donc a lui demander directement les infos data de telle ou telle image ?
- dans quel fichier se trouvent les resolutions supportees? et se presentent comment dans le fichier, vu que certaisn usplash ont toutes les resolutions, d autre comme le theme ubuntu par defaut n en ont pas .. juste le throbber par exemple en 400x300 Oo...
- comment ferais tu pour placer les images de barre sur l image de background? (sachant que j ai bien du mal a recuperer les bonnes tailles)
Mon fichier libreader me permet d'avoir accès aux structures définies dans la bibliothèque .so grâce à la fonction CDDL qui me permet de charger dynamiquement en mémoire une bibliothèque C et de la manipuler comme un objet python.
Une structure c'est un peu comme un objet mais qui n'a que des attributs et pas de méthodes (ça permet de créer de nouveaux types de données).
Il y a 3 structures principales:
- usplash_font (pour ceux qui veulent personnaliser la font du texte du thème, non utilisé par les thèmes UTM)
- usplash_pixmap (les images: barres et background)
- usplash_theme (les thèmes proprement dit, une telle structure par résolution)
Pour connaitre les différents attributs de chaque structure il suffit de regarder le début de mon fichier libreader c'est là que je les définis. Pour voir comment sont agencées toutes ces structures pour créer un thème, le mieux serai que tu regardes le code C d'un thème créé avec UTM (tu le trouvera dans le dossier caché de ton thème).
Je n'ai pas encore implémenté le code pour faire cela, mais voilà comment je m'y prendrai:
- je charge le thème en mémoire grâce à CDLL
- je cherche une structure qui est nécessairement présente: usplash_theme (nom de la variable) qui est de type... usplash_theme
- je regarde si son attribut next est null ou non, s'il n'est pas null il pointe vers le nom de la variable du prochain thème (les thèmes sont ainsi chaînés par ordre de résolution croissante)
- à ce stade j'ai récupéré le nom de toutes les variables qui représentent le thème avec des résolutions différentes
- pour chacune de ses structures de type usplash_theme je regarde son attribut usplash_pixmap qui me donne le nom de la variable de type usplash_pixmap qui représente l'image de fond
- pour chacune de ses structures de type usplash_pixmap je regarde leurs attributs width et height ce qui me donne toutes les résolutions supportées par le thème
- ensuite je cherche deux variables de type usplash_pixmap: pixmap_throbber_back et pixmap_throbber_fore qui représentent les images des barres.
- en lisant les attributs width et height je connais la taille de la barre
- pour reconstitué chacune des images je dois me servir des attributs data, palette et width en utilisant la technique décrite dans mon message précédent.
- enfin pour savoir où placer la barre par rapport à l'image de fond, il me suffit de lire les attributs progressbar_x et progressbar_y de la structure de type usplash_theme correspondant à la résolution de mon image de fond.
Voilà donc comment je m'y prendrai, mais je peux le faire ainsi car j'ai un accès direct aux variables globales du thème que je peux manipuler comme des objets python.
Dans ton cas je ne sais pas comment tu pourrai faire, tout dépend de comment tu fais pour « lire » dans la bibliothèque compilée. Tu as regardé si en Perl il n'y a pas un équivalent de la CDLL de python? (c'est présent car Python est codé en C et donc ces deux langages communiquent bien ensemble)
#1011 Le 05/05/2009, à 16:14
- smo
Re : [plus maintenu] Manipulation des USplash
bah oui j ai bien capté tout ca maispb a moi c est justement de lire le C plus efficacement
pas de CDLL quoi, objdump et j recree tousles fichiers et apres je travail avec...
vu la video?
Streamstudio, streaming youtube/dailymotion...: http://forum.ubuntu-fr.org/viewtopic.php?id=1299461 / http://streamstudio.me
Page facebook : https://www.facebook.com/streamstudio1?fref=ts
ubukey, createur ubuntu customisé: http://forum.ubuntu-fr.org/viewtopic.php?id=360408
ME PAYER UNE BIERE !! :D : http://gtk-apps.org/content/donate.php?content=138588
Hors ligne
#1012 Le 05/05/2009, à 16:28
- philarmonie
Re : [plus maintenu] Manipulation des USplash
vu la video?
J'avais pas vu jusqu'au bout et n'avais pas vu le problème du deuxième thème
Déjà vous arrivez à retrouver les data des images et la résolution des thèmes (vous passez par mon libreader pour ça?) et comment vous arrivez a bien reconstituer l'image de fond mais pas celle des barres?
Je vais regarder à quoi ressemble la sortie de objdump -D -F.
Dernière modification par philarmonie (Le 05/05/2009, à 16:29)
#1013 Le 05/05/2009, à 17:08
- smo
Re : [plus maintenu] Manipulation des USplash
je suis au sport je repond plus precisement ce soir
++
Streamstudio, streaming youtube/dailymotion...: http://forum.ubuntu-fr.org/viewtopic.php?id=1299461 / http://streamstudio.me
Page facebook : https://www.facebook.com/streamstudio1?fref=ts
ubukey, createur ubuntu customisé: http://forum.ubuntu-fr.org/viewtopic.php?id=360408
ME PAYER UNE BIERE !! :D : http://gtk-apps.org/content/donate.php?content=138588
Hors ligne
#1014 Le 05/05/2009, à 18:22
- philarmonie
Re : [plus maintenu] Manipulation des USplash
Ha bah c'est pas aussi simple que je le croyais: quand je veux lire l'attribut data je me mange une belle Erreur de Segmentation
À mon avis c'est parce que je le déclare comme un tableau de char dans mon code python alors qu'en C cet attribut est défini comme un tableau d'unsigned char, je vais voir ce que je peux faire là-dessus.
#1015 Le 05/05/2009, à 22:01
- philarmonie
Re : [plus maintenu] Manipulation des USplash
Je progresse
Le fait que ce soit des char ou unsigned char n'a finalement aucune importance.
C'est le type C que je déclare pour l'attribut palette qui ne va pas, c'est un tableau bi-dimensionnel donc c'est du pointeur de pointeur, et je n'arrive toujours pas à bien le déclarer: dès que je veux lire une des valeurs je me prends un Erreur de Segmentation.
Par contre maintenant j'arrive à récupérer parfaitement l'attribut data.
Je m'en vais approfondir ma connaissance de pointeurs en C pour pouvoir lire ces putains de palettes
#1016 Le 05/05/2009, à 23:28
- smo
Re : [plus maintenu] Manipulation des USplash
whoue non c etait un autre pb on creeait une image avec palette, on read le data et on rempli en gros mais en faisant ca ca repassait l image en rgb Oo
du coup autre systeme que je ne saurais expliquer pas moi qui l ai fait (en ascii et pnm si j ai bien compris).. et la ok...
pour te repondre, j arrive a avoir l image ok car moi je me base sur les usplash_1024_768_data et palette par exemple donc forcement j ai la bonne taille, par contre pour les barres j en sais rien a l avance, un de mes pb
fin bon moi tourne autour du fait que je n arrive pas a extraire les infos que je veux de la meme maniere que toi
demandes moi j ai un deb du soft tu pourras voirle code du module que tu capteras je pense sans soucis...
toi a ton avis, lecture des infos/extraction/creation etc, l operation va prendre combien de temps dans le soft ?, moi genre 10 sec avec un gros theme...
++
Dernière modification par smo (Le 05/05/2009, à 23:40)
Streamstudio, streaming youtube/dailymotion...: http://forum.ubuntu-fr.org/viewtopic.php?id=1299461 / http://streamstudio.me
Page facebook : https://www.facebook.com/streamstudio1?fref=ts
ubukey, createur ubuntu customisé: http://forum.ubuntu-fr.org/viewtopic.php?id=360408
ME PAYER UNE BIERE !! :D : http://gtk-apps.org/content/donate.php?content=138588
Hors ligne
#1017 Le 05/05/2009, à 23:53
- philarmonie
Re : [plus maintenu] Manipulation des USplash
toi a ton avis, lecture des infos/extraction/creation etc, l operation va prendre combien de temps dans le soft ?, moi genre 10 sec avec un gros theme...
J'ai pas chronométré mais pour toutes les données que je peux récupérer (tailler, data, position et pour toutes résolutions) ça m'apparait comme instantané. Donc je serai bien loin des 10 sec quand j'arriverai à lire les palettes. La création de l'aperçu dans le menu de choix sera transparente pour l'utilisateur.
Si tu veux pour t'enlever une épine du pied, je te posterai demain un code python qui renverra sur la sortie standard la taille et position des barres. Tu n'aura qu'à le lancer avec ton script perl et récupérer sa sortie pour la traiter ensuite.
#1018 Le 06/05/2009, à 00:05
- smo
Re : [plus maintenu] Manipulation des USplash
ca m aiderait bien
moi en fait y me faudrait
- la version de usplash (systeme) et la version du usplash
- la taille des barres
- la liste des resolutions
tu dois deja avoir tout ca a mon avis ,maisbon je vais continuer a chercher, deconne perl sur ce coup la!!!
MERCI
et hizoka, t es passé ou !! ?
++
Streamstudio, streaming youtube/dailymotion...: http://forum.ubuntu-fr.org/viewtopic.php?id=1299461 / http://streamstudio.me
Page facebook : https://www.facebook.com/streamstudio1?fref=ts
ubukey, createur ubuntu customisé: http://forum.ubuntu-fr.org/viewtopic.php?id=360408
ME PAYER UNE BIERE !! :D : http://gtk-apps.org/content/donate.php?content=138588
Hors ligne
#1019 Le 06/05/2009, à 00:13
- Hizoka
Re : [plus maintenu] Manipulation des USplash
ba je suis toujours là, mais vous ne parlez plus français là
donc je prefere ne rien dire que de dire des conneries (vu que de toute façon nous ne sommes plus du même monde )
je pige même pas ce que tu veux faire smo...
Dernière modification par Hizoka (Le 06/05/2009, à 00:13)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#1020 Le 06/05/2009, à 00:52
- philarmonie
Re : [plus maintenu] Manipulation des USplash
Voilà le code
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from ctypes import *
class usplash_font(Structure):
_fields_ = [("name", c_char_p),
("height", c_int),
("index_mask", c_int),
("offset", POINTER(c_int)),
("index", c_char_p),
("content", c_uint),
("default_char", c_wchar)]
class usplash_pixmap(Structure):
_fields_ = [("width", c_int),
("height", c_int),
("ncols", c_int),
("transparent", c_int),
("palette", POINTER(c_char_p * 3)),
("data", c_char_p)]
class usplash_theme(Structure):
pass
usplash_theme._fields_ = [("version", c_int),
("next", POINTER(usplash_theme)),
("ratio", c_int),
("usplash_pixmap", POINTER(usplash_pixmap)),
("usplash_font", POINTER(usplash_font)),
("background", c_short),
("progressbar_background", c_short),
("progressbar_foreground", c_short),
("text_background", c_short),
("text_foreground", c_short),
("text_success", c_short),
("text_failure", c_short),
("progressbar_x", c_short),
("progressbar_y", c_short),
("progressbar_width", c_short),
("progressbar_height", c_short),
("text_x", c_short),
("text_y", c_short),
("text_width", c_short),
("text_height", c_short),
("line_height", c_short),
("line_length", c_short),
("status_width", c_short),
("init", c_void_p),
("clear_screen", c_void_p),
("clear_progressbar", c_void_p),
("clear_text", c_void_p),
("animate_step", c_void_p),
("draw_progress_bar", c_void_p),
("draw_text", c_void_p),
("draw_status", c_void_p)]
def own_version():
"""
return the usplash version installed on disk
"""
headerFile = open('/usr/include/usplash-theme.h')
content = headerFile.read()
headerFile.close()
return int(content[content.find('THEME_VERSION') + 14])
def open_lib(lib):
CDLL('libusplash.so', RTLD_GLOBAL)
print 'trying to load the %s usplash theme library' % lib
try:
lib = CDLL(lib)
except OSError:
print 'the library %s does not exist or cannot be opened' % lib
return
return lib
def resolution_info(lib):
theme = usplash_theme.in_dll(lib, 'usplash_theme')
res_info = []
while theme.next:
pix = theme.usplash_pixmap.contents
res_info.append((pix.width, pix.height,
theme.text_x, theme.text_y))
theme = theme.next.contents
else:
pix = theme.usplash_pixmap.contents
res_info.append((pix.width, pix.height,
theme.text_x, theme.text_y))
return res_info
if __name__ == '__main__':
if len(sys.argv) == 1:
print u'passez une bibilothèque de thème en argument'
exit()
lib = open_lib(sys.argv[1])
theme_version = usplash_theme.in_dll(lib, 'usplash_theme').version
bar = usplash_pixmap.in_dll(lib, 'pixmap_throbber_fore')
print u'Versions :'
print u'----------\n'
print u'Version d\'Usplash installée : %d\n' % own_version()
print u'Version du thème : %d\n' % theme_version
print u'Taille de la barre :'
print u'--------------------\n'
print u'Largeur Hauteur'
print str(bar.width)+ ' ' * (11 - len(str(bar.width)))+\
str(bar.height)+'\n'
print u'Info sur les résolutions :'
print u'--------------------------\n'
print u'Largeur Hauteur Bar X Bar Y'
for info in resolution_info(lib):
print str(info[0])+' ' * (10 - len(str(info[0])))+\
str(info[1])+' ' * (10 - len(str(info[1])))+\
str(info[2])+' ' * (8 - len(str(info[2])))+\
str(info[3])
Par contre ma définition des structures n'est pas encore au point
Pour avoir la position de la barre en fait faut que je lise la position du texte (cf. les theme.text_x et theme.text_y)
Sinon pour l'utiliser faut lui donner comme premier argument le chemin complet vers le thème compilé.
Si la mise en forme de la sortie ne te plait pas tu peux la retoucher, comme c'est à base de print même si tu connais pas le python tu devrai quand même pouvoir l'adapter à ton goût.
Sur un de mes thèmes ça donne ça:
Versions :
----------
Version d'Usplash installée : 4
Version du thème : 4
Taille de la barre :
--------------------
Largeur Hauteur
450 24
Info sur les résolutions :
--------------------------
Largeur Hauteur Bar X Bar Y
640 480 95 372
800 600 175 468
1024 600 287 468
1024 640 287 500
1024 768 287 602
1280 1024 415 807
1280 720 415 564
1280 800 415 628
1440 900 495 708
1600 1200 575 948
1680 1050 615 828
@ Hizo: salut smo cherche à reconstituer l'apparence d'un thème qui est déjà compilé, ce que j'essaye aussi de faire de mon côté pour pouvoir avoir une image d'aperçu dans le menu de choix du thème à utiliser.
Dernière modification par philarmonie (Le 06/05/2009, à 01:41)
#1021 Le 06/05/2009, à 14:58
- smo
Re : [plus maintenu] Manipulation des USplash
ola
magnifique philo, j essaye ca ce soir et te fais un retour mais ca devrait me suffir
restera a voir comment on fait le placement des images avec perl...
++ merci
Streamstudio, streaming youtube/dailymotion...: http://forum.ubuntu-fr.org/viewtopic.php?id=1299461 / http://streamstudio.me
Page facebook : https://www.facebook.com/streamstudio1?fref=ts
ubukey, createur ubuntu customisé: http://forum.ubuntu-fr.org/viewtopic.php?id=360408
ME PAYER UNE BIERE !! :D : http://gtk-apps.org/content/donate.php?content=138588
Hors ligne
#1022 Le 06/05/2009, à 19:35
- philarmonie
Re : [plus maintenu] Manipulation des USplash
Ça y est je peux lire les palettes \o/ j'avais mis un pointeur de trop
Et pareil pour le thème je peux bien lire les positions de la barre en lisant les attributs progressbar_x et progressbar_y, j'avais oublié de définir 4 attributs pour le thème, d'où le décalage.
Je t'adapte le script pour qu'il te donne aussi palette et data des images, et je rajoute l'aperçu de thèmes à UTM
#1023 Le 06/05/2009, à 23:11
- smo
Re : [plus maintenu] Manipulation des USplash
magnifique
bah j attend de voir ton code a ce moment la..
pour replacer les images avec leur position tu le fais par une librairie gimp?
++ encore merci
Dernière modification par smo (Le 07/05/2009, à 01:14)
Streamstudio, streaming youtube/dailymotion...: http://forum.ubuntu-fr.org/viewtopic.php?id=1299461 / http://streamstudio.me
Page facebook : https://www.facebook.com/streamstudio1?fref=ts
ubukey, createur ubuntu customisé: http://forum.ubuntu-fr.org/viewtopic.php?id=360408
ME PAYER UNE BIERE !! :D : http://gtk-apps.org/content/donate.php?content=138588
Hors ligne
#1024 Le 07/05/2009, à 07:46
- ljere
Re : [plus maintenu] Manipulation des USplash
philo le boite de texte continue a rester apparente tu as tester sous jaunty
ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon
Hors ligne
#1025 Le 07/05/2009, à 17:18
- philarmonie
Re : [plus maintenu] Manipulation des USplash
Salut ljere,
Oui j'ai vu ça me le fait avec ma Jaunty. Maintenant que j'ai aussi ce problème je vais pouvoir y jeter un coup d'œil pour voir d'où ça vient et réparer.
@smo: je vais réarranger le module libreader pour lui donner une approche complètement orientée objet, je devrai pouvoir faire ça dans la soirée.