Pages : 1
#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...
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 ! ) 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?
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 ). 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?
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 ?
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.
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors 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
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 !
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
Pages : 1