Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[fvwm] transset + config thème guly
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3, 4  Next  
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Thu Jan 06, 2005 10:28 am    Post subject: Reply with quote

gulivert wrote:
Ben pour ethereal, tu va po trop aimer, mais je lance via sudo :oops: 8)
En user il ne passe pas non plus pour ma part.
Mouais mouais ... Je crois que je vais me passer de ethereal (je n'en est pas vraiment l'utilité).

Merci pour le .Xdefaults, je teste ça de suite.

gulivert wrote:
Et pour sysup, j'aimerais pas raléger les options, mais trouvé une combine, qui quand le script sysup commence la recherche, au lieu de monopoliser Fvwm, ben que sysup part en tache de fond et libère Fvwm. Sais suis pénible, ma fois c'est la vie :)
Amha, ça n'est pas dans le script mais dans fvwm qu'il faudrait régler cela : comme dans une console tu mets un "&" à la fin de ta ligne de commande et tu récupères la main tout de suite.
Ça doit bien exister dans fvwm ... :neutral:

Sinon, une autre option est de générer le ~/.fvwm/.updates_cache après chaque "emerge sync" avec un petit script bash et ne jamais mettre à jour ce fichier avec "sysup" (sauf pour supprimer les entrées qu'on aura emerger).
Exemple de ligne pour générer le fichier ~/.fvwm/.updates_cache :
Code:
emerge sync && emerge -uDp world | grep -F [ > ~/.fvwm/.updates_cache
(reste un test sur le fichier vide pour ajouter le "0" nécessaire).Je suis nul en perl, je laisse donc cela à d'autres (ou pour plus tard :wink: ).

Ainsi, l'affiche du menu "Update Gentoo" sera "presque" instantané.
Bon, c'est pas l'extase (on est obligé de passer par le menu "Update Gentoo" pour conserver les entrées à jour), mais ça me plaît plus (on évite les "emerge -uDp", inutiles si un "emerge sync" n'a pas été fait).

L'idéal serait d'avoir un script géré directement par emerge qui gère un fichier des mises à jour en attentes ... :D

EDIT : d'autres scripts plus complet : https://forums.gentoo.org/viewtopic.php?t=248938
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
Darkael
Veteran
Veteran


Joined: 10 Aug 2004
Posts: 1321
Location: France

PostPosted: Thu Jan 06, 2005 7:17 pm    Post subject: Reply with quote

Salut les deux amoureux :), juste une remarque:
yoyo wrote:
faudrait régler cela : comme dans une console tu mets un "&" à la fin de ta ligne de commande et tu récupères la main tout de suite.
Ça doit bien exister dans fvwm ... :neutral:

J'ai pas lu tout ce que vous racontez, mais pour faire ce dont tu parles il faut juste écrire "Exec exec nom_de_la_commande".

Sinon, au passage, gulivert y'a quelqu'un qui veut quelque chose de toi ici:
https://forums.gentoo.org/viewtopic.php?p=1948646#1948646
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Fri Jan 07, 2005 9:57 am    Post subject: Reply with quote

KarnEvil wrote:
Salut les deux amoureux :)
JALOUX !! :lol:

KarnEvil wrote:
J'ai pas lu tout ce que vous racontez, mais pour faire ce dont tu parles il faut juste écrire "Exec exec nom_de_la_commande".
Ben oui mais c'est pas aussi simple malheureusement (et j'y connais pas grand chose en language fvwm :oops: ).
En fait, il s'agit d'un bouton dans le dock :
Code:
(11x5, Title(Side) "Update Gentoo", Icon $[fvwm_icon_path]/update.png, ActionOnPress, Action(Mouse 1) `Menu sysup Rectangle +$left+24 0 0m`)
qui génère un menu (si j'ai bien tout compris).
Ce menu est généré par :
Code:
DestroyMenu sysup
AddToMenu sysup Updates title
+ DynamicPopupAction Function Getsysup

DestroyFunc Getsysup
AddToFunc Getsysup
+ I DestroyMenu recreate sysup
+ I AddToMenu sysup Updates title
+ I Piperead 'echo "`$[fvwm_script_path]/sysup`"'

Peut-être qu'en ajoutant un "&" à la fin du echo le problème serait résolu ?! (edit : ça aurait été trop simple ... :( )

Mais je pense toujours qu'il serait plus judicieux de générer le fichier de menu uniquement à la fin d'un emerge sync ...
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
gulivert
l33t
l33t


Joined: 17 Jun 2004
Posts: 863
Location: Switzerland

PostPosted: Fri Jan 07, 2005 5:27 pm    Post subject: Reply with quote

Ben je suis de ton avi Yoyo, il est clair que ça serait plus cool que sysup se mette a jour seulement après un emerge sync, mais perso je suis nul dans les script :? J'ai des connaissances de base mais ça va pas plus loin :cry:

Mais bon qui ne tente rien n'a rien, la moitier du boulot est deja fait, donc je vais essayer de bidiouiller un peu tous ça ses prochaines semaines, je vous tiens au courant ;)

Et si une lumière peut ns venir en aide en un éclair, ben ... C'est la bienvenu :D

Edit : le problème, est que :

Il faut cliquer sur FvwmButton ou il a y le bouton Update Gentoo dans la bare en au à gauche, la sa fait un emerge -uvD world. Dès ce moment là, Fvwm ce bloque littéralement, sauf application deja ouverte sur le bureau ou l'on se trouve actuelement, se sont les seul appli encore accessible. Le reste est complétement gelé, ainsi que toute interaction avec Fvwm.
_________________
Macbook Pro Unibody 9.1 - Kernel 4.4.6 - Awesome 3.5
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Fri Jan 07, 2005 5:45 pm    Post subject: Reply with quote

gulivert wrote:
Il faut cliquer sur FvwmButton ou il a y le bouton Update Gentoo dans la bare en au à gauche, la sa fait un emerge -uvD world. Dès ce moment là, Fvwm ce bloque littéralement, sauf application deja ouverte sur le bureau ou l'on se trouve actuelement, se sont les seul appli encore accessible. Le reste est complétement gelé, ainsi que toute interaction avec Fvwm.
D'où l'idée de ne pas faire le "emerge -uDp world" avec sysup mais à la fin d'un emerge sync (avec comme base par exemple la commande que j'ai donnée plus haut).
Sysup servirait alors uniquement à afficher les updates et à les lancer ...

