<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://forum.ubuntu-fr.org/extern.php?action=feed&amp;tid=1154871&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Forum Ubuntu-fr.org / [Résolu]Voyager, aide pour changement dynamique des bureaux]]></title>
		<link>http://forum.ubuntu-fr.org/viewtopic.php?id=1154871</link>
		<description><![CDATA[Les sujets les plus récents dans [Résolu]Voyager, aide pour changement dynamique des bureaux.]]></description>
		<lastBuildDate>Sun, 06 Jan 2013 11:36:23 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu]Voyager, aide pour changement dynamique des bureaux]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12108001#p12108001</link>
			<description><![CDATA[<p>Finalement je me suis résigné à utiliser une boucle pour surveiller l&#039;état de la fenêtre,ouverte ou fermée. Celle-ci ne sert que si il y a déjà un terminal d&#039;ouvert, dans le cas contraire, le script est en pause tant que la fenêtre de Ranger n&#039;est pas fermée. Je voulais éviter cette façon de faire car elle m&#039;a été déconseillée par Didier-T, et qu&#039;il est à priori préférable d&#039;utiliser un autre langage pour ce type d&#039;usage afin de limiter la consommation CPU.<br />Voici le script modifié et largement commenté:</p><div class="codebox"><pre class="vscroll"><code>#!/bin/bash
# License GPL
# by rodofr Live Voyager
# Modified by metalux for dynamic change wallpapers
# Display the action selector
bureau=~/.scripts/Wall/wall3

#######Teste si Ranger est ouvert et le ferme si c&#039;est le cas

if xwininfo -name &#039;Voyager File Manager&#039;;then
	wmctrl -c &#039;Voyager File Manager&#039;
else

########sinon bascule sur le bureau 3
	
	wmctrl -s2

########et modifie le script wall3 qui gère l&#039;affichage du fond d&#039;écran de sorte que celui-ci soit celui choisi lors de l&#039;ouverture de ranger.
 
	wall=&quot;xfconf-query -c xfce4-desktop -p \&quot;/backdrop/screen0/monitor0/image-path\&quot; -s \&quot;/usr/share/xfce4/backdrops/Wall-003.jpeg\&quot;&quot;
	sed -i &#039;s/^xfconf/#xfconf/&#039; $bureau
	sed -i &quot;/^#xfconf/a $wall&quot; $bureau
	$bureau
		
########Lance ranger

	xfce4-terminal --title=&quot;Voyager File Manager&quot; --maximize --hide-menubar --hide-borders -x &quot;ranger&quot;

#######1-Pas de terminal ouvert:Le script est alors en pause et le code qui suit se déroule que si on ferme ranger.###########
#######2-Un terminal ouvert: Le script continue et la boucle suivante attend la fermeture de la fenêtre pour continuer le script##########

	while xwininfo -name &#039;Voyager File Manager&#039;
	do
		sleep 1
	done

########Rétabli le fond d&#039;écran du bureau 3

	sed -i &#039;/^xfconf/d&#039; $bureau
	sed -i &#039;s/^#xfconf/xfconf/&#039; $bureau
	$bureau

########Sortie de la boucle if/then et fin du script
fi	
exit 0</code></pre></div><p>Merci pour votre aide et surtout pour m&#039;avoir ouvert les yeux que je faisais fausse route sur l&#039;origine du bug.</p>]]></description>
			<author><![CDATA[dummy@example.com (metalux)]]></author>
			<pubDate>Sun, 06 Jan 2013 11:36:23 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12108001#p12108001</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu]Voyager, aide pour changement dynamique des bureaux]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12087571#p12087571</link>
			<description><![CDATA[<p>Pour script 1, oui c&#039;est volontaire de ne rien mettre d&#039;autre. Je suis obligé de laisser à la fin les commandes qui rétablissent le fond d&#039;écran du bureau car autrement&#160; la fermeture de la fenêtre par la croix ou alt+F4 n&#039;a plus le même comportement que la fermeture par le script.Si le script est lancé une première fois, il exécute les commandes jusqu&#039;à l&#039;ouverture de ranger(renommé Voyager file manager pour l&#039;occasion) et se met en pause. Quand on le lance une seconde fois, il détecte que ranger est ouvert et ferme celui-ci et alors le 1er lancement du script exécute les commandes de fin. Si un terminal est déjà ouvert, il n&#039;attend pas la fermeture de la fenêtre pour continuer les commandes et c&#039;est bien là le problème. C&#039;est comme si j&#039;avais ajouté<strong> &amp;</strong> à la fin de la ligne d&#039;ouverture de ranger.<br />Pour le manuel je faisais l&#039;inverse, soit<strong> trap --help</strong> et je n&#039;avais aucun détail. Maintenant à voir si je comprends bien car il n&#039;y a pas de pages Fr <img src="http://forum.ubuntu-fr.org/img/smilies/hmm.png" width="15" height="15" alt="hmm" />. A priori.<br /><strong>Edit</strong>: trap sert à exécuter des commandes en fonction de signal reçu par le script et non par une fenêtre choisie, donc je ne penses pas que ça me soit utile.<br />.</p>]]></description>
			<author><![CDATA[dummy@example.com (metalux)]]></author>
			<pubDate>Fri, 04 Jan 2013 18:19:31 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12087571#p12087571</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu]Voyager, aide pour changement dynamique des bureaux]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12080461#p12080461</link>
			<description><![CDATA[<p>Bonjour,<br /><strong>trap</strong> est une <strong>&quot;shell builtin command&quot;</strong> de <strong>bash</strong>. Pour voir directement son utilisation, sans passer par <strong>man bash</strong> :</p><div class="codebox"><pre><code>help trap</code></pre></div><p>Voici quelques <a href="http://bash.cyberciti.biz/guide/Trap_statement">exemples d&#039;utilisation</a>.</p><p><span class="bbu">Ajouté</span> :<br />Dans script1, par exemple, si tu fermes &#039;Voyager File Manager&#039;, tu sors du script sans rien faire d&#039;autre. Est-ce volontaire ?</p>]]></description>
			<author><![CDATA[dummy@example.com (pingouinux)]]></author>
			<pubDate>Fri, 04 Jan 2013 07:49:51 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12080461#p12080461</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu]Voyager, aide pour changement dynamique des bureaux]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12080311#p12080311</link>
			<description><![CDATA[<p>J&#039;ai trouvé <a href="http://forum.hardware.fr/hfr/OSAlternatifs/Multimedia/bash-trap-signaux-sujet_15893_1.htm">ça</a>, peut-être que je peux mettre mon code de fin dans une fonction et utiliser la commande <em>trap</em> pour l&#039;appeler à la fermeture de la fenêtre. L&#039;un de vous connaît cette commande et comment l&#039;utiliser?<br />J&#039;ai fais un man trap mais rien, je suppose que ça se trouve dans le man bash. Y-a-t-il moyen de lancer man bash et de se rendre directement à un endroit donné du manuel en filtrant sur un mot comme trap dans ce cas?</p>]]></description>
			<author><![CDATA[dummy@example.com (metalux)]]></author>
			<pubDate>Fri, 04 Jan 2013 07:12:43 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12080311#p12080311</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu]Voyager, aide pour changement dynamique des bureaux]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12077421#p12077421</link>
			<description><![CDATA[<div class="quotebox"><blockquote><div><p>Ton problème se produit-il quand tu lances script1 puis script2, ou script1 puis de nouveau script1 ?</p></div></blockquote></div><p>Script 1 lance ranger avec son fond d&#039;écran dédié, puis à nouveau script 1, ranger se ferme et le fond d&#039;écran du bureau3 est bien restauré. Comportement souhaité.<br />Script 1 lance ranger avec son fond d&#039;écran dédié, puis script2, le bureau bascule sur bureau2 et le terminal s&#039;ouvre mais le fond d&#039;écran reste celui du bureau 2 au lieu du fond d&#039;écran associé au terminal. J&#039;ai ajouté un <strong>sleep 20</strong> juste avant la fin du code comme cela</p><div class="codebox"><pre><code>xfce4-terminal --title=&quot;Voyager Terminal&quot; --geometry 1920x25 --hide-menubar --hide-borders
	sleep 20
	sed -i &#039;/^xfconf/d&#039; $bureau
		sed -i &#039;s/^#xfconf/xfconf/&#039; $bureau
		$bureau
	
fi</code></pre></div><p>J&#039;ai pu vérifié les changements dans le script wall3 déterminé par la variable bureau au début du script, et maintenant je suis sûr que le script ne se met pas en pause après le lancement de l&#039;application si l&#039;autre script est déjà en cours d&#039;exécution.Le fond d&#039;écran souhaité s&#039;affiche bien dans ce cas pendant 20 secondes avant de changer.<br />C&#039;est le même problème que lorsque je laissais ranger et terminal sur le même bureau. Comme je tuais un avant de lancer l&#039;autre, il n&#039;y avais qu&#039;un terminal d&#039;ouvert et çà fonctionnait. Si je lançais un terminal avant, le code continuait jusqu&#039;à la fin, alors que je croyais que je récupérais mal le Pid.<br />Pour la remarque, je note et t&#039;en suis reconnaissant, d&#039;ailleurs j&#039;utilise déjà des enseignements que tu m&#039;a transmis sur un autre topic.</p>]]></description>
			<author><![CDATA[dummy@example.com (metalux)]]></author>
			<pubDate>Thu, 03 Jan 2013 21:00:03 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12077421#p12077421</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu]Voyager, aide pour changement dynamique des bureaux]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12076941#p12076941</link>
			<description><![CDATA[<p>Bonsoir,<br />Ton problème se produit-il quand tu lances script1 puis script2, ou script1 puis de nouveau script1 ?</p><p><span class="bbu">Remarque</span> :<br />Tu peux remplacer</p><div class="codebox"><pre><code>xwininfo -name &#039;Voyager File Manager&#039;
if [ $? -eq 0 ];then
	wmctrl -c &#039;Voyager File Manager&#039;
else
   ………</code></pre></div><p>par</p><div class="codebox"><pre><code>if xwininfo -name &#039;Voyager File Manager&#039;; then
        wmctrl -c &#039;Voyager File Manager&#039;
else
   ………</code></pre></div>]]></description>
			<author><![CDATA[dummy@example.com (pingouinux)]]></author>
			<pubDate>Thu, 03 Jan 2013 20:09:54 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12076941#p12076941</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu]Voyager, aide pour changement dynamique des bureaux]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12076341#p12076341</link>
			<description><![CDATA[<p>Merci pour vos réponse, en fait elles m&#039;ont surtout permises de voir que mon problème ne vient apparemment pas de là. J&#039;avais essayé un peu de tout dont l&#039;usage de <strong>pgrep</strong> et j&#039;avais retenu <strong>ps -x | grep</strong> tout simplement car le retour est détaillé et me permet de filtrer sur un mot du retour et pas forcément sur le nom de l&#039;application. Je n&#039;étais pas complètement à côté de la plaque et pgrep est effectivement le plus approprié (voire pidof).<br />Donc retour à zéro, nouveau problème <img src="http://forum.ubuntu-fr.org/img/smilies/big_smile.png" width="15" height="15" alt="big_smile" /><br />Je vais reprendre dans les jours prochains sur une autre base en récupérant les infos avec xwininfo. Suite à la remarque de ljere sur le topic dédié à Voyager 12.10, j&#039;ai décidé de répartir l&#039;ouverture de ranger,Moc et terminal sur 3 bureaux différents tout en gardant la possibilité de les garder ouverts en même temps. voici l&#039;ébauche 2 scripts, j&#039;ai commenté le 1er mais le 2ème est identique:</p><div class="codebox"><pre><code>#!/bin/bash
# License GPL
# by rodofr Live Voyager
# Modified by metalux for dynamic change wallpapers
# Display the action selector
bureau=~/.scripts/Wall/wall3

#######Teste si Ranger est ouvert et le ferme si c&#039;est le cas
xwininfo -name &#039;Voyager File Manager&#039;
if [ $? -eq 0 ];then
	wmctrl -c &#039;Voyager File Manager&#039;
	
	
else
########sinon bascule sur le bureau 3 et l&#039;ouvre	
	wmctrl -s2
	wall=&quot;xfconf-query -c xfce4-desktop -p \&quot;/backdrop/screen0/monitor0/image-path\&quot; -s \&quot;/usr/share/xfce4/backdrops/Wall-003.jpeg\&quot;&quot;
		sed -i &#039;s/^xfconf/#xfconf/&#039; $bureau
		sed -i &quot;/^#xfconf/a $wall&quot; $bureau
		$bureau
		xfce4-terminal --title=&quot;Voyager File Manager&quot; --maximize --hide-menubar --hide-borders -x &quot;ranger&quot;
#######Le script est alors en pause et le code qui suit se déroule que si on ferme ranger.
		sed -i &#039;/^xfconf/d&#039; $bureau
		sed -i &#039;s/^#xfconf/xfconf/&#039; $bureau
		$bureau
	
fi
exit 0</code></pre></div><div class="codebox"><pre><code>#!/bin/bash
# License GPL
# by rodofr Live Voyager
# Modified by metalux for dynamic change wallpapers
# Display the action selector
bureau=~/.scripts/Wall/wall2
xwininfo -name &#039;Voyager Terminal&#039;
if [ $? -eq 0 ];then
	wmctrl -c &#039;Voyager Terminal&#039;
	
	
else
	
	wmctrl -s1
	wall=&quot;xfconf-query -c xfce4-desktop -p \&quot;/backdrop/screen0/monitor0/image-path\&quot; -s \&quot;/usr/share/xfce4/backdrops/Wall-008.jpeg\&quot;&quot;
	sed -i &#039;s/^xfconf/#xfconf/&#039; $bureau
	sed -i &quot;/^#xfconf/a $wall&quot; $bureau
	$bureau
	xfce4-terminal --title=&quot;Voyager Terminal&quot; --geometry 1920x25 --hide-menubar --hide-borders
	sed -i &#039;/^xfconf/d&#039; $bureau
		sed -i &#039;s/^#xfconf/xfconf/&#039; $bureau
		$bureau
	
fi</code></pre></div><p>Pas de souci, tout fonctionne correctement,<strong>SAUF</strong>, si l&#039;un des 2 scripts est déjà lancé. Dans ce cas, le code devant se déroulé uniquement après la fermeture semble ne pas se faire ou se faire avant même la fermeture de l&#039;application. Une idée???</p>]]></description>
			<author><![CDATA[dummy@example.com (metalux)]]></author>
			<pubDate>Thu, 03 Jan 2013 19:17:10 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12076341#p12076341</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu]Voyager, aide pour changement dynamique des bureaux]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12059141#p12059141</link>
			<description><![CDATA[<div class="quotebox"><cite>Didier-T a écrit&#160;:</cite><blockquote><div><div class="quotebox"><cite>pingouinux a écrit&#160;:</cite><blockquote><div><p>On a aussi :</p><div class="codebox"><pre><code>pidranger=$(pgrep ranger)</code></pre></div></div></blockquote></div><p>jolie, je connaissais pas <img src="http://forum.ubuntu-fr.org/img/smilies/big_smile.png" width="15" height="15" alt="big_smile" /><br />J&#039;adopte <img src="http://forum.ubuntu-fr.org/img/smilies/cool.png" width="15" height="15" alt="cool" /></p></div></blockquote></div><p><strong>pgrep</strong> est quand plus pratique (et plus joli) qu&#039;un <strong>ps|grep</strong> ! à utiliser sans modération !</p>]]></description>
			<author><![CDATA[dummy@example.com (serged)]]></author>
			<pubDate>Wed, 02 Jan 2013 07:18:59 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12059141#p12059141</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu]Voyager, aide pour changement dynamique des bureaux]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12058871#p12058871</link>
			<description><![CDATA[<div class="quotebox"><cite>pingouinux a écrit&#160;:</cite><blockquote><div><p>On a aussi :</p><div class="codebox"><pre><code>pidranger=$(pgrep ranger)</code></pre></div></div></blockquote></div><p>jolie, je connaissais pas <img src="http://forum.ubuntu-fr.org/img/smilies/big_smile.png" width="15" height="15" alt="big_smile" /><br />J&#039;adopte <img src="http://forum.ubuntu-fr.org/img/smilies/cool.png" width="15" height="15" alt="cool" /></p>]]></description>
			<author><![CDATA[dummy@example.com (Didier-T)]]></author>
			<pubDate>Wed, 02 Jan 2013 05:55:35 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12058871#p12058871</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu]Voyager, aide pour changement dynamique des bureaux]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12058851#p12058851</link>
			<description><![CDATA[<p>On a aussi :</p><div class="codebox"><pre><code>pidranger=$(pgrep ranger)</code></pre></div>]]></description>
			<author><![CDATA[dummy@example.com (pingouinux)]]></author>
			<pubDate>Wed, 02 Jan 2013 05:53:16 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12058851#p12058851</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu]Voyager, aide pour changement dynamique des bureaux]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12058821#p12058821</link>
			<description><![CDATA[<p>ou même ceci</p><div class="codebox"><pre><code>pidranger=$(ps cx | awk &#039;/ranger/{print $1}&#039;)</code></pre></div><p>l&#039;option <strong>c</strong> limite les informations transmises par ps au nom de l&#039;application lancé, donc plus de donnée parasite lié aux ligne de commande.</p>]]></description>
			<author><![CDATA[dummy@example.com (Didier-T)]]></author>
			<pubDate>Wed, 02 Jan 2013 05:47:41 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12058821#p12058821</guid>
		</item>
		<item>
			<title><![CDATA[Réponse à&#160;:  [Résolu]Voyager, aide pour changement dynamique des bureaux]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12058711#p12058711</link>
			<description><![CDATA[<p>Bonjour,<br />Peut-être ceci </p><div class="codebox"><pre><code> pidranger=$(ps x | grep &#039;ranger&#039;|sed &#039;s/^ //&#039; | cut -d &quot; &quot; -f1)</code></pre></div><p>ou</p><div class="codebox"><pre><code>pidranger=$(ps x | awk &#039;/ranger/{print $1}&#039;)</code></pre></div><p>:</p>]]></description>
			<author><![CDATA[dummy@example.com (pingouinux)]]></author>
			<pubDate>Wed, 02 Jan 2013 04:44:04 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12058711#p12058711</guid>
		</item>
		<item>
			<title><![CDATA[[Résolu]Voyager, aide pour changement dynamique des bureaux]]></title>
			<link>http://forum.ubuntu-fr.org/viewtopic.php?pid=12058311#p12058311</link>
			<description><![CDATA[<p>Merci à tous ceux qui voudront bien m&#039;apporter de l&#039;aide concernant le problème évoqué <a href="http://forum.ubuntu-fr.org/viewtopic.php?pid=12058121#p12058121">ici</a> dont voici un extrait</p><div class="quotebox"><blockquote><div><p>Déjà si l&#039;un de vous pourrais m&#039;orienter pour le bug du terminal. Je récupère le PID de l&#039;application avec</p><div class="codebox"><pre><code>pidranger=$((ps -x | grep &#039;ranger&#039;) |  sed &#039;s/^ //&#039; | cut -d &quot; &quot; -f1)</code></pre></div><p>Pas de souci, ça fonctionne sans terminal mais quand un terminal est ouvert avant, plus moyen de trouver le PID. J&#039;ai cru comprendre que c&#039;était un problème de processus père/fils, aussi si quelqu&#039;un à une idée de comment récupérer proprement le PID du processus fils.</p></div></blockquote></div><p>A ceux qui m&#039;apporteront leur aide, je n&#039;aurai pas beaucoup le temps, ne le prenez pas mal si je mets du temps à répondre.<br /><strong>@rodofr</strong><br />Encore merci pour m&#039;avoir fais découvrir Xfce. Cet environnement permet plein de chose et c&#039;est un formidable terrain d&#039;apprentissage pour le bash. Donc pas grave si tu trouves que ce que j&#039;essaye de faire ne sert à rien, en attendant ça me permet de progresser en script même si j&#039;ai beaucoup de difficulté (pas tous l&#039;esprit aussi vif que toi Didier-T <img src="http://forum.ubuntu-fr.org/img/smilies/smile.png" width="15" height="15" alt="smile" /> ).</p>]]></description>
			<author><![CDATA[dummy@example.com (metalux)]]></author>
			<pubDate>Tue, 01 Jan 2013 23:48:53 +0000</pubDate>
			<guid>http://forum.ubuntu-fr.org/viewtopic.php?pid=12058311#p12058311</guid>
		</item>
	</channel>
</rss>
