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 22/10/2024, à 14:55

Person

[Résolu] perl gtk3 css

Bonjour !

Après deux jours de lectures et nombreuses tentatives de bidouillages, je dépose les armes et fais appel aux savants... smile

Je souhaite créer un thème en css, que je connais pour le web, mais là pour une application en perl, sans rien connaitre ni à perl ni au développement logiciel en général.
Pour ne styler, dans un premier temps, que globalement les widgets (donc sans aller dans le code ajouter des classes et identifiants), que dois-je éventuellement installer, et surtout ajouter au fichier perl principal pour que mon fichier css soit pris en compte ?
J'ai su installer perl-CSS (https://github.com/iamcal/perl-CSS) et ajouter

use CSS;

sans faire planter l'application, mais ensuite je suis complètement perdu avec les :

my $provider = Gtk3::CssProvider->new();
$provider->load_from_path(mon_theme.css>);
my $style = $tView->get_style_context();
$style->add_provider($provider, 600);

etc.

Dernière modification par Person (Le 23/10/2024, à 16:44)


Qui chreche... cherche voutre... vroute... trouve !!! :-)

Hors ligne

#2 Le 22/10/2024, à 15:02

sputnick

Re : [Résolu] perl gtk3 css

Salut.

my $provider = Gtk3::CssProvider->new();  # instanciation de la classe
$provider->load_from_path(mon_theme.css>);     # remplace 'mon_theme.css' par ton fichier css
my $style = $tView->get_style_context();              # il manque l'instanciation de $tView
$style->add_provider($provider, 600);

La doc est là: https://metacpan.org/pod/Gtk3


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#3 Le 22/10/2024, à 15:25

Person

Re : [Résolu] perl gtk3 css

Merci de ta réponse-éclair !

Dans cette doc, je vois :

use Gtk3 -init;
my $window = Gtk3::Window->new ('toplevel');
my $button = Gtk3::Button->new ('Quit');
$button->signal_connect (clicked => sub { Gtk3::main_quit });
$window->add ($button);
$window->show_all;
Gtk3::main;

à quoi je ne comprends absolument rien (je veux juste créer des styles en css, moi ! sad) et je n'y vois pas comment lier un fichier css (équivalent du

<link rel="stylesheet" media="screen" type="text/css" title="Design Ubuntu" href="//www-static.ubuntu-fr.org/theme2010/css/forum-ubuntu.css" />

de cette page web).


Qui chreche... cherche voutre... vroute... trouve !!! :-)

Hors ligne

#4 Le 22/10/2024, à 16:42

sputnick

Re : [Résolu] perl gtk3 css

On ne connais pas ton use case et pourquoi tu cherche à faire du CSS via Perl alors que tu ne programme pas.

C'est dans le cadre du travail? T'a une application legacy Perl? smile

Décrit tes besoins (the 'big picture' comme on dit en Anglais) fonctionnels et techniques.


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#5 Le 22/10/2024, à 16:59

Person

Re : [Résolu] perl gtk3 css

Je souhaite skinner un lecteur audio développé en perl, pour mon usage personnel.


Qui chreche... cherche voutre... vroute... trouve !!! :-)

Hors ligne

#6 Le 22/10/2024, à 17:01

sputnick

Re : [Résolu] perl gtk3 css

Est-ce un lecteur publique ? Il y a t'il dans le code un fichier css que tu peut remplacer ?


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#7 Le 22/10/2024, à 17:32

Person

Re : [Résolu] perl gtk3 css

Il s'agit d'un logiciel sous licence GNU, sans fichier css (ce serait trop simple wink). Du coup, les éléments GTK apparaissent bruts (comme dans de nombreux logiciels pour Linux / Gnome), vraiment pas sympa pour un lecteur audio, même sans exiger très sophistiqué.

Dernière modification par Person (Le 22/10/2024, à 17:37)


Qui chreche... cherche voutre... vroute... trouve !!! :-)

Hors ligne

#8 Le 22/10/2024, à 17:44

sputnick

Re : [Résolu] perl gtk3 css

C'est le jeu des devinettes? Ca ne te vient pas à l'esprit de poster l'URL du projet? tongue


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#9 Le 22/10/2024, à 18:06

Person

Re : [Résolu] perl gtk3 css

http://gmusicbrowser.org/
https://sourceforge.net/projects/gmusicbrowser/

Dernière modification par Person (Le 22/10/2024, à 18:07)


