Forum Astuces.divers kmail*reverseVideo: on ou comment afficher kmail en vidéo inversée ?

Posté par  . Licence CC By‑SA.
-1
4
sept.
2021

N'ayant que ça à faire (comme d'autres sans doute), j'ai cherché (un peu) comment
configurer kmail afin d'affichage en video inversée, comme on peut le faire avec xterm par exemple :
[.Xressources]
XTerm*reverseVideo: on
 ! xrdb -merge ~/.Xresources
kmail*reverseVideo: on
KMail*reverseVideo: on
Kmail*reverseVideo: on
 !bienévidemmentçanemarchepas

Mes compétence étant limitées sur le sujet, j'ai trouvé utile de partager ici cette curiosité technique.

Dans l'espoir d'une réponse favorable.

Références :
https://www.google.com/search?q="kmail"+"reverseVideo"

  • # Xorg ou Kwin

    Posté par  . Évalué à 1.

    Bon c'est pas tout à fait ce que tu demande mais il fut un temps ou j'utilisais xcalib -invert -alter pour inverser tout l'affichage (pas juste une application).
    À une époque Kwin gérait également l'inversion de couleurs pour tout l'affichage (Meta+Ctrl+I) et pour une fenêtre (Meta+Ctrl+U) mais je ne sais pas si l'effet existe encore, si ce sont toujours ces raccourcis ni s'il est possible de conserver ce réglage de manière persistante.

    • [^] # Re: Xorg ou Kwin

      Posté par  . Évalué à 0.

      Je voudrais inverser les couleurs juste sur cette fenêtre, pas tout l'écran, effectivement.
      Quel est le fichier Xorg où configurer la commande qui contrôle ce paramètre ?

      La commande dont tu parles se trouve par exemple sur cette page :
      https://askubuntu.com/questions/181419/how-to-reverse-colors-for-the-current-window-in-gnome-shell
      xcalib -invert -alter
      puis l'auteur propose d'ajouter un raccourcis M-i qui correspond au résultat dont tu parles.
      peut-être que M-u est le raccourcis proposé par l'application pour traiter à-la-fenêtre ?

      Concernant KDE voici ce que j'ai trouvé
      raccourcis clavier :
      https://docs.kde.org/stable5/en/khelpcenter/fundamentals/kbd.html
      ne cite pas ces raccourcis
      mais
      https://forum.kde.org/viewtopic.php?f=251&t=110152
      y fait allusion.
      Ce lien en outre ouvre un autre champ de recherche :
      "settings -> accessability"
      "System Settings is a separate KDE application, which can be accessed either through the Kickoff Menu, or through KRunner.
      Alternately, you can run "systemsettings" in a terminal application. ".

      Toutefois un accès direct aux commandes et paramètres qui contrôlent cet effet m'éviterait de fouiller l'appli pour savoir ce qu'elle manipule.
      M'étonnerait que l'appli fasse ça toute seule.

      C'est toujours un peu le problème du marteau-piqueur pour enfoncer un clou.

      En cherchant un peu plus loin en ce sens, on trouve cette page de l'excellent unix.stackexchange.com (non UNIX n'est pas mort, même si ceux qui l'ont vu sont peu nombreux)
      https://unix.stackexchange.com/questions/20565/invert-colors-of-the-active-window

      "For apps like xpdf, you can either have an alternative desktop menu entry (or icon) that runs the app with special parameters, or define those in your .Xdefaults. For xpdf note also the use of paperColor, foreground and background resources."
      on retrouve .Xressources ? mais la solution n'est pas détaillée, juste effleurée.
      Certainement la meilleure solution.

      "Actually I really need inverting color of specific windows (not whole screen) and that's main reason why I often choose KDE -> it has build in support for this!"
      Cette fois on propose Compiz pour le faire…

      les sources de xcalib sont disponibles ici
      http://xcalib.sourceforge.net/
      https://sourceforge.net/projects/xcalib/
      afin de voir ce qu'il peut bien faire au sujet de l'inversion des couleurs
      mais il faut avoir des compétences en programmation que je n'ai pas.
      Sourcefroge permet pas naviguer dans les sources ? alors il faut télécharger l'ensemble des sources de l'appli en local pour cela.

      Une fois décompactée, l'archive
      xcalib-source-0.8.tar.gz
      contient 18 fichiers.
      xcalib est écrit en C.

      Voici ce que l'on trouve pour
      grep -R invert xcalib-0.8/
      xcalib-0.8/README: -invert or -i
      xcalib-0.8/xcalib.c: fprintf (stdout, " -invert or -i\n");
      xcalib-0.8/xcalib.c: int invert = 0;
      xcalib-0.8/xcalib.c: /* invert the LUT */
      xcalib-0.8/xcalib.c: if (!strcmp (argv[i], "-i") || !strcmp (argv[i], "-invert")) {
      xcalib-0.8/xcalib.c: invert = 1;
      xcalib-0.8/xcalib.c: if(!invert) {
      ..ça ne dois pas être ça, ou pas la bonne version ?

      Donc on a plusieurs solutions possibles mais aucune ne me permet d'y arriver simplement en configurant un fichier.
      À moins de comprendre comment agissent ces programmes, il est difficile de trouver la solution.
      Une solution semble possible avec Xdefaults, encore faut-il trouver laquelle.

      • [^] # Re: Xorg ou Kwin

        Posté par  . Évalué à 1. Dernière modification le 05 septembre 2021 à 12:26.

        xcalib est une commande, installable avec le gestionnaire de paquets. Ça te permet au moins de tester directement dans un terminal pour voir si le résultat est celui que tu attends. Si c'est le cas il suffira d'ajouter le lancement de cette commande à un raccourcis clavier de ton gestionnaire de fenêtre/bureau ou à un système de lancement automatique au démarrage.
        Comme tu parlais de Kmail, j'ai supposé que tu utilisais KDE, d'où ma référence à Kwin. Dans KDE tu as un gestionnaire de configuration qui se lance soit par les menus, soit par la commande systemsettings. Normalement ça te donne accès à la configuration des raccourcis claviers, et donc la possibilité dans créer. Si tu utilise bien KDE, je t'invite à regarder de ce coté là soit pour lancer xcalib soit pour utiliser l'effet natif, s'il existe encore. Si ça se trouve il n'y a rien à configurer et c'est actif par défaut sous KDE, tu as essayé de faire Meta+Ctrl+I/U au clavier ?

        • [^] # Re: Xorg ou Kwin : xcalib, KDE, Kmail, documentation man ou régression de code (dimanche)

          Posté par  . Évalué à -2. Dernière modification le 05 septembre 2021 à 19:03.

          # apt-get install xcalib
          Lecture des listes de paquets... Fait
          Construction de l'arbre des dépendances       
          Lecture des informations d'état... Fait
          Paquets suggérés :
            icc-profiles
          Les NOUVEAUX paquets suivants seront installés :
            xcalib
          0 mis à jour, 1 nouvellement installés, 0 à enlever et 2707 non mis à jour.
          Il est nécessaire de prendre 18,8 ko dans les archives.
          Après cette opération, 46,1 ko d'espace disque supplémentaires seront utilisés.
          Réception de:1 http://debian.proxad.net/debian oldstable/main amd64 xcalib amd64 0.8.dfsg1-2+b2 [18,8 kB]
          18,8 ko réceptionnés en 0s (81,3 ko/s)
          Sélection du paquet xcalib précédemment désélectionné.
          (Lecture de la base de données... 403824 fichiers et répertoires déjà installés.)
          Préparation du dépaquetage de .../xcalib_0.8.dfsg1-2+b2_amd64.deb ...
          Dépaquetage de xcalib (0.8.dfsg1-2+b2) ...
          Paramétrage de xcalib (0.8.dfsg1-2+b2) ...
          Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
          Erreur : Le délai d'attente est dépassé
          root@atilde:/home/a# man xcalib
          
          $ xcalib -invert -alter
          

          tout le bureau est en mode nuit /dev/tty3
          dehors il fait jour : /dev/tty*
          tous les terminaux fenêtrés sont en enneigés
          donc, ça solutionne le problème, mais d'une façon un peu violente

          Lorsqu'on s'est habitué à des codes couleurs avec certains applications, se retrouver avec des couleurs inversées peut revenir à mettre des chaussettes à un chat.

          le lien fourni plus haut donnait le paquet source de xcalib officiel
          (pour rappel 18 fichiers)
          dans lequel se trouve peut-être le moyen d'applique le résultat à une fenêtre en particulier, ce qui à mon avis n'est pas illusoire

          Ici est le code où naviguer :
          https://github.com/zoltanp/xcalib-src

          Le temps que l'on passe à écrire on ne le passe pas à chercher, et de toute façon je ne comprends pas le C. C'est un peu comme pour la justice, le temps qu'on passe à tenter de la saisir, on ne fait pas autre chose, c'est pourquoi généralement le peuple préfère s'en passer et préfère le Mode Gourdin.
          Les #Legaltech devraient changer ça pour les générations futures, qui sait ?

          Si c'est bien le code déjà copié plus haut :

          grep -R invert xcalib-0.8/
          xcalib-0.8/README:    -invert                 or -i
          xcalib-0.8/xcalib.c:  fprintf (stdout, "    -invert                 or -i\n");
          xcalib-0.8/xcalib.c:  int invert = 0;
          xcalib-0.8/xcalib.c:    /* invert the LUT */
          xcalib-0.8/xcalib.c:    if (!strcmp (argv[i], "-i") || !strcmp (argv[i], "-invert")) {
          xcalib-0.8/xcalib.c:      invert = 1;
          xcalib-0.8/xcalib.c:  if(!invert) {
          

          alors il est possible que la transformation soit effectuée à haut niveau, en ne puisse s'appliquer à une fenêtre sans réutilisation du code dans une application spécifique, ou une modification significative de l'existant.

          Quelqu'un pour confirmer ?
          /eof

          La question était bien que si on peut obtenir un mode jour|nuit,
          comment allumer la lumière, où se trouve l'interrupteur pour ne pas à avoir à chaque fois couper le compteur central avec le frigo ?

          La documentation est limitée.
          Le man xcalib est peu développé, comme bien des man récents. On n'y trouve aucune indications sur une utilisation avancée, ou des perspectives de recherche. C'est malheureusement le cas avec KDE, où rien n'est documenté, il n'y a aucun man.
          C'est sans doute un choix d'efficacité, en rapport avec un manque de moyens, un peu comme les logiciels Microsoft, aussi obscur qu'inexploitables en profondeur, mais très jolis et surtout efficaces. Les gains de Microsoft ne sont pas en rapport avec un prix élevé, mais une quantité élevée.

          Le code d'un logiciel libre est une documentation.
          KDE ne peut s'appuyer que sur du bénévolat, étudiants par exemple, et les dons effectués ne peuvent qu'être dérisoires au vu de la tâche à accomplir.
          Il est très regrettable que KDE ne puisse pas être plus documenté (on a les sources, donc quiconque sait les lire peut y contribuer, mais faut-il encore comprendre le C et avoir un peu de temps pour améliorer la doc et y placer son nom et son adresse pour pouvoir le valoriser plus tard si besoin)
          La doc n'est pas là seulement par confort, elle permet de inventer et exploiter à fond un logiciel, et pourvoir construire sur ses fondations ?
          La baisse de la qualité de la doc et l'augmentation des applications non documentées avec man, n'est-elle pas un symptôme de régression du libre ?
          L'exemple simple de Kmail me vient à l'esprit. Une fonction très utile permettait afficher et imprimer un message avec ses entêtes. Très utile pour indiquer des références précises et sûres de l'origine affichée d'un courriel, quand bien-même on se l'envoie à soit-même pour dater un document.
          Il s'agissait de la fonction Afficher/en-têtes/all headers.
          Cette fonction a été supprimée.
          Pour avoir tenté de regarder le code, il s'agissait d'un petit bout de code. Intégré dans une application gigantesque. Non modulaire en lui-même, il ne pouvait donc être ajouté sans être capable de recompiler l'application dans son entier.

          Burg eport
          Il m'a été répondu à la légère, lorsque j'avais signalé un rapport de bug, que c'était possible d'obtenir le code souce avec la fonction Afficher/Afficher le source.
          Oui, peut-être, mais ce n'est pas ce dont j'ai besoin, ça ne fait pas la même chose. Là le code du message est codé et inexploitable en l'état, et certainement pas imprimable pour que son contenu, hors références, puisse être lu par un humain. Ce n'est pas la même fonction, ce n'est pas le même résultat, et ce n'est pas la même application du résultat. On passe d'un texte lisible avec ses références d'entête à un texte brut codé non lisible.

          $ recode
          Il m'a aussi été répondu que je pouvais utiliser cet outil pour retrouver le codage lisible du texte.
          Un logiciel à apprendre pour un résultat incertain, mais qui a le mérite d'exister.
          Elle ne remplace toutefois pas la productivité de la fonction d'origine manquante, où d'un clic on avait le résultat escompté, en imposant un apprentissage supplémentaire, des copier-coller, et de sortir les données de l'application métier pour la traiter avec une bidouille.

          Une alternative ?
          J'ai recherché rapidement parmi les autres applications métier (lecteur courriel), aucun ne permettait d'imprimer en-têtes et texte. Parfois il était impossible d'obtenir les entêtes (ou je ne savais pas le faire gmail.com).

          REGRESSION DE CODE
          Le code écrit effacé a été produit, réfléchi et pensé par un humain.
          Cet humain a engagé une partie de sa vie à réaliser une fonction qu'il savait utile. D'autres sont passés derrière, n'y ont vu que du feu et l'on virée.

          Utiliser une version ancienne qui donne toute satisfaction pour se passer des nouvelles versions auxquelles il manque ces détails indispensables dans certains cas ?
          Dans le cas d'une application KDE, ça semble impossible tant il y a de dépendances. Mais pas impossible.

          Virtualisation
          Il y a d'abord la virtualisation qui permet d'émuler un environnement complet et d'interagir avec le système hôte sous certaines conditions. Efficace, mais qui requiert beaucoup de ressources sur l'unité de travail (faire tourner un système supplémentaire en parallèle). Et dont la configuration n'est pas anodine, voire quasi impossible pour un non initié.

          KDE multi-versions
          Installer plusieurs librairies de kde concurrentes pour faire tourner plusieurs générations de logiciels ensemble. Ce qui là aussi prend beaucoup de ressources, même si on pourrait imaginer utiliser des liens symboliques entre les fichiers partagés, pour réduire la complication. La configuration n'est pas anodine, voire quasi impossible pour un non initié.

          La solution la plus simple est de rajouter ce petit bout de code supprimé sans raison apparente, ne serait-ce que pour le temps passé par son auteur à produire une fonction qui utile et unique.

          • [^] # reverse: Xorg ou Kwin : framebuffer. xcalib, KDE, Kmail, man ou régression de code (dimanche)

            Posté par  . Évalué à -4.

            Sommaire

            [ http://linuxfr.org/autosatisfaction-réCURSIVE ]

            exemple d'un code couleur visible à l'écran
            https://twitter.com/PoliceNationale/status/1434120402104692739

            en couleurs inversées (voir le message précédent pour savoir comment procéder de façon simple avec une console, quand on ne sait pas attribuer un raccourcis clavier en mode console, par exemple depuis un shell csh en TTY, ou parce qu'on a d'autres priorités)
            $ xcalib -invert -alter

            les couleurs sont effectivement inversées et il faut mentalement faire cette distinction
            ce qui n'est pas extraordinaire, mais demande toujours un effort de plus, là où l'objectif est la simplification pour transformer un calvaire en efficacité
            si je tweete en mentionnant les codes couleurs pour qui ne voit pas l'image, le risque d'erreur judiciaire est accru ! #legaltech

            $ xcalib -invert -alter
            est donc nécessaire à nouveau pour revenir à l'état naturel

            on retrouve la même problématique ici pour l'attribution d'un raccourcis clavier à une commande concernant l'affichage (qui peut s'avérer utile si on se retrouve en noir sur noir ou blanc sur blanc, à moins de réaliser mentalement les opérations à effectuer, ce que fait font parfois les handicapés confrontés à des bugs dits mineurs)
            https://qastack.fr/ubuntu/326282/how-to-link-a-custom-keyboard-shortcut-to-a-bash-script-in-ubuntu-13-04
            la page fournit une méthode pour l'exemple de la commande
            $ xbacklight -inc / -dec 10
            https://qastack.fr/ubuntu/137117/how-do-i-launch-a-bash-script-using-a-keyboard-shortcut
            la page https://qastack.fr E404 étant soit en rtavaux soit en mode regression… on peut imaginer ceci fourni par l'excellent unix.stackexchange.com :
            https://unix.stackexchange.com/questions/171430/how-to-get-a-list-of-tcsh-shortcuts
            % bindkey
            pour découvrir la possibilité de raccourcis en mode console
            ou même
            https://wiki.archlinux.org/title/Keyboard_shortcuts_(Fran%C3%A7ais)
            (ni en anglais, ni en ubuntu, mais avec une documentation exceptionnelle)
            qu'il est possible d'attribuer des raccourcis claviers au plus bas niveau, celui du noyau.
            "
            Si la sortie de cette commande est:

            CONFIG_MAGIC_SYSRQ=y
            
            l'option existe, sinon, vous êtes bon pour une recompilation du noyau en l'activant.
            "
            

            Excellent moyen de découvrir les joies de la compilation lorsqu'on a un travail critique et urgent à boucler. (mais pourquoi ce type a viré cette fonction du noyau standard !)

            par curiosité, j'obtiens ceci :

            dog /proc/sys/kernel/sysrq

            bash: dog : commande introuvable
            root@atilde:/home/a# cat /proc/sys/kernel/sysrq
            438

            https://qastack.fr/ubuntu/147128/change-default-tty-shortcut
            propose sa solution
            "
            Vous pouvez utiliser bindpour lier une clé à une fonction. Voici ce que j'ai fait:

            bind '"\ea": ". ~/newScript.sh\n" '
            "
            

            et renvoie vers
            https://www.techrepublic.com/article/find-and-bind-key-sequences-in-bash/
            "
            The next step is to bind that key sequence to a particular shell command. For example, you can bind [F12] to the "history-search-backward" shell command:

            $ bind '"\e[24~": history-search-backward'
            "
            

            qui renvoie vers..

            (là vraiment on se dirait dans le cercle infernal de l'administration insaisissable, pour ceux qui ont déjà tenté d'obtenir un service de la justice par exemple, biais que les #legaltech devraient limiter)

            un fichier de configuration /etc présent depuis le début sur notre système de base disponible en init 1 :
            \o/
            $ cat /etc/inputrc
            # /etc/inputrc - global inputrc for libreadline
            # See readline(3readline) and `info rluserman' for more information.

            # Be 8 bit clean.
            set input-meta on
            set output-meta on
            
            # To allow the use of 8bit-characters like the german umlauts, uncomment
            # the line below. However this makes the meta key not work as a meta key,
            # which is annoying to those which don't need to type in 8-bit characters.
            
            # set convert-meta off
            
            # try to enable the application keypad when it is called.  Some systems
            # need this to enable the arrow keys.
            # set enable-keypad on
            
            # see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys
            
            # do not bell on tab-completion
            # set bell-style none
            # set bell-style visible
            
            # some defaults / modifications for the emacs mode
            $if mode=emacs
            
            # allow the use of the Home/End keys
            "\e[1~": beginning-of-line
            "\e[4~": end-of-line
            
            # allow the use of the Delete/Insert keys
            "\e[3~": delete-char
            "\e[2~": quoted-insert
            
            # mappings for "page up" and "page down" to step to the beginning/end
            # of the history
            # "\e[5~": beginning-of-history
            # "\e[6~": end-of-history
            
            # alternate mappings for "page up" and "page down" to search the history
            # "\e[5~": history-search-backward
            # "\e[6~": history-search-forward
            
            # mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
            "\e[1;5C": forward-word
            "\e[1;5D": backward-word
            "\e[5C": forward-word
            "\e[5D": backward-word
            "\e\e[C": forward-word
            "\e\e[D": backward-word
            
            $if term=rxvt
            "\e[7~": beginning-of-line
            "\e[8~": end-of-line
            "\eOc": forward-word
            "\eOd": backward-word
            $endif
            
            # for non RH/Debian xterm, can't hurt for RH/Debian xterm
            # "\eOH": beginning-of-line
            # "\eOF": end-of-line
            
            # for freebsd console
            # "\e[H": beginning-of-line
            # "\e[F": end-of-line
            
            $endif
            

            il suffit donc de modifier ce fichier pour ajouter notre fonction à un raccourcis clavier ?

            DOCUMENTÉ PAR MAN !!!!!
            man /etc/inputrc
            "

            /etc/inputrc ‐ global inputrc for libreadline # See read‐

            line(3readline) and ‘info rluserman’ for more information.

            Be 8 bit clean. set input‐meta on set output‐meta on

            To allow the use of 8bit‐characters like the german umlauts,

            uncomment # the line below. However this makes the meta key not
            work as a meta key, # which is annoying to those which don’t need
            to type in 8‐bit characters.

            set convert‐meta off

            try to enable the application keypad when it is called. Some

            systems # need this to enable the arrow keys. # set enable‐key‐
            pad on

            see /usr/share/doc/bash/inputrc.arrows for other codes of arrow

            keys

            do not bell on tab‐completion # set bell‐style none # set bell‐

            style visible

            some defaults / modifications for the emacs mode $if mode=emacs

            allow the use of the Home/End keys "[1~": beginning‐of‐line

            "[4~": end‐of‐line

            allow the use of the Delete/Insert keys "[3~": delete‐char

            "[2~": quoted‐insert

            mappings for "page up" and "page down" to step to the begin‐

            ning/end # of the history # "[5~": beginning‐of‐history #
            "[6~": end‐of‐history

            alternate mappings for "page up" and "page down" to search the

            history # "[5~": history‐search‐backward # "[6~": history‐
            search‐forward

            mappings for Ctrl‐left‐arrow and Ctrl‐right‐arrow for word mov‐

            ing "[1;5C": forward‐word "[1;5D": backward‐word "[5C": for‐
            ward‐word "[5D": backward‐word "\[C": forward‐word "\[D":
            backward‐word

            $if term=rxvt "[7~": beginning‐of‐line "[8~": end‐of‐line
            "\Oc": forward‐word "\Od": backward‐word $endif

            for non RH/Debian xterm, can’t hurt for RH/Debian xterm

            "\OH": beginning‐of‐line # "\OF": end‐of‐line

            for freebsd console # "[H": beginning‐of‐line # "[F": end‐of‐

            line

            $endif
            "
            de façon sommaire mais suffisamment exhaustive.

            qui nous renvoie à sont our à nos locaux
            man read‐line(3readline)
            $ man read[tab]
            read readelf readlinkat readproc
            readahead readfile readmsg readproctab
            readdir readline readmsg.mailutils readprofile
            readdir_r readlink readom readv
            introuvable donc
            et
            info rluserman
            $ info rluserman
            bash: info : commande introuvable
            tout aussi introuvable
            [encore une régression ??]

            pour ceux qui voudraient aller plus loin sur les "key"
            $ man key[tab]
            keyboard key_encryptsession keyok_sp
            keybound key_gendes keypad
            keybound_sp keymaps key_secretkey_is_set
            keyctl key_name key_setsecret
            key_decryptsession keyname keytool
            key_defined keyname_sp

            key_defined_sp keyok

            // notez qu'il vaut mieux quelques connaissances en C pour savoir quoi en faire
            // mais que la doc est là

            Faisant une pause, je décide de tester la commande mentionnée plus haut
            $ bind '"\e[24~": history-search-backward'
            désormais, la touche F12 agit comme les touches [flèche haut] et autres raccoucis emacs ou vi s'ils sont configurés

            $ bind --help
            bind: bind [-lpvsPSVX] [-m keymap] [-f nomfichier] [-q nom] [-u nom] [-r seqtouche] [-x seqtouche:commande-shell] [seqtouche:fonction-readline ou commande-readline]
            Définit les associations de touches et les variables de « Readline ».

            Associe une séquence de touches à une fonction « Readline » ou une macro, ou définit une
            variable « Readline ». La syntaxe des arguments non-options est équivalente à celle
            du fichier ~/.inputrc, mais doivent être transmis comme arguments uniques :
            ex : bind '"\C-x\C-r" : re-read-init-file'.
            
            Options :
              -m  keymap         Utilise KEYMAP comme mappage clavier pendant la
                                 durée de cette commande. Des noms de mappage valables
                                 sont « emacs », « emacs-standard », « emacs-meta », 
                                 « emacs-ctlx », « vi », « vi-move », « vi-command » et
                                 « vi-insert ».
              -l                 Affiche les noms de fonctions.
              -P                 Affiche les noms et associations des fonctions.
              -p                 Affiche les fonctions et associations dans une forme qui
                                 peut être réutilisée comme entrée.
              -S                 Affiche les séquences de touches qui invoquent des macros,
                                 et leurs valeurs.
              -s                 Affiche les séquences de touches qui invoquent des macros,
                                 et leurs valeurs sous une forme qui peut être utilisée comme entrée.
              -V                 Affiche les noms et valeurs des variables
              -v                 Affiche les noms et valeurs des variables dans une forme qui peut
                                 être réutilisée comme entrée.
              -q  nom-fonction   Permet de savoir quelles touches appellent la fonction.
              -u  nom-fonction   Enlève toutes les associations de touches liée à la fonction.
              -r  seqtouche      Enlève l'association pour « seqtouche ».
              -f  nomfichier     Lit l'association de touches depuis NOMFICHIER.
              -x  seqtouche:commande-shell      Entraîne l'exécution de la commande-shell
                                        lorsque « seqtouche » est entrée.
              -X                 Liste les séquences de touches liées à -x et les commandes associées
                                 sous une forme qui peut être réutilisée comme entrée.
            
            Code de sortie :
            « bind » renvoie 0 à moins qu'une option non reconnue ne soit donnée ou qu'une erreur survienne.
            

            toujours par curiosité, j'essaie ceci :
            $ bind '"\e[24~": xcalib -invert -alter'
            qui est censé donc lier la touche [F12] à l'invocation de la commande xcalib qui inverse les couleurs de l'ensemble du système (euh, les TX aussi ? ils vont être contents s'il y en a)

            rien ne se produit à l'appui de [F12]
            ce n'est donc pas si simple.

            juste au-dessus je vois qu'il y a une option -x de l'aide en ligne de bind traduite dans ma langue maternelle par un extraordinaire traducteur ! je décide donc de l'utiliser pour vérifier si sa traduction du C vers le français est compréhensible (oui car man bind est écrit en C)

            $ bind -x '"\e[24~": xcalib -invert -alter'

            [12]
            jour

            [12]
            nuit

            [12]
            jour

            [12]
            nuit

            [12]
            jour

            [12]
            nuit

            [12]
            jour

            [12]
            nuit

            bon, mais ça ne résoud toujours pas le problème initial de l'application de cette fonctionnalité à une fenêtre en particulier,
            qu'elle soit :
            https://fr.wikipedia.org/wiki/Gestionnaire_de_fen%C3%AAtres
            https://fr.wikipedia.org/wiki/Gestionnaire_de_fen%C3%AAtres#Gestionnaire_de_fen%C3%AAtre_par_pavage
            ou simplement
            https://www.linuxquestions.org/questions/linux-newbie-8/how-to-set-display-to-run-firefox-from-tty-799468/

            su -c alias F12='bind -x \'\"\e[24~\": xcalib -invert -alter\'' games

            donc, comment appliquer le résultat de
            $ xcalib -invert -alter
            non pas au système [global] mais à une application graphique [local],
            à partir d'une commande en console ou mieux d'un fichier de configuration en mode texte ?
            par exemple /proc/sys/kernel/sysrq (voir plus haut) ?

            pour aller plus loin, disponible sur [12]nal :
            https://linuxfr.org/users/postroutine/journaux/bash-et-les-raccourcis-clavier

            • [^] # Re: reverse: Xorg ou Kwin : framebuffer. xcalib, KDE, Kmail, man ou régression de code (dimanche)

              Posté par  . Évalué à 2.

              Pour info, j'ai pu tester sur un KDE Plasma de Ubuntu 20.04 aujourd'hui, le truc est pas actif par défaut mais il suffit de se rendre dans les paramètres systèmes (systemsettings) puis Comportement de l'espace de travail/effets de bureau/Accessibilité et enfin cocher Inverser. Les raccourcis clavier sont automatiquement activés (Ctrl+Meta+I pour tout l'affichage et Ctrl+Meta+U pour juste la fenêtre courante). Ça marche bien.

              • [^] # Re: reverse: Xorg ou Kwin : framebuffer. xcalib, KDE, Kmail, man ou régression de code (samedi)

                Posté par  . Évalué à -3. Dernière modification le 19 septembre 2024 à 19:34.

                D'après Garou ça dépend des versions
                https://linuxfr.org/forums/linux-gui/posts/raccourcis-de-commandes-sous-kde

                je viens d'essayer et ça fonctionne effectivemment,… en théorie
                $ systemsettings5 est de toute façon accessible depuis le menu de mate
                mais l'appui des touches doit être intercepté par kwin qui n'est pas lancé en ce moment dans mon cas

                KDE est toujours très en avance, modulo qu'ils saccagent les applis en virant des fonctionnalités à kmail (dont la fonction "display all headers qui permet d'afficher les en-tête en haut du message, très pratique, cf infra)
                très pénible aussi le manque de documentation, dont les pages man et l'aide --help peu développée, mais c'est le pendant à l'efficacité des développements d'application où sont investis les moyens plutôt que dans la doc (et peut-être même l'interopérabilité poru l'externalisation de fonctionnalités, ce qui reste à démontrer)

                $ man kwin
                Aucune entrée de manuel pour kwin
                voir « man 7 undocumented » pour obtenir de l'aide quand les pages de manuel ne sont pas disponibles.

                mate kmail sur un bug mozilla firefox nightly twitter

                https://twitter.com/tqsp/status/1436381413255823364/photo/1
                https://twitter.com/tqsp/status/1436387009141018633/photo/2

                • on peut toujours utiliser man xmodmap pour assigner un raccourcis mais encore faut-il avoir accès à la fonction à appeler ou le paramètre à modifier pour inverser les couleurs de kmail sans changer l'ensemble du système comme avec jour-nuit.sh

                jour-nuit.sh :

                #!/bin/sh /usr/bin/xcalib -invert -alter  # jour/nuit (y compris les TTY)
                
                • => je souhaiterais y faire appel depuis une console existe-t-il un moyen d'obtenir les fonctions appelées ? (peut-être avec des fonctions de débug ?) est-ce une fonction impossible à externaliser de kde ?

                en tout cas ça fonctionne une fois lancé kwin :
                [M-C-U] # jour/nuit sur la fenêtre xterm
                [M-C-I] # jour/nuit sur le bureau mate

                $ kwin_x11 --replace --no-kactivities # options choisies au hasard
                QXcbConnection: XCB error: 3 (BadWindow), sequence: 4138, resource id: 245366789, major code: 3 (GetWindowAttributes), minor code: 0
                QXcbConnection: XCB error: 9 (BadDrawable), sequence: 4139, resource id: 245366789, major code: 14 (GetGeometry), minor code: 0
                QXcbConnection: XCB error: 3 (BadWindow), sequence: 4142, resource id: 245366790, major code: 3 (GetWindowAttributes), minor code: 0
                QXcbConnection: XCB error: 9 (BadDrawable), sequence: 4143, resource id: 245366790, major code: 14 (GetGeometry), minor code: 0
                QXcbConnection: XCB error: 3 (BadWindow), sequence: 4146, resource id: 245366791, major code: 3 (GetWindowAttributes), minor code: 0
                QXcbConnection: XCB error: 9 (BadDrawable), sequence: 4147, resource id: 245366791, major code: 14 (GetGeometry), minor code: 0
                QXcbConnection: XCB error: 3 (BadWindow), sequence: 4150, resource id: 245366792, major code: 3 (GetWindowAttributes), minor code: 0
                QXcbConnection: XCB error: 9 (BadDrawable), sequence: 4151, resource id: 245366792, major code: 14 (GetGeometry), minor code: 0
                QXcbConnection: XCB error: 3 (BadWindow), sequence: 4154, resource id: 245366793, major code: 3 (GetWindowAttributes), minor code: 0
                QXcbConnection: XCB error: 9 (BadDrawable), sequence: 4155, resource id: 245366793, major code: 14 (GetGeometry), minor code: 0
                QXcbConnection: XCB error: 3 (BadWindow), sequence: 4158, resource id: 245366794, major code: 3 (GetWindowAttributes), minor code: 0
                QXcbConnection: XCB error: 9 (BadDrawable), sequence: 4159, resource id: 245366794, major code: 14 (GetGeometry), minor code: 0
                QXcbConnection: XCB error: 3 (BadWindow), sequence: 4162, resource id: 245366795, major code: 3 (GetWindowAttributes), minor code: 0
                QXcbConnection: XCB error: 9 (BadDrawable), sequence: 4163, resource id: 245366795, major code: 14 (GetGeometry), minor code: 0
                QXcbConnection: XCB error: 3 (BadWindow), sequence: 4166, resource id: 245366796, major code: 3 (GetWindowAttributes), minor code: 0
                QXcbConnection: XCB error: 9 (BadDrawable), sequence: 4167, resource id: 245366796, major code: 14 (GetGeometry), minor code: 0
                QXcbConnection: XCB error: 3 (BadWindow), sequence: 4170, resource id: 245366797, major code: 3 (GetWindowAttributes), minor code: 0
                QXcbConnection: XCB error: 9 (BadDrawable), sequence: 4171, resource id: 245366797, major code: 14 (GetGeometry), minor code: 0
                QXcbConnection: XCB error: 3 (BadWindow), sequence: 4174, resource id: 245366798, major code: 3 (GetWindowAttributes), minor code: 0
                QXcbConnection: XCB error: 9 (BadDrawable), sequence: 4175, resource id: 245366798, major code: 14 (GetGeometry), minor code: 0
                QXcbConnection: XCB error: 3 (BadWindow), sequence: 4178, resource id: 245366799, major code: 3 (GetWindowAttributes), minor code: 0
                QXcbConnection: XCB error: 9 (BadDrawable), sequence: 4179, resource id: 245366799, major code: 14 (GetGeometry), minor code: 0
                QXcbConnection: XCB error: 3 (BadWindow), sequence: 4182, resource id: 245366800, major code: 3 (GetWindowAttributes), minor code: 0
                QXcbConnection: XCB error: 9 (BadDrawable), sequence: 4183, resource id: 245366800, major code: 14 (GetGeometry), minor code: 0
                OpenGL vendor string:                   nouveau
                OpenGL renderer string:                 Gallium 0.4 on NVC1
                OpenGL version string:                  3.0 Mesa 13.0.6
                OpenGL shading language version string: 1.30
                Driver:                                 Nouveau
                GPU class:                              Unknown
                OpenGL version:                         3.0
                GLSL version:                           1.30
                Mesa version:                           13.0.6
                X server version:                       1.19.2
                Linux kernel version:                   5.2
                Requires strict binding:                yes
                GLSL shaders:                           yes
                Texture NPOT support:                   yes
                Virtual Machine:                        no
                
                
                Couldn't find node arrow-left. Skipping rendering.
                Couldn't find node arrow-right. Skipping rendering.
                Couldn't find node arrow-up. Skipping rendering.
                Couldn't find node arrow-down. Skipping rendering.
                QXcbConnection: XCB error: 3 (BadWindow), sequence: 7792, resource id: 245367158, major code: 20 (GetProperty), minor code: 0

                Pour résumer, je sais maintenant inverser les couleurs sur le système, sur le bureau (avec kwin), ou sur une fenêtre (avec kwin), avec des raccourcis claviers.
                Je sais qu'il y a une multitude de possibilités d'attribuer et modifier des raccourcis clavier depuis le noyau, depuis le système, depuis le bureau, depuis une application
                => je ne sais toujours pas comment relier les fonctionnalités de kwin à un programme externe comme un .sh, ou simplement l'activer depuis la console (par exemple interagir sur le raccourcis clavier ou sur les fenêtres indépendamment SANS les raccourcis clavier, par ssh par exemple)

                BUG : l'image du bureau est saccadée et clignotte une fraction de seconde quand je fais défiler l'écran ou que modifie la vue active du bureau, des artefacts apparaissent quand je déplace une fenêtre, ces défauts cessent quand on ferme kwin

                fermer kwin et retour à la situation initiale avec $ marco
                pas eu besoin de repasser en TTY dans mon cas avec des consoles ouvertes et l'accès au navigateur possible sur le bureau actif, mais penser que quand kwin s'arrête, il n'y plus de gestionnaire de fenêtre en fonctionnement, il faut donc en relancer une appli comme marco :

                $ kwin_x11 --replace --no-kactivities;marco& # par exemple
                ou
                $ marco --replace
                Avertissement du gestionnaire de fenêtres : Log level 16: g_object_set_valist: object class 'MetaFrames' has no property named 'type'
                [Control]+[-z]
                [1]+  Stoppé                 marco --replace
                a@atilde:~$ bg
                

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.