Tasti aggiuntivi del mouse adattivi.

Aperto da Tony, Mercoledì 26 Settembre 2018, 19:40:15

Discussione precedente - Discussione successiva

Tony

Ciao a tutti.
Ho un mouse con un paio di tasti in più che avevo configurato tramite xbindkeys per far in modo che zommassero, replicando ctrl+ e ctrl- ossia ctrl+la rotella del mouse.
Ebbene, ho deciso di dargli gli steroidi.
Diciamo che quei tasti diventavano inutili al di fuori di applicazioni come browser, lettori di immagini, pdf o libreoffice e simili.
Ad esempio eseguivano ovviamente lo zoom anche in thunar, cosa che non mi interessa.
Oppure in applicazioni multimediali come clementine non avevano alcuna utilità.
Invece, volevo che anche qui fossero di una qualche utilità.
Ecco cosa ho ottenuto dopo le mie modifiche.
xbindkeys adesso richiama due script a seconda di quale tasto premo.
Quegli script, a loro, volta vedono che applicazione ha il focus ed i tasti aggiuntivi del mouse eseguono una funzione specifica per quel tipo di applicazione.
Ad esempio di default continuano a zoomare, cosa utile in firefox, nei lettori di documenti, in writer...
Se, invece, sono in clementine cambiano automaticamente funzione: uno va alla traccia successiva mentre l'altro alla precedente.
Se mi trovo in gedit saltano avanti/indietro di una parola.
Se sono in thunar vanno avanti/indietro nella cronologia delle cartelle sfogliate.
Se sono nel terminale (xfce4-terminal nel mio caso) vanno avanti/indietro nella cronologia.
Per far funzionare la cosa ho fatto come segue, presumendo che conosciate e sappiate far funzionare xbindkeys altrimenti qui c'è un topic di richiesta d'aiuto nel quale ho fornito delle spiegazioni.
Il file .xbindkeysrc nella home va configurato così

"/home/tony/Script/zoom-.sh"
b:9 + Release

"/home/tony/Script/zoom+.sh"
b:8 + Release


Apportate le modifiche che si rendono necessarie ai percorsi/nomi file e numero del bottone del mouse.
Lo script che ho chiamato zoom-.sh contiene queste istruzioni

#!/bin/bash
finestra=$(cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm") #scopro il programma della finestra attiva
case $finestra in
Thunar ) xdotool key Alt+Left ;; #Dietro nella cronologia
gedit ) xdotool key Ctrl+Left ;; #Indietro di una parola
clementine ) xdotool key F5 ;; #Traccia precedente
"Main Thread" ) xdotool key b ;; #Traccia precedente
xfce4-terminal | synaptic | panel-7-whisker ) xdotool key Up ;; #Comando precedente nello storico/su
polkit-gnome-au | budgie-polkit-d ) xdotool type bnei7n ; xdotool key Return ;; #Accedi con password
xfdesktop ) xdotool key Alt+F2 ; xdotool key Down ;; #Apri app finder
xfce4-appfinder ) xdotool key Up ;; #Scorri in alto
soffice.bin ) xdotool keydown ctrl ; xdotool click 4 ; xdotool keyup ctrl ;; #Zomma più
* ) xdotool keydown ctrl ; xdotool key KP_Add ; xdotool keyup ctrl ;; #Zoom +
esac


L'altro script che ho chiamato zoom+.sh contiene queste istruzioni

#!/bin/bash -x
finestra=$(cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm") #scopro il programma della finestra attiva
case $finestra in
Thunar ) xdotool key Alt+Right ;; #Avanti nella cronologia
gedit ) xdotool key Ctrl+Right ;; #Avanti di una parola
clementine ) xdotool key F8 ;; #Traccia successiva
"Main Thread" ) xdotool key n ;; #Traccia successiva
xfce4-terminal | synaptic | panel-7-whisker ) xdotool key Down ;; #Comando successivo nello storico/giù
polkit-gnome-au | budgie-polkit-d ) xdotool type bnei7n ; xdotool key Return ;; #Accedi con password
xfdesktop ) xdotool key Alt+F2 ; xdotool key Down ;; #Apri app finder
xfce4-appfinder ) xdotool key Down ;; #Scorri in basso
soffice.bin ) xdotool keydown ctrl ; xdotool click 5 ; xdotool keyup ctrl ;; #Zomma meno
* ) xdotool keydown ctrl ; xdotool key KP_Subtract ; xdotool keyup ctrl ;; #Zoom -
esac

Ovviamente, apportata le modifiche necessarie o che vi aggradano e date i permessi di esecuzione agli script.
:ciao:

Linux non è solo un sistema operativo ma...
"È uno stato mentale, dove prima ti perdi e poi ti ritrovi"
(cit. Point Break).
Il mio pc.

Tony

Ah, un paio di precisazioni.
Perché la cosa funzioni è richiesta l'installazione di xdotool.
Inoltre, per conoscere il nome del programma della finestra attiva, utilizzate
sleep 5 ; cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm"
Dato il comando nel terminale, scegliete entro cinque secondi la finestra di interesse, attendete un po' e tornate al terminale che vi darà il nome esatto del programma.
Quel nome va inserito negli script, come si può vedere prima della parentesi.
Comunque, se vi volete cimentare e avete bisogno di aiuto, sono qui.
Ariciao. :ciao:

Linux non è solo un sistema operativo ma...
"È uno stato mentale, dove prima ti perdi e poi ti ritrovi"
(cit. Point Break).
Il mio pc.

evilwillneverdie

Che il Grande Pinguino ti benedica, Tony. A mio avviso per rendere quasi perfette le ns distro (io mi riferisco in particolare a quelle con Gnome) bbasterebbe avere delle gestures un po' evolute che rendano più fruibili le potenzialità dei DE e dei tools di sistema...

Tony

#3
Queste sono chicche.
Ci sono carenze ben peggiori.
Ad esempio, proprio ora mi scontro con lettori di immagini, come Ristretto, che non hanno l'opzione per stampare o lettori di pdf  (Evince) che sulla barra non hanno i tasti per scorrere le pagine.
Assurdo.

Linux non è solo un sistema operativo ma...
"È uno stato mentale, dove prima ti perdi e poi ti ritrovi"
(cit. Point Break).
Il mio pc.

evilwillneverdie


Cavaleri Omar

Citazione di: Tony il Venerdì 28 Settembre 2018, 16:13:02
Ad esempio, proprio ora mi scontro con lettori di immagini, come Ristretto, che non hanno l'opzione per stampare o lettori di pdf  (Evince) che sulla barra non hanno i tasti per scorrere le pagine.

Coooosa? :o :o :o

E io che avevo il coraggio di lamentarmi che Okular era forse troppo "fornito" di funzioni per leggere solo PDF  :embarrassed:
È meglio essere temuti o rispettati? Io dico: è troppo chiedere entrambe le cose?

Non so se sia peggio un patito di KDE, un otaku o ancora un alfista... nel dubbio meglio essere tutt'e tre

Tony

Devo provarlo.
Comunque, ci sono state parecchie regressioni in diversi software, almeno su xfce che uso io. Su gli altri DE non so.
Per dirne un'altra, gedit ha la barra integrata con funzioni che da sinistra sono saltate a destra. Inoltre, visivamente, mal si amalgama con le altre finestre.
O si fa la barra integrata per thunar e per tutto il resto oppure sembra di saltare da un DE ad un altro.
Vabbe', mi fermo con l'off topic.

Linux non è solo un sistema operativo ma...
"È uno stato mentale, dove prima ti perdi e poi ti ritrovi"
(cit. Point Break).
Il mio pc.

Cavaleri Omar

Ma quindi davvero quelli di Gnome & Co fanno davvero le cose così a casaccio?

Si vede che con KDE sono troppo viziato, dato che non c'è nulla di mal integrato... Solo libreoffice cioccava un po', ma ora che ho la barra dei menu sostituita da un'icona in quella del titolo come in tutti i global menu di KDE non c'è un programma che non sia nel medesimo stile...

Ma il continuare a modificare e tagliare senza sosta non è un po' uno spreco di risorse e non va a danneggiare gli utenti?

Magari dopo la risposta chiudiamo l'off-topic
È meglio essere temuti o rispettati? Io dico: è troppo chiedere entrambe le cose?

Non so se sia peggio un patito di KDE, un otaku o ancora un alfista... nel dubbio meglio essere tutt'e tre

Powered by EzPortal