Qui chreche... cherche voutre... vroute... trouve !!! :-)

Hors ligne

#10 Le 22/10/2024, à 18:15

sputnick

Re : [Résolu] perl gtk3 css

Dans les sources, il y a pas d’occurrences de Gtk3 mais Gtk2.

Pour le CSS, il y a seulement ça de potentiellement intéressant:

$ ack -i css
plugins/webcontext.pm
102:	open my $fh,'>',join(::SLASH,$::HomeDir,'mozilla_profile','chrome','userContent.css') or return;
565:	#$data='<style type="text/css">.firstHeading {display: none}</style>'.$data;

On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#11 Le 22/10/2024, à 18:26

Person

Re : [Résolu] perl gtk3 css

Il faut télécharger le "master" à https://sourceforge.net/p/gmusicbrowser … ster/tree/ ("Download Snapshot").
Vers le début du fichier gmusicbrowser.pl on trouve :

use Gtk3 '-init';

Qui chreche... cherche voutre... vroute... trouve !!! :-)

Hors ligne

#12 Le 22/10/2024, à 18:32

sputnick

Re : [Résolu] perl gtk3 css

Faire du graphique avec GTK3 sans s'y connaitre en programmation et de surcroît en Perl?

J'espère que t'a du temps et un compte ChatGPT ou autre.

Fait lire le code par un LLM/IA et demande lui comment modifier.

Sois plus précis que tu ne l'a été ici sur ta demande.


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#13 Le 22/10/2024, à 18:39

Person

Re : [Résolu] perl gtk3 css

Un autre savant, dans la salle ? smile


Qui chreche... cherche voutre... vroute... trouve !!! :-)

Hors ligne

#14 Le 23/10/2024, à 10:24

krodelabestiole

Re : [Résolu] perl gtk3 css

quel que soit le "savant" qui passe ici ça ne changera rien.
sputnick t'a bien répondu.

l'interface graphique est une partie très importante du développement d'un logiciel.
c'est pour ça que les logiciels sont développés avec GTK (le framework graphique de GNOME), ou avec Qt, ou avec un interpréteur CSS, et qu'on ne peut pas interchanger ça sans une réécriture en profondeur.
pour certains logiciels il existe des interfaces "frontend" séparées du "moteur" applicatif. ce n'est pas du tout le cas de gmusicbrowser.

donc pour implémenter un interpréteur CSS sur un logiciel qui n'en a pas, tu vas avoir un sacré boulot de développement.
perl en plus... tu as clairement quelques années de travail à plein temps devant toi ! (minimum plusieurs mois même pour un développeur perl chevronné).


mais tu peux peut-être beaucoup plus simplement modifier le CSS de ton thème GTK3 ubuntu, ce qui changera l'apparence de gmusicbrowser, mais aussi de toutes les applications GTK3 que tu utilises. pas sûr que ce soit ce que tu veux.

tu ferais probablement mieux de partir sur un lecteur audio basé sur electron, si tu connais un peu les technos du web.


attention aux problèmes xy : essaie de décrire en priorité le contexte et le besoin général.

En ligne

#15 Le 23/10/2024, à 13:38

Person

Re : [Résolu] perl gtk3 css

Merci pour cette deuxième tentative !

Comment dois-je comprendre

GTK uses CSS for styling

à https://docs.gtk.org/gtk3/css-overview.html et

An application can make GTK+ parse a specific CSS style sheet

à https://docs.gtk.org/gtk3/class.CssProvider.html ?


Qui chreche... cherche voutre... vroute... trouve !!! :-)

Hors ligne

#16 Le 23/10/2024, à 16:44

Person

Re : [Résolu] perl gtk3 css

Solution, à partir d'une installation par Flatpack : créer

/home/[utilisateur]/.var/app/org.gmusicbrowser.gmusicbrowser/config/gtk-3.0/gtk.css

Qui chreche... cherche voutre... vroute... trouve !!! :-)

Hors ligne

#17 Le 23/10/2024, à 18:05

krodelabestiole

Re : [Résolu] perl gtk3 css

eh oui, on peut redéfinir le thème GTK de chaque application indépendamment !
ce qui est logique grâce au sandboxing de flatpak auquel je n'avais pas pensé,
ou aussi hors flatpak en changeant simplement la variable d'environnement GTK_THEME en lançant une application :
https://askubuntu.com/a/485662

bravo ! et désolé pour ma réponse décourageante à tort ! wink

En ligne