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.

#1526 Le 26/04/2011, à 23:37

tshirtman

Re : /* Topic des codeurs couche-tard [4] */

bah, rien ne t'empèche de ne dessiner que les pixels qui t'intéressent tongue

Hors ligne

#1527 Le 26/04/2011, à 23:48

Pylades

Re : /* Topic des codeurs couche-tard [4] */

sweetly a écrit :

@pylade : juste une question, qui me taraude depuis un moment, à propos de ta signature.

Any if-statement is a goto

Ma question est : peut-on écrire un "if-statement" sans le "if" ? Autrement dit, le if est-il une forme algorithmique irréductible ?

#include <stdio.h>
int main(void)
{
  int a=3;
  void* go;
  go = a == 3 ? &&true : &&false;
  goto *go;
  true:
    puts("a equals 3…");
    goto after;
  false:
    puts("a does not equal 3…");
    goto after;
after:
  return 0;
}

Bon, OK, je triche, c'est une extension Gnu. tongue

Mais ce que veut dire Linus, c'est qu'en interne, le if se résume à des goto ordonnés comme il faut. Le fonctionnement est identique, ce sont des sauts à un certain endroit du code (mais sous conditions) ; d'ailleurs il faudrait voir ce que ça donne en assembleur, ça pourrait se ressembler beaucoup. En fait, nous utilisons des structures de contrôle pour notre commodité, et pour pouvoir organiser le code. Donc Linus dit qu'il ne faut pas avoir peur des goto et aller jusqu'à complexifier le code pour les éviter, c'est tout — d'ailleurs, les goto peuvent servir d'équivalent bas niveau des exceptions, et ce de façon propre.
Il se défendait là des attaques de gens qui lui reprochaient la présence de goto dans le code de Linux.

J'arbore cette signature car j'aime me rappeler qu'il ne faut suivre le mouvement et taper sur un truc sur lequel c'est à la mode de taper sans savoir pourquoi on tape dessus (phrase un peu compliquée, il me semble ^^).
Cela dit, je n'ai encore jamais employé de goto dans un bout de code plus ou moins sérieux.


tshirtman a écrit :

[…]
bon, ça suppose que la machine optimise les opérations de ce type, au lieu d'évaluer les deux cotés de l'opérande, avant d'évaluer l'opération complète.

Ce n'est pas une question d'optimisation, c'est défini dans le standard.


sweetly a écrit :
tshirtman a écrit :

@sweetly: je pense que torvalds se réfère à l'assembleur, ou un "if" est transformé en "comparaison + jump if not equal"

Ok. Du coup, if est irréductible, dans ce cas. (Logiquement linguistiquement parlant). Merci smile

Pas avec les extensions Gnu. tongue


ArkSeth a écrit :

[…]
Sinon, j'essayais de jouer un peu avec les xprop, mais j'avais pas compris aussi bien que ça, en fait : apparemment, la propriété strut (de même que « partial strut » qui en fait lui ressemble beaucoup) empêche toutes les fenêtres du bureau d'être maximisées dans la zone en question, y compris la fenêtre présentant cette propriété.
J'pensais que ça lui réservait la zone et qu'elle pouvait s'y maximiser tranquille, mais même pas…

Du coup, à part les démaximiser et changer manuellement leurs géométries, vous verriez un moyen de faire en sorte que deux fenêtres occupent chacune une moitié de l'écran ?

Ben, tu démaximises et tu change manuellement les géométries, ça paraît évident, non ? tongue

Mais si tu veux faire du tiling, je ne suis pas sûr que ça soit la bonne approche. Cette propriété, c'est plutôt pour les docks et les taskbars, non ?


Bon, je lirai la suite plus tard (vous avez été productifs smile).


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1528 Le 26/04/2011, à 23:55

tshirtman

Re : /* Topic des codeurs couche-tard [4] */

Pylade a écrit :
tshirtman a écrit :

[…]
bon, ça suppose que la machine optimise les opérations de ce type, au lieu d'évaluer les deux cotés de l'opérande, avant d'évaluer l'opération complète.