Mais je suis moi aussi nul en script ... :cry:
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Fri Jan 07, 2005 6:03 pm    Post subject: Reply with quote

Un embryon de soluce :
Créer un alias : alias esu="emerge sync && emerge -uDp world | grep -F [ > /usr/portage/.updates_cache" (esu pour emerge sync + update :wink: ).
Commenter les lignes 32 à 40 et la ligne 42 du script "sysup". Faire pointer la variable $cache_file (ligne 20) vers la cible (/usr/portage/.updates_cache).
Créer éventuellement ce fichier ("touch /usr/portage/.updates_cache" ).
A priori cela devrait être suffisant ... À tester

Il faudrait aussi ajouter dans ce script perl une fonction qui supprime les lignes qui ont été emergées (par le script) dans ce fichier /usr/portage/.updates_cache ...
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
gulivert
l33t
l33t


Joined: 17 Jun 2004
Posts: 863
Location: Switzerland

PostPosted: Sat Jan 08, 2005 6:30 pm    Post subject: Reply with quote

hmm interessant, merchii :P :P
Je tente t'as maniclette dès que j'ai un peu de temps
_________________
Macbook Pro Unibody 9.1 - Kernel 4.4.6 - Awesome 3.5
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Mon Jan 10, 2005 10:03 am    Post subject: Reply with quote

Bon, j'ai testé et cela fonctionne pas trop mal ...
Il faut juste autoriser l'écriture du fichier "/usr/portage/.updates_cache" pour que l'utilisateur puisse le nettoyer s'il a été crée avec root ...

Est-ce qu'un utilisateur de perl pourrait nous dire comment faire pour supprimer une ligne dans un fichier texte ??
Quote:
if (@updates > 0) {
print " AddToMenu sysup \"Update All\"";
print " Exec exec $term sudo /usr/bin/emerge -uD world\n";
ici pour vider complètement le fichier texte à la fin du emerge -uD world
foreach (@updates) {
chomp; s/\s+$//;
my $update = $_; $update =~ s/^\[.*?\] ([^\s]+).*/$1/;

print " AddToMenu sysup \"$_\"";
print " Exec exec $term sudo /usr/bin/emerge \"=$update\"\n";
ici pour supprimer la ligne correspondante au $update dans le fichier texte à la fin du emerge
}

À la fin du script, une action sert à "vider complètement le fichier texte":
Quote:
print " Exec exec " . __FILE__ . " clear-cache\n";

Comment faire pour l'inclure après le "emerge -uD world ??
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
gulivert
l33t
l33t


Joined: 17 Jun 2004
Posts: 863
Location: Switzerland

PostPosted: Mon Jan 10, 2005 11:40 am    Post subject: Reply with quote

Hmmm je vois que t'as pas chaumé durant ce week-end :D

Ben perso je suis incapable de faire ce que tu veux en perl, mais je ne pense pas que ça doit être très compliqué. Un peu de lecture et ça devrait le faire. Je vais voir ce soir en rentrant du job si je trouve queque chose. A moin que d'ici là, un personne forte sympathique aura posée la solution :)

Sinon, pour le nom du Topic, heu c'est plus vraiement fixer la transparence d'une apli 8) Mis à part la première page, après c'est plus de la configuration de FVWM, ne devrait-il pas être renomé en conséquence??

