Aller au contenu

FJA

Membres
  • Compteur de contenus

    565
  • Inscription

  • Dernière visite

Messages posté(e)s par FJA

  1. J'ai trouvé beauuuuucoup mieux :

     

    Plutot que de passer par du "bas" niveau en utilisant xattr, je suis passé par Spotlight, et du coup c'est bien plus rapide et bien plus fiable :

     

     

    ~ $ mdfind "kMDItemUserTags == '*Violet*'" -onlyin  ~/Downloads/

    Et le résultat me retourne directement la liste des chemins des fichiers qui valide mon expression.

     

    Le seul bémol c'est que le dossier doit être indexé par Spotlight, et que l'index soit à jour

  2. Ha non chez moi ça ne marche pas…

     

    Par contre j'ai trouvé cette ligne de commande :

    xattr -lr ~/Desktop/dossier\ sans\ titre  | grep 'XViole'

    Et là c'est que du bonheur car il me liste bien le contenu de mon dossier en me sortant uniquement ceux qui ont le tag 'violet'… manque plus que le chemin d'accès…

     

    Si tu ajoute l'option

    -p com.apple.metadata:_kMDItemUserTags
    a xattr il te listera uniquement les elements avec un tag.

    Ensuite avec l'option -B 1 (ou -C2 pour avoir 2 lignes avant et après) sur grep tu récupère en plus la ligne précédant qui contient le chemin du fichier.

    Après il reste quelque manip' (awk, sed ou même cut) pour extraire le chemin

     

    Un exmple qui marche pas trop mal (cf. limitation plus bas)

     

    ~ $ xattr -lrvp com.apple.metadata:_kMDItemUserTags ~/Downloads/ 2>/dev/null | grep -C2 "XViole" | grep -e "_kMDItemUserTags" | cut -d":" -f1

     

    Limitation :

    • Je ne sais pas le comportement si il y a plusieurs tags (d'où le -C2 pour essayer de géré ca)
    • Si il y a un ":" dans le nom du fichier ca ne marche pas (cut n'est plus suffisant, il faut passer par un autre outil)

  3. Bonjour,

     

    Pour ma part je pense que les apercu dans Finder sont plutôt l'oeuvre de Quicklook.

     

    Du coup, je pense que le plus simple et le plus efficace serait de jeter un oeil à la commande qlmanage, et plus particulièrement à

    qlmanage -t $MON_FICHIER -o $DOSSIER_GENERATION

    (il y a d'autre option intéressantes, telle que -i (pour avoir l'icone avec le contenu du fichier) et -p (pour avoir l'apercu de quicklook))

    Dans tout les cas, les commandes "man qlmanage" et "qlmanage -h" sont toujours bonne a regarder

  4. C'est surement écris en objective-c. Je me demande ce que ça donnerait en swift, peut-être plus souple.

    C'est à mon avis là que tu dois faire attention, si il y a des erreurs dans le fichier de configuration, cela peut mener à la cata (racte, euh, non, strophe).

     

    Nope, c'est du C :

    https://sourceforge.net/p/refind/code/ci/master/tree/

     

    (Pour rEFIt, l'original, il y avait bien un peu d'Objective-C, mais vraiment pas beaucoup... il y a plus de Python dans le projet : https://sourceforge.net/p/refit/code/HEAD/tree/trunk/refit/ )

     

    ----

     

    Pour les icones, as tu essayé de faire un nouveau theme en remplaçant les os_*.png par l'image vol_internal.png et de supprimer cette dernière.

     

    Car d'après ce que j'ai lu (https://sourceforge.net/p/refind/code/ci/master/tree/refind.conf-sample) l'icone du volume est toujours à 1/4 de la taille de l'icone de l'OS.

    L'option small_icon_size c'est pour la rangé d'icone en bas

  5. Après avoir cherché un peut partout sur le web :

    La majorité des solutions sont des solutions pur unix, et ne permet pas de faire du routing par application, mais seulement du routing par IP de destination (donc pas ce que tu souhaite).

     

    Par contre j'ai trouvé ca : https://forum.transmissionbt.com/viewtopic.php?t=11452#p60355 (solution 100% (Mac) OS X)

    J'ai pas testé mais à première vue ca devrait marcher et faire exactement ce que tu veux.

  6. Salut,

     

    Oui, web.skype permet d'utilisé Skype via son navigateur (par contre je n'ai testé, ni l'audio, ni la vidéo).

    Par contre moi il ne m'a pas demandé utiliser de plugin (la seule chose qu'il a demandé c'est d'afficher des notifications système, ce qui peut être refusé sans conséquence pour le fonctionnement)

  7. Salut,

     

    Je crains que plus aucune version Skype ne marche pour 10.5

    (J'ai peut être encore une version 10.6, mais je sais si elle marche encore).

     

    Pour forcer les mises à jours ils (Skype, mais surtout Microsoft) ont empêché les anciennes version de fonctionner.

     

    Mais j'ai pas vérifié (il faudrait que j'ai un Mac sous 10.5 pour ca). Tu peux tenter ta chance là : http://www.oldapps.com/mac/skype.php

     

    Une autre solution c'est peut être : https://web.skype.com/fr/

  8. Salut,

     

    C'est probablement dû au fait que tu utilise le MySQL de MAMP (d'où le port 8889 qui est celui que utilise MAMP pour MySQL), et que ceux dernier utilisé un socket différent de celui par défaut de OS X.

    Essaie de mettre comme adresse:

    :/Applications/MAMP/tmp/mysql/mysql.sock
  9. Un problème lié à la température peut être?

    (Un problème de poussière?)

    (De composant(s) mal soudé?)

     

    peut être un petit suivie de la température pourra être utile ? (http://www.bresink.com/osx/216202/download.php)

     

    (Moi aussi un problème du même genre sur mon vénérable iMac 5 (Intel, core2duo)... au bout quelques minutes utilisation normale : Kernel Panic (et il est chaud). Si il ne fait rien il peut tenir longtemps. il faut que je le démonte et dépoussiéré)

  10. Ca dépend beaucoup de ce que tu veux faire.

    De quel degré de personnalisation tu veux (il y a des applications très simple qui permettent de faire des site très vite, mais qui se ressemblent beaucoup, et d'autre moins facile a prendre en main mais bien plus customisable)

     

    Comment alternative au défunt iWeb d'Apple il y a : (http://alternativeto.net/software/iweb/?platform=mac)

     

     

     

    (J'en ai pas testé un seul de ces logiciels... moi je vais plutôt ca à la main)

  11. Salut,

     

    Voici ce que j'ai compris:

    A partir d'une adresse il veux pouvoir généré x étiquettes.

    Ces x étiquettes sont en tout points identique sauf une petite mention qui indique y/x où y est le numéro de l'étiquette courante.

     

    ----

     

    Par exemple, pour l'adresse suivante

    Joe Doe
    123 rue des inconnus
    HellCity
    1010 Paradis
    

    En choisissant une quantité de 3 étiquettes, il veux obtenir :

    Joe Doe
    123 rue des inconnus
    HellCity
    1010 Paradis
                                 1 de 3
    
    Joe Doe
    123 rue des inconnus
    HellCity
    1010 Paradis
                                 2 de 3
    
    Joe Doe
    123 rue des inconnus
    HellCity
    1010 Paradis
                                 3 de 3
    

    ----

    Mais comme dit Eric P., imprimer c'est dessiner (manipulation de l'object Graphics), donc, a priori, la seule différence entre l'étiquette 1 et la deux c'est le nombre finale.

    Grosso modo ca devrait être quelque chose comme ca :

     Dim g As Graphics
      g = OpenPrinterDialog
      // Tu dessine ton étiquette
      //...
      // x et y sont les coordonnées pour le numéro d'étiquette
      // number et total sont, respectivement, le numéro de l'étiquette en cours et le nombre total d'étiquette
      g.DrawString(str(number)+" de "+str(total), x, y)
  12. Pourquoi tu as un résultat plus précis : parce que Xojo transforme to nombre 5.083E+9 en 5083000000 lors de la conversion en string.


    Dans ta ligne de commande si tu fais juste le echo tu auras déjà 5083000000.


     


    Au fait, bash ne gère absolument pas les nombres à virgules. A priori bc devrait être l'outils à utiliser ( http://stackoverflow.com/questions/12722095/how-can-i-get-a-float-division-in-bash )


  13. Salut,

     

    Je pense que ça devrait répondre à ta question :

      Dim pixelWidth As Double
      Dim graphicObject As New Graphics
      
      graphicObject.TextSize = 20
      graphicObject.Italic = True
      graphicObject.TextFont = "Arial"
      graphicObject.DrawString("Hello World", 20, 20)
      pixelWidth = graphicObject.StringWidth("Hello World")

    D'après la documentation (REALbasic 2007 R3, oui je sais c'est pas très récent comme version) :

     

    Graphics.StringWidth Function

    Returns as a Double the width of the text (based on the current font and font size) in pixels.

     

    Syntax

    result = Graphics.StringWidth( Text )

    Parameters

    Text

    String

    Return Value

    Result

    Double

    Notes

     

    Prior to version 2007 Release 2, StringWidth returned an Integer. Currently, only Mac OS X supports fractional widths. In the future, fractional widths may be supported on other platforms.

  14. En Objective-C (et dans bien d'autre langage), l'accès aux variables/propriétés/attribues (ça dépends des langages) de fait par des getter/setter.

    Pour une question de sécurité et d'intégrité.

    Bien que pour Objective-C, l'accès via des getter/setter (<=> les accesseurs et les mutateurs), soit une obligation (me corriger si je me trompe) car les variables sont toutes confinées dans l'instances de l'objet (ou de la classe, mais uniquement accessible dans une "instance"), et donc le seul moyen d'y accéder c'est d'avoir des méthode pour le faire.

     

    Pourquoi faire des getter/setter alors qu'on peu modifier directement la variable me direz vous.

    Exemple tout bête (en pseudo code):

    Soit la classe suivante:

     

    GPS

    • kmPar: Nombre = Km parcouru
    • kmRestant: Nombre = Km restant jusqu'à destination
    • kmTotal : Nombre = Km total du trajet

    Si l'augmente le nombre de Km parcouru, il faut évidemment diminuer les Km restant.

    Le jour où tu fais ton dev, c'est logique et évident.

    Mais si tu partage/reviens plus tard/réutilise ton code il n'ai pas dit que tu y pense.

    Alors le plus simple c'est modifier les deux valeurs de façon "transparente" :

    Fonction setKmPar(nouvelleValeur)
       kmPar = nouvelleValeur
       kmRestant = kmTotal - nouvelleValeur
    
    Fonction setKmRestant(nouvelleValeur)
       kmRestant = nouvelleValeur
       kmPar = kmTotal - nouvelleValeur

    Bien sur, dans code bien pensé, il y a une variable qui aurait été supprimée :P .

     

    Ça permet aussi de faire des validations de valeurs, de faire une gestion de mémoire (même si avec avec @synthetize, c'est géré), et d'autre traitements...

     

    Donc pour résumé, en Objective-C, à quelque exception près, on passe toujours par un setQuelqueChose: pour modifier une valeur dans une instance.

×
×
  • Créer...