Ce n'est pas une question d'optimisation, c'est défini dans le standard.

Ou à tu vu qu'on parlais de C? il a dit "algorythmiquement" tongue

sweetly a écrit :
tshirtman a écrit :

@sweetly: je pense que torvalds se réfère à l'assembleur, ou un "if" est transformé en "comparaison + jump if not equal"

Ok. Du coup, if est irréductible, dans ce cas. (Logiquement linguistiquement parlant). Merci smile

Pas avec les extensions Gnu. tongue

tu veux dire qu'il n'y aura pas de JUMP en assembleur produit par cette extention? tongue

Hors ligne

#1529 Le 26/04/2011, à 23:57

sweetly

Re : /* Topic des codeurs couche-tard [4] */

Pylade a écrit :
sweetly a écrit :

@pylade : juste une question, qui me taraude depuis un moment, à propos de ta signature.

Any if-statement is a goto

Ma question est : peut-on écrire un "if-statement" sans le "if" ? Autrement dit, le if est-il une forme algorithmique irréductible ?

#include <stdio.h>
int main(void)
{
  int a=3;
  void* go;
  go = a == 3 ? &&true : &&false;
  goto *go;
  true:
    puts("a equals 3…");
    goto after;
  false:
    puts("a does not equal 3…");
    goto after;
after:
  return 0;
}

Bon, OK, je triche, c'est une extension Gnu. tongue

Mais ce que veut dire Linus, c'est qu'en interne, le if se résume à des goto ordonnés comme il faut. Le fonctionnement est identique, ce sont des sauts à un certain endroit du code (mais sous conditions) ; d'ailleurs il faudrait voir ce que ça donne en assembleur, ça pourrait se ressembler beaucoup. En fait, nous utilisons des structures de contrôle pour notre commodité, et pour pouvoir organiser le code. Donc Linus dit qu'il ne faut pas avoir peur des goto et aller jusqu'à complexifier le code pour les éviter, c'est tout — d'ailleurs, les goto peuvent servir d'équivalent bas niveau des exceptions, et ce de façon propre.
Il se défendait là des attaques de gens qui lui reprochaient la présence de goto dans le code de Linux.

Oui, voilà, je le souligne, le sous-condition. On peut ergoter pour se passer du mot if, sa sémantique, qu'il représente le plus simplement possible, est toujours là, et en langage de prog (et dedans, y'a langage), c'est irremplaçable sans artifice (artifice qui de tout manière veulent dire "if" mais en faisant semblant de pouvoir s'en passer). Dès qu'on se rapproche du langage formel humain, le "if" me paraît indispensable. Et vos réponses ne me contredisent pas smile

Sinon, j'avais la même interprétation que toi sur les propos de L.T. J'avais juste un doute sur ma perception logique du if qui pouvait être intégralement remplacé par des goto, sans artifice. Je suis rassuré smile

(A moins qu'un logical master passe par là et nous apprenne la vie de l'algorithmique)

Hors ligne

#1530 Le 26/04/2011, à 23:59

cm-t

Re : /* Topic des codeurs couche-tard [4] */

'Nuit;


Actu Ubuntu            ☺/
Pauses Ubuntu sur Paris            \_< -t
[(π)] La Quadrature du net

Hors ligne

#1531 Le 27/04/2011, à 00:02

The Uploader

Re : /* Topic des codeurs couche-tard [4] */

'Nuit; smile


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1532 Le 27/04/2011, à 00:05

tshirtman

Re : /* Topic des codeurs couche-tard [4] */

Ben après c'est du langage, dans goto, y'a pas de notion de choix… si tu fais goto une adresse mémoire calculée de façon à pointer une branche de code ou une autre selon un paramettre, tu aura remplacé ton if par un calcul et un goto…

genre
adresse = 0
addresse = fonction_impliquant_l'utilisateur()
goto adresse

label 1:
afficher "haha"
goto 3
label 2:
afficher "hihi"

label 3:
fin

Hors ligne

#1533 Le 27/04/2011, à 00:11

Pylades

Re : /* Topic des codeurs couche-tard [4] */