Transset + FVWM ou Transset + Guli-Simply : mdr je déconne ;)

En tout cas merchi de t'être attardé sur ce script, car je sais pas quand je l'aurais fait ....
_________________
Macbook Pro Unibody 9.1 - Kernel 4.4.6 - Awesome 3.5
Back to top
View user's profile Send private message
Darkael
Veteran
Veteran


Joined: 10 Aug 2004
Posts: 1321
Location: France

PostPosted: Mon Jan 10, 2005 12:03 pm    Post subject: Reply with quote

Salut les deux amoureux, je m'incruste encore dans votre thread :D

(Attention: ce post est écrit à l'arrache par quelqu'un qui est sur le point de se coucher, et c'est donc surement bourré d'erreurs. Mais sur le principe ça doit être à peu près bon :D)

yoyo wrote:

Est-ce qu'un utilisateur de perl pourrait nous dire comment faire pour supprimer une ligne dans un fichier texte ??

print " AddToMenu sysup \"$_\"";
print " Exec exec $term sudo /usr/bin/emerge \"=$update\"\n";
ici pour supprimer la ligne correspondante au $update dans le fichier texte à la fin du emerge


Si tu veux que ça se fasse après l'update, c'est à dire après que l'utilisateur va cliquer sur le menu, alors ça ne sera pas dans le script perl mais dans la commande fvwm qu'il faut rajouter la commande. En fait il faudra modifier comme ça:

Quote:

print " AddToMenu sysup \"$_\"";
print " Exec exec $term sudo /usr/bin/emerge \"=$update\"\n && commande_pour_supprimer_la_ligne_correspondante";


Idem pour l'autre... Bon, tu peux toujours te débrouiller pour ensuite revenir au script perl (cf exemple à la fin).

Bon en fait ça marche pas, puisque Exec à ma connaissance ne peut pas prendre directement deux commandes de suite. Il faudra surement faire un truc comme ça à la place:

Code:

#dans la config FVWM

DestroyFunction UpdateAll
AddToFunction UpdateAll
+ I Exec exec aterm -e sudo /usr/bin/emerge -uD world
+ I Exec exec $[fvwm_script_path]/sysup clear-cache

DestroyFunction Update
AddToFunction Update
+ I Exec exec aterm -e sudo sudo /usr/bin/emerge "=$0"
+ I Exec exec sudo $[fvwm_script_path]/sysup remove $0

Ensuite dans le script perl:
Code:

print " AddToMenu sysup \"Update All\"";
print "Function UpdateAll\n:w";
[...]
print " AddToMenu sysup \"$_\"";
print "Function Update $update\n";


Et enfin, au début du script perl, en dessous de la ligne qui a le même début:
Code:

if (defined $ARGV[0] && defined $ARGV[1] && $ARGV[0] eq "remove") {
     open(IN,$ARGV[0]) || die $!;
     my @contents = grep { !/^$ARGV[1]/i } <IN>;
     open(OUT,">".$ARGV[0]) || die $!;
     print OUT @contents;
}

Normalement ça enlève la bonne ligne, c'est basé sur un truc que j'ai trouvé sur google et mes maigres compétences perliques. Je te conseille de ne pas me faire confiance vu que je n'ai même pas vérifié si ça marche... Enfin bon :P

Bon, il est 13h, c'est l'heure d'aller dormir pour moi... Ce soir je testerais ça et je vous dirais si ça marche vraiment ...
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Mon Jan 10, 2005 12:56 pm    Post subject: Reply with quote

gulivert wrote:
Sinon, pour le nom du Topic, heu c'est plus vraiement fixer la transparence d'une apli 8) Mis à part la première page, après c'est plus de la configuration de FVWM, ne devrait-il pas être renomé en conséquence??

Transset + FVWM ou Transset + Guli-Simply : mdr je déconne ;)
Je me suis dis exactement la même chose en postant ce matin ... Le pb, c'est qu'il y a déja un thread qui traite de la config de fvwm ... :roll:

Je vais le renommer [fvwm] transset + config thème guly.


@KarnEvil : Et ne peux-t-on pas faire quelque chose comme :
Quote:
print " AddToMenu sysup \"$_\"";
print " Exec exec $term sudo /usr/bin/emerge \"=$update\"\n"
print " Exec exec " . __FILE__ . " clear-cache\n";
Je ne sais pas si perl attends la fin de l'exécution de chaque ligne pour exécuter la suivante (et si cette commande/syntaxe est correcte) ...

Bon, je renommerai ce thread quand KarnEvil sera de nouveau réveillé, histoire qu'il le retrouve facilement ... :wink:
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
Darkael
Veteran
Veteran


Joined: 10 Aug 2004
Posts: 1321
Location: France

PostPosted: Mon Jan 10, 2005 1:47 pm    Post subject: Reply with quote

Bon, finalement je suis pas encore endormi (je viens d'apprendre que demain j'ai un examen sur une matière dont je n'ai aucune idée de quoi elle parle, haha...). Bon, bref:
yoyo wrote:

@KarnEvil : Et ne peux-t-on pas faire quelque chose comme :
Quote:
print " AddToMenu sysup \"$_\"";
print " Exec exec $term sudo /usr/bin/emerge \"=$update\"\n"
print " Exec exec " . __FILE__ . " clear-cache\n";
Je ne sais pas si perl attends la fin de l'exécution de chaque ligne pour exécuter la suivante (et si cette commande/syntaxe est correcte) ...

En fait ton erreur est là: ces lignes ne sont pas des commandes perl (enfin, les machins entre guillemets ne sont pas des commandes perl). Ce que ça fait, c'est que ça affiche des lignes de configurations FVWM, qui seront ensuite lues et intégrées à la configuration de FVWM (c'est le principe du Piperead).
Pour mieux comprendre, lance le script dans un terminal et compare à ce que tu vois dans le script...

Bon, vu que je suis réveillé, faisons une simulation de ce qui se passe quand tu ouvres le menu sysup, après avoir rajouté la ligne que tu as donné plus haut.
1. Le script est executé. En simulant dans un terminal, ça donne:
Code:

gael@ubik ~ $ ./sysup
<...>
    AddToMenu sysup "[ebuild     U ] sys-apps/diffutils-2.8.7-r1 [2.8.7]"      Exec exec /usr/bin/aterm -e sudo /usr/bin/emerge "=sys-apps/diffutils-2.8.7-r1"
    Exec exec ./sysup clear-cache
<...>

2. Ces deux lignes sont lues par le Piperead de FVWM.
En voyant la première ligne FVWM va créer une entrée dans le menu sysup, qui quand on cliquera dessus va déclencher l'emerge de diffutils.
En voyant la deuxième ligne, qui vient de toi, FVWM va directement effacer le cache! Donc au final, ce qui se passera, c'est que à chaque fois que le menu sysup est ouvert, le cache est effacé! FVWM essaiera même de l'effacer plusieurs fois vu qu'il y a plusieurs lignes comme ça...

Bon, je te laisse méditer sur ça...

Quote:

Bon, je renommerai ce thread quand KarnEvil sera de nouveau réveillé, histoire qu'il le retrouve facilement ... :wink:

Bah, aucun problème, de toute façon chaque fois que je viens sur le forum, je fais une recherche à mon nom pour retrouver les topics sur lesquels j'ai posté :D.
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Mon Jan 10, 2005 2:02 pm    Post subject: Reply with quote

J'avais bien compris que les "Exec exec ..." n'étaient pas des commande perl mais je n'arrivai pas à voir ce que c'était exactement; et j'ai opté pour des commandes bash (surtout par cette commande $term sudo /usr/bin/emerge \"=$update\"\n).
Du coup, il me paraissait plus simple de nettoyer le fichier directement à partir du script ...

Mais grâce à toi c'est beaucoup plus clair : en fait, le "print" sert à indiquer à fvwm (par l'intermédiaire du Piperead) la commande à exécuter.
Et donc, ce sont ces commandes (fonctions) qu'il faut modifier pour parvenir au but fixé (nettoyage du fichier texte).

J'ai bon ???
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Mon Jan 10, 2005 6:00 pm    Post subject: Reply with quote

@KarnEvil : Bon, les modifs que tu as données ne fonctionnent pas ... :(

Si j'ouvre le menu "Update" et que je clique à côté, il ouvre 2 fenêtres et exécute deux emerges (amha, il fait le "emerge -uD world" et un "emerge \"=$update\"\n").
En plus, au lancement de fvwm il m'ouvre également ces 2 fenêtres (et j'ai un curseur en forme de cible).

Bref, quand tu auras un peu de temps, pourrais-tu vérifier tes scripts stp (moi, je suis larguer méchament) ??

Merci de ton aide (et @Guly également :wink: ).
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
Darkael
Veteran
Veteran


Joined: 10 Aug 2004
Posts: 1321
Location: France

PostPosted: Mon Jan 10, 2005 11:50 pm    Post subject: Reply with quote

yoyo wrote:
@KarnEvil : Bon, les modifs que tu as données ne fonctionnent pas ... :(


Je t'avais prévenu :wink:

yoyo wrote:

Si j'ouvre le menu "Update" et que je clique à côté, il ouvre 2 fenêtres et exécute deux emerges (amha, il fait le "emerge -uD world" et un "emerge \"=$update\"\n").
En plus, au lancement de fvwm il m'ouvre également ces 2 fenêtres (et j'ai un curseur en forme de cible).

Bref, quand tu auras un peu de temps, pourrais-tu vérifier tes scripts stp (moi, je suis larguer méchament) ??

Merci de ton aide (et @Guly également :wink: ).


Ok, je jetterais un coup d'oeil quand j'aurais le temps.
Back to top
View user's profile Send private message
Darkael
Veteran
Veteran


Joined: 10 Aug 2004
Posts: 1321
Location: France

PostPosted: Tue Jan 11, 2005 12:48 am    Post subject: Reply with quote

Bon y'avait bien des erreurs... Certaines un peu bêtes d'ailleurs :P Voici une correction:

Code:

#config FVWM
DestroyFunc SysupUpdateAll
AddToFunc SysupUpdateAll
+ I Exec exec $0 -e sudo /usr/bin/emerge -uD world
+ I Exec exec $[fvwm_script_path]/sysup clear-cache

DestroyFunc SysupUpdate
AddToFunc SysupUpdate
+ I Exec exec $0 -e sudo /usr/bin/emerge "=$1"
+ I Exec exec $[fvwm_script_path]/sysup remove $1



Code:

#Script Perl

#Petite modif: Il faut virer le -e ici
my $term = "/usr/bin/aterm"

#ensuite
if (defined $ARGV[0] && $ARGV[0] eq "clear-cache") { `echo -n > $cache_file`; exit(0); }
if (defined $ARGV[0] && defined $ARGV[1] && $ARGV[0] eq "remove") {
     open(IN,$cache_file) || die $!;
     my @contents = grep { !/$ARGV[1]/i } <IN>;
     open(OUT,">".$cache_file) || die $!;
     print OUT @contents;
     exit(0);
}

#plus loin
        print "   AddToMenu sysup \"Update All\"";
        print "      Function SysupUpdateAll $term\n";

#encore plus loin
              print "   AddToMenu sysup \"$_\"";
              print "      Function SysupUpdate $term $update\n";


Bon, ça fait bien le résultat désiré chez moi, mais il y un petit problème: les modif sur le cache sont faites immédiatement, et n'attendent pas la fin de l'emerge. Par exemple, si je fais un Update All, il lance l'emerge -uD world, et il efface directement le fichier cache, sans attendre la fin de l'emerge -uD world. Je sais pas trop si ça gène?
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Tue Jan 11, 2005 8:42 am    Post subject: Reply with quote

KarnEvil wrote:
Bon, ça fait bien le résultat désiré chez moi, mais il y un petit problème: les modif sur le cache sont faites immédiatement, et n'attendent pas la fin de l'emerge. Par exemple, si je fais un Update All, il lance l'emerge -uD world, et il efface directement le fichier cache, sans attendre la fin de l'emerge -uD world. Je sais pas trop si ça gène?
Nickel !!!
Ça fonctionne plutôt bien. C'est vrai qu'il pourrait attendre la fin de l'update (ou tester s'il n'y a pas eu d'erreurs) avant de mettre la liste à jour mais c'est déja bien comme ça.

J'ai un problème avec les dernières nitro-sources (impossible de récupérer les patchs) : du coup ils ne sont plus dans la liste (jusqu'au prochain "emerge sync"); du coup, je ne suis plus tenté de jouer avec l'ebuild et je vais pouvoir me remettre au taf'.

Merci KarnEvil !!!

PS : un truc qui serait également sympa, c'est lorsqu'on fait le "Update All" que le "emerge -uD world" ne soit pas recalculé mais qu'il se contente d'emerger les lignes du fichier cache les unes après les autres, ça serait plus rapide.
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
gulivert
l33t
l33t


Joined: 17 Jun 2004
Posts: 863
Location: Switzerland

PostPosted: Tue Jan 11, 2005 11:50 am    Post subject: Reply with quote

Hello, ben les gars chapeau ..... :D

J'ai pas eu le temps de tester tous ça mais je vais "essayer" de le faire ce soir. Sinon Yoyo, pour le update all, au lieu de lancer la commande emerge -uD world, faudrait pas plutot faire un mini script lisant le fichier cache, puis faisant un emerge -u des valeur tiré du fichier cache?? Maitnenant j'avoue ne pas avoir regardé comment été écrit ce fichier, et la peut pas ma station au job est sous ******* (cencuré)

KarnEvil, merchi bcp pour ton aide, sans toi je sais po ce qu'on aurait fait :P

Justement peut etre qu'on aurait rien fait ou tenté désespérement de faire un script et se rendre conte au final qu'on est que des sous m**** dans le scripting (je parle pour moi 8) )
_________________
Macbook Pro Unibody 9.1 - Kernel 4.4.6 - Awesome 3.5
Back to top
View user's profile Send private message
Darkael
Veteran
Veteran


Joined: 10 Aug 2004
Posts: 1321
Location: France

PostPosted: Tue Jan 11, 2005 5:39 pm    Post subject: Reply with quote

gulivert wrote:

J'ai pas eu le temps de tester tous ça mais je vais "essayer" de le faire ce soir. Sinon Yoyo, pour le update all, au lieu de lancer la commande emerge -uD world, faudrait pas plutot faire un mini script lisant le fichier cache, puis faisant un emerge -u des valeur tiré du fichier cache?? Maitnenant j'avoue ne pas avoir regardé comment été écrit ce fichier, et la peut pas ma station au job est sous ******* (cencuré)

Ouais c'est une bonne idée, et aussi foutre la suppression du fichier cache à la fin de ce même script, ça résoudrait le problème au-dessus. J'ai pas le temps de le faire en ce moment (exams de m*rde), peut-être après-demain.
guli wrote:

KarnEvil, merchi bcp pour ton aide, sans toi je sais po ce qu'on aurait fait :P

De rien, entre fans de FVWM faut bien s'entraider :D
Back to top
View user's profile Send private message
gulivert
l33t
l33t


Joined: 17 Jun 2004
Posts: 863
Location: Switzerland

PostPosted: Tue Jan 11, 2005 8:00 pm    Post subject: Reply with quote

Ben c'est trop de la graille ce perl 8O 8O 8O

Enfin bref, juste une petite question, lorsque le cache est vide, et qu'on va sur "Update Gentoo", chez vs le term se lance pour faire l'emerge -uDp world ???

Car chez moi pas de term qui se lance et temps qu'emerge n'a pas fini je n'ai pas la main sur Fvwm, en clair il bloque, par contre une fois le cache constitué, no soucis, le menu vient en peut de temps, et le cache ne s'efface pas.
A voir ton script j'ai l'impression qui devrait ouvrir le term pour faire
sudo emerge -uDp world ou plutot dans la config + I Exec exec $0 -e sudo /usr/bin/emerge "=$1"
Certainement du faire une erreur dans le script perl, mais vois po ou 8O . Je précise j'ai cassé mes lunettes :'( Enfin bref je vais taté un peu.

Sinon j'ai du mal à saisir comment d'ou sont créé les variable $0 et $1 La aussi j'ai les yeux dans le *** ? C'est à ce niveau là

Quote:
if (@updates > 0) {
print " AddToMenu sysup \"Update All\"";
print " Function SysupUpdateAll $term\n";
foreach (@updates) {
chomp; s/\s+$//;
my $update = $_; $update =~ s/^\[.*?\] ([^\s]+).*/$1/;

print " AddToMenu sysup \"$_\"";
print " Function SysupUpdate $term $update\n";
}
???
_________________
Macbook Pro Unibody 9.1 - Kernel 4.4.6 - Awesome 3.5
Back to top
View user's profile Send private message
gulivert
l33t
l33t


Joined: 17 Jun 2004
Posts: 863
Location: Switzerland

PostPosted: Sun Jan 16, 2005 8:06 pm    Post subject: Reply with quote

Bon je me suis pris un peu la tête avec toutes ses choses et j'en suis arrivé à ça finalement :

Le menu, pour ma config dans theme-fvwm/configs/menu:
Code:
DestroyMenu MenuGentooUpdate
AddToMenu MenuGentooUpdate "= Updates =" title
+   "Emerge sync"                  Function sync2
+   "Upgrade cache"                  Exec exec sudo emerge -up world > ~/.fvwm/.updates_cache
+   ""                        Nop
+   "View Updates"                  Popup sysup
+   ""                        Nop
+   "Clear Cache"                  Exec exec $[fvwm_script_path]/sysup clear-cache

DestroyFunc sync2
AddToFunc sync2
+ I Exec exec sudo emerge sync
+ I sync


DestroyMenu sysup
AddToMenu sysup Updates title
+ DynamicPopupAction Function Getsysup

DestroyFunc SysupUpdateAll
AddToFunc SysupUpdateAll
+ I Exec exec $0 -e sudo /usr/bin/emerge -uD world
+ I Exec exec $[fvwm_script_path]/sysup clear-cache

DestroyFunc SysupUpdate
AddToFunc SysupUpdate
+ I Exec exec $0 -e sudo /usr/bin/emerge "=$1"
+ I Exec exec $[fvwm_script_path]/sysup remove $1

DestroyFunc Getsysup
AddToFunc Getsysup
+ I DestroyMenu recreate sysup
+ I AddToMenu sysup Updates title
+ I Piperead 'echo "`$[fvwm_script_path]/sysup`"'

DestroyFunc sync
AddToFunc sync
+ I DestroyModuleConfig sync: *
+ I *sync: Font "Shadow=1 b bl r br r :xft:Verdona:pixelsize=10:minspace=True"
+ I *sync: ButtonFont "xft:Verdona:bold:pixelsize=10:minspace=True"
+ I *sync: Colorset 33
+ I *sync: ItemColorset 34
+ I *sync: Line center
+ I *sync: Text "Emerge sync terminé"
+ I *sync: Line center
+ I *sync: Line center
+ I *sync: Button quit "   Ok   " ^M
+ I *sync: Command Nop
+ I *sync: Line center
+ I Module FvwmForm sync


Pour le script j'ai repris les améliorations de KarnEvil et j'ai enlevé ses lignes dans le fichier, une vers le milieu et l'autre à la fin du fichier :
Code:
updates = `/usr/bin/emerge -uDp world`;
print "   AddToMenu sysup \"Clear Cache\"";


Un problème intervient, après le emrege sync, qui se fait de manière transparente, j'aimerais qu'une fenêtre popup s'affiche à l'écran pour avertir l'utilisateur que l'emerge sync est terminé, hors avec la config que j'ai là, le popup s'affiche quand l'emerge sync commence. Y a t'il un moyen de générer une commande à la fin d'une autre sous fvwm, comme le fait bash : cd ~/ && ls -l par ex oO
De plus je ne pense pas que le script sysup soit des plus optimisé car je pense que des lignes sont en trop maintenant. N'y comprenant pas grand chose dans ce script .... :arrow:

Dsl pour la longueur du post :roll:

Edit : pour que la config soit plus parlante ça donne ça :
http://www.clan-hash.com/~guli/fvwm/Screenshots/fvwm20050116.jpg
_________________
Macbook Pro Unibody 9.1 - Kernel 4.4.6 - Awesome 3.5
Back to top
View user's profile Send private message
gulivert
l33t
l33t


Joined: 17 Jun 2004
Posts: 863
Location: Switzerland

PostPosted: Wed Jan 19, 2005 5:55 pm    Post subject: Reply with quote

Bon j'ai trouvé une astuce à mon problème, utiliser FvwmCommand

Voici comme je me suis pris

Dabord, le Menu Fvwm
Code:
DestroyMenu MenuGentooUpdate
AddToMenu MenuGentooUpdate "= Tools =" title
+   "Emerge sync"                  Exec exec sudo $[fvwm_script_path]/sync
+   "Upgrade cache"                  Exec exec sudo $[fvwm_script_path]/cache
+   "Install packages"                  Exec exec sudo porthole
+   ""                        Nop
+   "Updates"                     Popup sysup
+   ""                        Nop
+   "Clear Cache"                  Exec exec $[fvwm_script_path]/sysup clear-cache


Le script sync
Code:
#!/bin/bash

emerge sync && FvwmCommand "Function sync"


et le script cache
Code:
#!/bin/bash

emerge -up world > ~/.fvwm/.updates_cache && FvwmCommand "Function cache"


Ne pas oublier de charger le modul FvwmCommandS
Code:
+ I Module FvwmCommandS


Et vloi, c'est certainement pas le plus estétique et le plus adapté à Fvwm mais ça fontionne bien :D De plus tout se passe de manière transparente et ne bloque pas Fvwm lors d'un emerge syn ou -up. A la fin du emerge sync ou -up une fenêtre popup apprait avertissant l'utilisateur que la commande est terminée

Edit : reste plus qu'à intergrer une vérification pour la mise en cache qui peut echouer cause de pacquet masquer par ex, si c'est le cas, pour le moment rien averti l'utilisateur qui a eu une merde lors du emerge -up world, la function doit etre plutot symple à programmer, simplement vérifier que le fichier .uzpdates_cache soit rempli par un petit if .... dans le script, je m'attarderais plus tard sur ce soucis, a l'heure actuel sa me plait telle quel deja.
_________________
Macbook Pro Unibody 9.1 - Kernel 4.4.6 - Awesome 3.5
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Thu Jan 20, 2005 9:59 am    Post subject: Reply with quote

Testé et approuvé ! :wink:
Par contre, j'ai mis un alias dan mon .zshrc et viré les "sudo" dans le menu.
Je n'ai pas porthole (j'ai donc commenté la ligne dans le menu) : vos avis ?? C'est vraiment utile ??

Dernier point, j'ai un petit peu modifié le fichier script "cache" :
Code:
#!/bin/bash

emerge -uDp world | grep -F [ > ~/.fvwm/.updates_cache && FvwmCommand "Function cache"

J'ai ajouté l'option "D" car j'aime bien voir toutes les mises à jour à faire.
Le "grep" permet de supprimer tout ce qui ne correspond pas aux paquets (comme "calculating world dependencies" etc.) donc d'avoir un fichier .upgrade_cache plus simple.

Dernier point, tu ne fournis pas FvwmCommand "Function cache" : a priori, c'est le même que pour sync : une boîte de dialogue avce un bouton "OK" à la fin de l'exécution du script.

En tout cas, merci pour le boulot réalisé.
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
gulivert
l33t
l33t


Joined: 17 Jun 2004
Posts: 863
Location: Switzerland

PostPosted: Thu Jan 20, 2005 11:40 am    Post subject: Reply with quote

Merci pour la petite amélioration du script cache, sinon voici la Function cache

Code:
DestroyFunc cache
AddToFunc cache
+ I DestroyModuleConfig cache: *
+ I *cache: Font "Shadow=1 b bl r br r :xft:Verdona:pixelsize=10:minspace=True"
+ I *cache: ButtonFont "xft:Verdona:bold:pixelsize=10:minspace=True"
+ I *cache: Colorset 33
+ I *cache: ItemColorset 34
+ I *cache: Line center
+ I *cache: Text "Upgrade cache terminé !"
+ I *cache: Line center
+ I *cache: Line center
+ I *cache: Button quit "   Ok   " ^M
+ I *cache: Command Nop
+ I *cache: Line center
+ I Module FvwmForm cache


Sinon question, c'st koi ce fichier .zshrc ???

Quote:
Yoy à écrit:
Je n'ai pas porthole (j'ai donc commenté la ligne dans le menu) : vos avis ?? C'est vraiment utile ??


Franchement non, ce n'est pas indispenssable mais c'est pratique, petit logiciel en GTK permettant d'installer des logiciels, d'en effacer ou simplement de mettre a jour(fontion k je préfère pas utiliser via ce logiciel). Perso je trouve plutot sympa au lieu de tjs tout se taper les install via la console :wink:
_________________
Macbook Pro Unibody 9.1 - Kernel 4.4.6 - Awesome 3.5
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Thu Jan 20, 2005 12:35 pm    Post subject: Reply with quote

gulivert wrote:
Merci pour la petite amélioration du script cache, sinon voici la Function cache
Exactement ce que j'avais mis (même le texte d'annonce de fin d'update) !

gulivert wrote:
Sinon question, c'st koi ce fichier .zshrc ???
Ben, c'est l'équivalent du .bashrc pour l'interpréteur de commande zsh ...

Pour porthole, je vais peut-être le tester (mais j'aime pas trop les guis qui touchent à mon arbre, surtout quand elles sont masquées). :roll:
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Goto page Previous  1, 2, 3, 4  Next
Page 3 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum