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 tetraf . É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 Patrick Trauquesègues . É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 tetraf . É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 lancerxcalib
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 Patrick Trauquesègues . Évalué à -2. Dernière modification le 05 septembre 2021 à 19:03.
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 :
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 Patrick Trauquesègues . É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:
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:
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:
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.
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 ».
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 tetraf . É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 Patrick Trauquesègues . É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
jour-nuit.sh :
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
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 :
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.