tshirtman a écrit :
Pylade a écrit :
tshirtman a écrit :

[…]
bon, ça suppose que la machine optimise les opérations de ce type, au lieu d'évaluer les deux cotés de l'opérande, avant d'évaluer l'opération complète.

Ce n'est pas une question d'optimisation, c'est défini dans le standard.

Ou à tu vu qu'on parlais de C? il a dit "algorythmiquement" tongue

Rho, la citation de Linus était à propos du code Linux, qui est écrit en C jusqu'à preuve du contraire. tongue


tshirtman a écrit :
Pylade a écrit :
sweetly a écrit :

Ok. Du coup, if est irréductible, dans ce cas. (Logiquement linguistiquement parlant). Merci smile

Pas avec les extensions Gnu. tongue

tu veux dire qu'il n'y aura pas de JUMP en assembleur produit par cette extention? tongue

Non, je veut justement dire que l'on peut reproduire le comportement du if sans utiliser le if.


@sweetly : ce n'est pas un artifice, c'est une extension Gnu. tongue
Et on peut écrire n'importe quel programme sans if, avec ça (à condition de ne pas lésiner sur le labels). tongue
(Enfin, je crois que c'est aussi possible avec les appels conditionnels de fonctions, comme l'a fait Tshirtman…)


@Tshirtman : oui, c'est exactement ce que j'ai fait dans mon code d'exemple.

Dernière modification par Pylade (Le 27/04/2011, à 00:12)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1534 Le 27/04/2011, à 00:15

Elzen

Re : /* Topic des codeurs couche-tard [4] */

The Uploader a écrit :

J'ai peur de un peu mal comprendre ton problème, mais tu pourrais voir du côté du code de Xfdesktop : http://archive.xfce.org/src/xfce/xfdesktop/4.8/

Ç'pas mon problème, c'est celui de Pylade, qui voudrait un gestionnaire de bureau qui ne touche pas au fond d'écran.

XfDesktop est pas mal, mais sur ce plan-là, il n'a rien de particulier et fait comme les autres : c'est une fenêtre qui occupe tout l'arrière-plan, et qui donc doit se repeindre. Donc ça ne fera pas plaisir à monsieur ^^

tshirtman a écrit :

bah, rien ne t'empèche de ne dessiner que les pixels qui t'intéressent tongue

À moins d'utiliser plusieurs fenêtres et/ou du shape ou du composing, la fenêtre se dessinera toujours entièrement sur toute la place qu'elle occupe.

Or,
– plusieurs fenêtres, c'est lourd en soit, et comme une fenêtre est rectangulaire, ça ne fait que réduire le problème à certaines zones.
– le composing, ça nécessite soit que le gestionnaire de fenêtre le gère⁽*⁾, soit qu'un daemon supplémentaire tourne pour le gérer, c'est lourd.
– le shape, c'est un peu moins lourd, mais la transparence partielle n'est pas gérée, ce qui risque de faire moche pour afficher des icônes d'applis.
D'autant que, dans les trois cas, ça paraît assez inutile, étant donné qu'une fenêtre de bureau, il est censé ne rien y avoir dessous.

Finalement, la seule option qui me paraîtrait éventuellement pyladeproof dans l'affaire et pas trop lourdingue et aberrante à mettre en place serait d'utiliser de la pseudo-transparence. Ce serait peut-être même l'une des meilleures utilités de la pseudo-transparence ^^
Malheureusement, je ne sais pas comment ça se gère, la pseudo-transparence. Si quelqu'un veut m'expliquer ça, voire de me filer une bonne doc compatible PyGTK/wnck, je me ferais une joie d'y jeter un œil (mais ça risquerait de retarder la date de sortie déjà indéterminée, vu que j'ai encore pas mal de trucs à faire à côté).

((*) Et Pylade viendrait encore râler que ce n'est pas au gestionnaire de fenêtres de s'occuper de ça, je suppose. D'ailleurs, j'me demande pourquoi ce sont Metacity et Xfwm, censés tous deux être des gestionnaire de fenêtres minimalistes, donc censés ne s'occuper que de gérer les fenêtres, qui s'occupent de l'extension composite dans leurs environnements respectifs.)

Pylade a écrit :

Ben, tu démaximises et tu change manuellement les géométries, ça paraît évident, non ? tongue

Ouais, c'est ce que je me prépare à faire en désespoir de cause, en essayant tout de même de mémoriser les géométries d'origine pour les rendre aux fenêtres une fois la tâche terminée.

Pylade a écrit :

Mais si tu veux faire du tiling, je ne suis pas sûr que ça soit la bonne approche. Cette propriété, c'est plutôt pour les docks et les taskbars, non ?

Cette propriété est effectivement faite pour les docks et les panels, mais je pensais qu'il y avait éventuellement moyen de l'utiliser autrement (tu ne sais pas encore que j'adore détourner les outils de leur fonction de départ ? big_smile)

Je ne sais pas si on peut vraiment qualifier ça de tiling (vu que je ne connais pas trop le tiling, en fait), mais mon objectif était de permettre que deux fenêtres soient « maximisées » simultanément à l'écran, en s'en partageant chacun une moitié.
J'ai un pote qui fait ça de temps à autres (genre quand il veut recopier du texte non-sélectionnable (image ou autres), ou bien coder en gardant la spec sous les yeux. C'est vaguement automatisé dans l'interface de Windows 7, apparemment), et je trouvais le concept assez intéressant.

Dernière modification par ArkSeth (Le 27/04/2011, à 00:19)

Hors ligne

#1535 Le 27/04/2011, à 00:34

Pylades

Re : /* Topic des codeurs couche-tard [4] */

Tu ne peux pas mélanger shape et pseudo-transparence ?


Sinon, la fenêtre du gestionnaire du bureau, elle est un peut particulière, non ? Je veux dire qu'elle n'a jamais le focus, qu'elle ne passe jamais sur le panel, qu'elle peut être transparente au clic de la souris… T'es sûr que tout le monde l'implémente bien par une fenêtre ?

D'ailleurs, avec Nautilus, le fond d'écran ne disparaît pas quand on le tue : il repeint vraiment la racine, ce n'est pas le fond de la fenêtre que l'on voit.

Bref, je me demande si c'est obligé que ça soit une fenêtre…


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1536 Le 27/04/2011, à 00:52

Elzen

Re : /* Topic des codeurs couche-tard [4] */

Pylade a écrit :

Tu ne peux pas mélanger shape et pseudo-transparence ?

On peut sans doute, mais dans le cas d'une fenêtre qui n'a rien dessous, je ne vois pas l'utilité.

Le shape, c'est un truc qui fait que la fenêtre est partiellement réellement transparente, donc que s'il y a une autre fenêtre dessous, on la voit.
La pseudo-transparence, c'est un truc qui fait que le fond de la fenêtre coïncide avec le fond de la fenêtre racine, donc ça donne l'impression que c'est transparent, mais s'il y a une autre fenêtre dessous, on ne la voit pas.

Mélanger les deux peut être intéressant genre pour un panel au premier-plan (pour lui faire des coins arrondis, par exemple, j'crois que les versions récentes de fbpanel proposent ça), mais pour un gestionnaire de bureau, fenêtre qui, par définition, est à l'arrière-plan, et donc est censée ne rien avoir au dessous d'elle, j'vois juste pas l'intérêt, autant ne faire que de la pseudo-transparence.

Pylade a écrit :

Sinon, la fenêtre du gestionnaire du bureau, elle est un peut particulière, non ? Je veux dire qu'elle n'a jamais le focus, qu'elle ne passe jamais sur le panel, qu'elle peut être transparente au clic de la souris… T'es sûr que tout le monde l'implémente bien par une fenêtre ?

Je ne sais pas comment font les applis pour la transmission du clic (je suppose, sans aucune information à ce sujet, que ça doit être un truc genre que la fenêtre intercepte bien le clic, mais dans ce cas envoie un genre de signal à la fenêtre racine pour simuler un clic au même endroit), mais pour le reste, c'est simplement une fenêtre de type « DESKTOP » (y a pleins de types de fenêtres intéressants, en fait, quand on regarde).

Pylade a écrit :

D'ailleurs, avec Nautilus, le fond d'écran ne disparaît pas quand on le tue : il repeint vraiment la racine, ce n'est pas le fond de la fenêtre que l'on voit.

Si, en fait, mais les gestionnaires de fenêtres classique font les deux : se peindre eux-mêmes et repeindre la fenêtre racine, pour être sûrs que les applis pseudo-transparentes (que peuvent être les panels, par exemple) aient bien le même fond d'écran qu'eux.
(Et sauf erreur de ma part, ils n'utilisent pas de pseudo-transparence, car si tu utilises ton hsetroot ou un équivalent sans modifier leur configuration spécifique, ils continuent d'afficher leur propre image de fond).

Pylade a écrit :

Bref, je me demande si c'est obligé que ça soit une fenêtre…

Il est peut-être théoriquement possible d'aller vraiment mettre des composants directement dans la fenêtre racine, mais là, si ça l'est vraiment, ça dépasse de très loin mes compétences.

Donc voilà, j'pense que ce qui nous conviendrait le mieux à tous les deux, ce serait que je rajoute simplement la possibilité, pour le gestionnaire de bureau, d'utiliser la pseudo-transparence. Mais j'sais pas encore faire, et je sais pas où chercher des infos.

Hors ligne

#1537 Le 27/04/2011, à 01:08

Pylades

Re : /* Topic des codeurs couche-tard [4] */

ArkSeth a écrit :
Pylade a écrit :

Tu ne peux pas mélanger shape et pseudo-transparence ?

On peut sans doute, mais dans le cas d'une fenêtre qui n'a rien dessous, je ne vois pas l'utilité.

Le shape, c'est un truc qui fait que la fenêtre est partiellement réellement transparente, donc que s'il y a une autre fenêtre dessous, on la voit.
La pseudo-transparence, c'est un truc qui fait que le fond de la fenêtre coïncide avec le fond de la fenêtre racine, donc ça donne l'impression que c'est transparent, mais s'il y a une autre fenêtre dessous, on ne la voit pas.

Mélanger les deux peut être intéressant genre pour un panel au premier-plan (pour lui faire des coins arrondis, par exemple, j'crois que les versions récentes de fbpanel proposent ça), mais pour un gestionnaire de bureau, fenêtre qui, par définition, est à l'arrière-plan, et donc est censée ne rien avoir au dessous d'elle, j'vois juste pas l'intérêt, autant ne faire que de la pseudo-transparence.

OK, j'avais mal compris le principe du shape, laisse tomber.


ArkSeth a écrit :
Pylade a écrit :

Sinon, la fenêtre du gestionnaire du bureau, elle est un peut particulière, non ? Je veux dire qu'elle n'a jamais le focus, qu'elle ne passe jamais sur le panel, qu'elle peut être transparente au clic de la souris… T'es sûr que tout le monde l'implémente bien par une fenêtre ?

Je ne sais pas comment font les applis pour la transmission du clic (je suppose, sans aucune information à ce sujet, que ça doit être un truc genre que la fenêtre intercepte bien le clic, mais dans ce cas envoie un genre de signal à la fenêtre racine pour simuler un clic au même endroit), mais pour le reste, c'est simplement une fenêtre de type « DESKTOP » (y a pleins de types de fenêtres intéressants, en fait, quand on regarde).

Ah ouais, ça aide de connaître un peu X… ^^


ArkSeth a écrit :
Pylade a écrit :

D'ailleurs, avec Nautilus, le fond d'écran ne disparaît pas quand on le tue : il repeint vraiment la racine, ce n'est pas le fond de la fenêtre que l'on voit.

Si, en fait, mais les gestionnaires de fenêtres classique font les deux : se peindre eux-mêmes et repeindre la fenêtre racine, pour être sûrs que les applis pseudo-transparentes (que peuvent être les panels, par exemple) aient bien le même fond d'écran qu'eux.
(Et sauf erreur de ma part, ils n'utilisent pas de pseudo-transparence, car si tu utilises ton hsetroot ou un équivalent sans modifier leur configuration spécifique, ils continuent d'afficher leur propre image de fond).

Ah ouais, je viens de vérifier : c'est ça. smile

Mais bon, je l'ai dupé, le Gnome… tongue


ArkSeth a écrit :
Pylade a écrit :

Bref, je me demande si c'est obligé que ça soit une fenêtre…

Il est peut-être théoriquement possible d'aller vraiment mettre des composants directement dans la fenêtre racine, mais là, si ça l'est vraiment, ça dépasse de très loin mes compétences.

Donc voilà, j'pense que ce qui nous conviendrait le mieux à tous les deux, ce serait que je rajoute simplement la possibilité, pour le gestionnaire de bureau, d'utiliser la pseudo-transparence. Mais j'sais pas encore faire, et je sais pas où chercher des infos.

Ouais, c'est sûr que ça serait le top (truth tongue)…


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1538 Le 27/04/2011, à 01:12

nesthib

Re : /* Topic des codeurs couche-tard [4] */

plop


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#1539 Le 27/04/2011, à 01:15

nathéo

Re : /* Topic des codeurs couche-tard [4] */


C'est rarement par le sarcasme qu'on élève son âme.
Le jus de la vigne clarifie l'esprit et l'entendement.
De quoi souffres-tu ? De l'irréel intact dans le réel dévasté ?
La liberté n'est qu'un vain fantôme, quand une classe d'hommes peut affamer l'autre impunément. timezone[America/Bogota]

Hors ligne

#1540 Le 27/04/2011, à 01:23

Pylades

Re : /* Topic des codeurs couche-tard [4] */

Bon, Xfdesktop, c'est pareil que Xfce en général : ça ne se distingue pas vraiment par l'efficacité et c'est assez peu configurable mais incorpore plein de fonctionnalités overkill voire indésirables.


Donc même verdict : au revoir !
(En plus, bonjour les dépendances…)

Dernière modification par Pylade (Le 27/04/2011, à 01:24)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1541 Le 27/04/2011, à 01:27

The Uploader

Re : /* Topic des codeurs couche-tard [4] */

Tu y vas fort...

Si par efficacité tu désigne la propreté du code ou la légèreté ou l'aspect pratique, tu te trompes.

Quant aux fonctionnalités overkill ou indésirables, j'aimerai bien savoir lesquelles.

Quant aux dépendances.. ?

Pour le peu configurable : less is more (et il y a parfois des options obscures qui ne se mettent que manuellement dans un fichier de conf' pour de bonnes raisons. ça a ses intérêts de suivre la mailing list..).

Dernière modification par The Uploader (Le 27/04/2011, à 01:37)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1542 Le 27/04/2011, à 01:38

Elzen

Re : /* Topic des codeurs couche-tard [4] */

Pylade a écrit :

OK, j'avais mal compris le principe du shape, laisse tomber.

Disons que c'est quand même un peu plus que ça : ça fait des « trous » dans la fenêtre, elle ne reçoit pas du tout les événements qui ont lieu sur la zone « shapée » (comme avec du composing, en fait, sauf que c'est géré nativement (enfin, c'est une extension, il paraît, mais je n'ai jamais rencontré de cas où ce n'était pas géré) et que ça ne prend pas la pseudo-transparence).
Donc pour la transmission du clic, par exemple, ça pourrait être assez pratique. Par contre, pour glisser-déplacer les icônes, beaucoup moins.

Et puis, même pour la transmission du clic (qu'il pourrait être super intéressant que je gère, d'ailleurs yikes), il y a probablement moyen de faire autrement, puisque le shape est assez peu utilisé (mais j'sais pas comment faire d'autre hmm)

Pylade a écrit :

Mais bon, je l'ai dupé, le Gnome… tongue

Ah oui ? Raconte tongue


En tout cas j'vais essayer de creuser par là, mais sans garantie.

Hors ligne

#1543 Le 27/04/2011, à 01:48

Pylades

Re : /* Topic des codeurs couche-tard [4] */

Efficacité : Thunar est relativement lent ; il ne permet pas de gérer finement les droits ; il n'a pas d'onglets. La barre d'outils est relativement inutilisable. Pas possible de rentrer directement le chemin au clavier. Xfdesktop ne permet pas de jouer avec son bureau comme avec Nautilus.
Fonctionnalités en trop : Thunar va chercher le lanceur correspondant on ne sait où lorsque que l'on se retrouve en présence d'un binaire (on croit rêver). Usage de la corbeille obligatoire. Il est grandiloquent lorsque l'on réalise une copie. Xfdesktop propose un menu d'applications ; mais il masque le menu du WM.
Quant aux dépendances, tu peux les admirer toi-même.


Bref, avant de vouloir coder des trucs complétement inutiles et qui vont même faire chier l'utilisateur, je trouve qu'il serait de bon ton de d'abord se focaliser sur l'efficacité du logiciel. C'est ça qui m'énerve avec Xfce.

Gnome est peut-être rempli de trucs inutiles, mais lui au moins il est à peu près efficace sur le reste (et encore, pas toujours). Et même chez Gnome, on ne va pas utiliser les lanceurs quand on parcourt un répertoire de binaires (oui, ça m'a marqué), c'est pour dire…


Ouais, aucun environnement ne me convient ; je suis un perpétuel insatisfait (quoique LXDE soit assez sympa pour certains trucs).


ArkSeth a écrit :

[…]

Pylade a écrit :

Mais bon, je l'ai dupé, le Gnome… tongue

Ah oui ? Raconte tongue
[…]

Trop facile : j'ai lancé le bureau de Nautilus et le panel, que j'ai réglé en à moité transparent, puis j'ai repeint la racine. Et paf, le panel affiche un autre fond d'écran que le bureau ! tongue
Et ouais, le panel de Gnome utilise la pseudo-transparence…

Dernière modification par Pylade (Le 27/04/2011, à 01:55)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1544 Le 27/04/2011, à 02:03

Elzen

Re : /* Topic des codeurs couche-tard [4] */

Ouais, bah c'est ce que je disais, quoi tongue

Par contre, j'trouve pas de doc là-dessus, j'espère que je vais pas devoir aller regarder dans les codes sources (je déteste aller voir dans les codes sources, surtout quand c'est pas le même langage, et j'ai aucun exemple en PyGTK qui me vienne à l'esprit)

Détail amusant, quand je cherche « pseudo-transparence pygtk » dans seeks, le premier résultat, c'est mon post de tout-à-l'heure.

Hors ligne

#1545 Le 27/04/2011, à 02:08

Pylades

Re : /* Topic des codeurs couche-tard [4] */

Oui, ce forum est trop bien référencé…


(Et puis Seeks ça marche pas bien… tongue)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1546 Le 27/04/2011, à 03:15

nesthib

Re : /* Topic des codeurs couche-tard [4] */

plop


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#1547 Le 27/04/2011, à 03:53

samυncle

Re : /* Topic des codeurs couche-tard [4] */

.


Hello world

Hors ligne

#1548 Le 27/04/2011, à 07:03

The Uploader

Re : /* Topic des codeurs couche-tard [4] */

Pylade a écrit :

Efficacité : Thunar est relativement lent ;

La 1.3 est largement améliorée de ce côté là, et la plupart des améliorations sont backportés sur la 1.2.x

il ne permet pas de gérer finement les droits ;

Tu peux gérer les droits, mais de toute façon je préfère faire ça à la ligne de commande qu'en clickotant à la Windows...

il n'a pas d'onglets.

pas besoin. Et puis, un plugin pourrait très bien le proposer.

La barre d'outils est relativement inutilisable.

?? Ce n'est qu'une barre d'outils..

Pas possible de rentrer directement le chemin au clavier.

Euh, si...

Xfdesktop ne permet pas de jouer avec son bureau comme avec Nautilus.

lapin compris...

Usage de la corbeille obligatoire.

Non. Shift Delete fonctionne très bien.

Il est grandiloquent lorsque l'on réalise une copie.

?? Toutes les opérations copie/déplacement sont regroupés dans une seule fenêtre... Et je ne sais pas si c'est Thunar ou mon changement de fs, mais je les trouve bien plus rapides qu'avant.

Xfdesktop propose un menu d'applications ; mais il masque le menu du WM.

Lapin compris..

Quant aux dépendances, tu peux les admirer toi-même.

Tout ce que je vois, c'est que mis à part LXDE, ces méchantes dépendances ne font pas de Xfce un environnement lourd. Face a Gnome, il y a de la marge.
Quant à la 4.8, les libs ont été pas mal améliorés, et je crois que certaines dépendances ont été abandonnés.


Bref, avant de vouloir coder des trucs complétement inutiles et qui vont même faire chier l'utilisateur, je trouve qu'il serait de bon ton de d'abord se focaliser sur l'efficacité du logiciel. C'est ça qui m'énerve avec Xfce.

La 4.8.x, garcon qui remplace je sais plus quelle lib, et Thunar 1.3 sont une énorme avancée de ce point de vue, justement...

Thunar va chercher le lanceur correspondant on ne sait où lorsque que l'on se retrouve en présence d'un binaire (on croit rêver).

Je sais pas où tu as vu ça!

Dernière modification par The Uploader (Le 27/04/2011, à 11:29)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1549 Le 27/04/2011, à 07:42

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [4] */

Scores totaux, depuis le début :

1) 3130    nesthib
2) 2903    samuncle
3) 2497    Pylade
4) 1988    Кຼزດ
5) 1675+5  grim7reaper /* ./viewtopic.php?pid=3486252#p3486252 */
6) 1529    cm-t
7) 1112    :mad: ✰ :бешеный: ✰ :mad:
8) 858    helly
9) 844    \\Ouranos//
10) 659    gnuuat
11) 559    Lagierl
12) 529    tshirtman
13) 354    Rolinh
14) 292    The Uploader
15) 231    Kanor
16) 222    nathéo
17) 196    Askelon
18) 145    :!pakman
19) 121    ǤƦƯƝƬ
20) 93    petifrancais
21) 91    kamui57
22) 78    edge_one
22) 78    pierguiard
24) 70    gulp
25) 39    Le Rouge
26) 37    ilagas
27) 32    sakul
27) 32    xapantu
29) 30    keny
30) 26    gustare
30) 26    d10g3n
32) 25    GentooUser
32) 25    Morgiver
34) 24    ไ୦บเઢ'
34) 24    Steap
36) 20    CROWD
37) 18    Ph3nix_
38) 16    kouskous
39) 15    timsy
40) 13    na kraïou
41) 12    stratoboy
41) 12    sailing
43) 11    alexises
43) 11    Crocoii
45) 10    Toineo
45) 10    NutMotion
45) 10    pseudovingtcinqcaracteres
45) 10    pfriedZ
45) 10    CasseTaTele
45) 10    Zeibux
51) 8    Mornagest
52) 7    Vista
53) 6    ubuntlin
53) 6    asma.geek
55) 5    tendances-tdct
55) 5    kinouchou
57) 4    danychou56
57) 4    Neros
57) 4    Biaise
57) 4    totoflute
57) 4    pinballyoda ㋛
57) 4    NLS le pingouin
57) 4    ceric
57) 4    Dice-Man
65) 3    Revan26914
65) 3    raspouillas
65) 3    sweetly
68) 2    SoJaS
69) 1    geenux

RépartitionPosts/heure


Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne

#1550 Le 27/04/2011, à 07:42

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [4] */

Scores de la période en cours :

1) 210    nesthib
2) 202    samuncle
3) 166    Pylade
4) 114    cm-t
5) 96    Кຼزດ
6) 87    :mad: ✰ :бешеный: ✰ :mad:
7) 50    nathéo
8) 47    Rolinh
9) 41    tshirtman
10) 35    The Uploader
11) 33    :!pakman
12) 32    \\Ouranos//
13) 23    grim7reaper
14) 20    sakul
15) 13    na kraïou
16) 10    helly
17) 5    kamui57
18) 4    Dice-Man
19) 3    raspouillas
19) 3    sweetly
21) 2    kouskous
21) 2    xapantu

Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne