Εναλλακτική διαχείριση παραθύρων στο Linux

Είμαι ένας από αυτούς που έχουν ρυθμίσει το Caps Lock να αλλάζει διάταξη γιατί είμαι πολύ τεμπέλης για να πατήσω 2 πλήκτρα όταν μπορώ να πατήσω ένα. Θα ήθελα ακόμη και 2 περιττά πλήκτρα: Θα χρησιμοποιούσα το ένα για να ενεργοποιήσω την αγγλική διάταξη και το δεύτερο για τα ρωσικά. Αλλά το δεύτερο περιττό κλειδί είναι να καλέσετε το μενού περιβάλλοντος, το οποίο είναι τόσο περιττό που κόβεται από πολλούς κατασκευαστές φορητών υπολογιστών. Πρέπει λοιπόν να είσαι ικανοποιημένος με αυτά που έχεις.

Επίσης, δεν θέλω να αναζητώ τα εικονίδια τους στη γραμμή εργασιών κατά την εναλλαγή των παραθύρων ή να πιάνω τα ονόματα κατά την κύλιση Alt + Tab, κύλιση σε επιτραπέζιους υπολογιστές κ.λπ. Θέλω να πατήσω έναν συνδυασμό πλήκτρων (ιδανικά μόνο ένα, αλλά δεν υπάρχουν πια δωρεάν περιττά πλήκτρα) και να φτάσω αμέσως στο παράθυρο που χρειάζομαι. Για παράδειγμα όπως αυτό:

  • Alt+F: Firefox
  • Alt+D: Firefox (Ιδιωτική περιήγηση)
  • Alt+T: Τερματικό
  • Alt+M: Αριθμομηχανή
  • Alt+E: IntelliJ Idea
  • και τα λοιπά.

Επιπλέον, πατώντας, για παράδειγμα, στο Alt+M Θέλω να δω την αριθμομηχανή ανεξάρτητα από το αν αυτό το πρόγραμμα εκτελείται αυτήν τη στιγμή. Εάν εκτελείται, τότε πρέπει να δοθεί εστίαση στο παράθυρό του και, αν όχι, εκτελέστε το επιθυμητό πρόγραμμα και μεταφέρετε την εστίαση όταν φορτωθεί.

Για περιπτώσεις που δεν καλύπτονται από το προηγούμενο σενάριο, θέλω να έχω καθολικούς συνδυασμούς πλήκτρων που μπορούν εύκολα να αντιστοιχιστούν σε οποιοδήποτε από τα ανοιχτά παράθυρα. Για παράδειγμα, έχω αναθέσει 10 συνδυασμούς από Alt + 1 να Alt + 0, τα οποία δεν συνδέονται με κανένα πρόγραμμα. Μπορώ απλώς να κάνω κλικ Alt + 1 και το παράθυρο που εστιάζεται αυτήν τη στιγμή θα εστιάζει όταν κάνετε κλικ Alt + 1.

Κάτω από την περικοπή υπάρχει μια περιγραφή δύο ακόμη χαρακτηριστικών και μια απάντηση στο πώς μπορεί να γίνει αυτό. Αλλά θα σας προειδοποιήσω αμέσως ότι μια τέτοια προσαρμογή "για τον εαυτό σας" μπορεί να προκαλέσει σοβαρό εθισμό και ακόμη και απόσυρση εάν χρειαστεί να χρησιμοποιήσετε Windows, Mac OS ή ακόμα και τον υπολογιστή κάποιου άλλου με Linux.

Στην πραγματικότητα, αν το καλοσκεφτείτε, δεν χρησιμοποιούμε τόσα πολλά προγράμματα σε καθημερινή βάση. Ένα πρόγραμμα περιήγησης, ένα τερματικό, ένα IDE, κάποιο είδος messenger, ένας διαχειριστής αρχείων, μια αριθμομηχανή και, ίσως, αυτό είναι σχεδόν όλο. Δεν απαιτούνται πολλοί συνδυασμοί πλήκτρων για την κάλυψη του 95% των καθημερινών εργασιών.

Για προγράμματα που έχουν πολλά ανοιχτά παράθυρα, ένα από αυτά μπορεί να οριστεί ως το κύριο. Για παράδειγμα, έχετε πολλά παράθυρα IntelliJ Idea ανοιχτά και σε αυτά έχουν εκχωρηθεί Alt + E. Υπό κανονικές συνθήκες, όταν πατάτε Alt + E θα ανοίξει κάποιο παράθυρο αυτού του προγράμματος, πιθανότατα αυτό που άνοιξε πρώτο. Ωστόσο, εάν κάνετε κλικ στο Alt + E όταν ένα από τα παράθυρα αυτού του προγράμματος είναι ήδη εστιασμένο, τότε αυτό το συγκεκριμένο παράθυρο θα εκχωρηθεί ως το κύριο και θα είναι αυτό στο οποίο θα δοθεί εστίαση όταν πατηθούν οι επόμενοι συνδυασμοί.

Το κύριο παράθυρο μπορεί να αντιστοιχιστεί εκ νέου. Για να το κάνετε αυτό, πρέπει πρώτα να επαναφέρετε τον συνδυασμό και, στη συνέχεια, να του αντιστοιχίσετε ένα άλλο παράθυρο ως κύριο παράθυρο. Για να επαναφέρετε έναν συνδυασμό, πρέπει να πατήσετε τον ίδιο τον συνδυασμό και, στη συνέχεια, έναν ειδικό συνδυασμό επαναφοράς, τον έχω αντιστοιχίσει σε Alt+Backspace. Αυτό θα καλέσει ένα σενάριο που θα καταργήσει την αντιστοίχιση του κύριου παραθύρου για τον προηγούμενο συνδυασμό. Στη συνέχεια, μπορείτε να αντιστοιχίσετε ένα νέο κύριο παράθυρο όπως περιγράφεται στην προηγούμενη παράγραφο. Η επαναφορά ενός συνδεδεμένου παραθύρου σε καθολικούς συνδυασμούς γίνεται με τον ίδιο τρόπο.

Η εισαγωγή αποδείχθηκε μεγάλη, αλλά ήθελα να πω πρώτα τι θα κάνουμε και μετά να εξηγήσω πώς να το κάνουμε.

Για όσους έχουν βαρεθεί να διαβάζουν

Εν ολίγοις, ο σύνδεσμος με τα σενάρια βρίσκεται στο τέλος του άρθρου.

Αλλά και πάλι δεν θα μπορείτε να το εγκαταστήσετε και να το χρησιμοποιήσετε αμέσως. Θα πρέπει πρώτα να καταλάβετε πώς το σενάριο βρίσκει το επιθυμητό παράθυρο. Χωρίς αυτό, δεν θα είναι δυνατό να πούμε στο σενάριο πού ακριβώς πρέπει να μεταφερθεί η εστίαση. Και πρέπει να καταλάβετε τι να κάνετε εάν ξαφνικά δεν βρεθεί ένα κατάλληλο παράθυρο.

Και δεν θα εστιάσω στον τρόπο διαμόρφωσης της εκτέλεσης σεναρίων πατώντας συνδυασμούς πλήκτρων. Για παράδειγμα, στο KDE βρίσκεται στις Ρυθμίσεις συστήματος → Συντομεύσεις → Προσαρμοσμένες συντομεύσεις. Αυτό θα πρέπει να συμβαίνει και σε άλλους διαχειριστές παραθύρων.

Παρουσιάζοντας το wmctrl

Wmctrl — βοηθητικό πρόγραμμα κονσόλας για αλληλεπίδραση με το X Window Manager. Αυτό είναι το βασικό πρόγραμμα για το σενάριο. Ας ρίξουμε μια γρήγορη ματιά στο πώς μπορείτε να το χρησιμοποιήσετε.

Αρχικά, ας εμφανίσουμε μια λίστα με ανοιχτά παράθυρα:

$ wmctrl -lx
0x01e0000e -1 plasmashell.plasmashell             N/A Desktop — Plasma
0x01e0001e -1 plasmashell.plasmashell             N/A Plasma
0x03a00001  0 skype.Skype                         N/A Skype
0x04400003  0 Navigator.Firefox                   N/A Google Переводчик - Mozilla Firefox
0x04400218  0 Navigator.Firefox                   N/A Лучшие публикации за сутки / Хабр - Mozilla Firefox (Private Browsing)
...

Επιλογή -l εμφανίζει μια λίστα με όλα τα ανοιχτά παράθυρα και προσθέτει το όνομα της κλάσης στην έξοδο (skype.Skype, Navigator.Firefox και τα λοιπά). Εδώ χρειαζόμαστε το αναγνωριστικό παραθύρου (στήλη 1), το όνομα της κλάσης (στήλη 3) και το όνομα του παραθύρου (τελευταία στήλη).

Μπορείτε να δοκιμάσετε να ενεργοποιήσετε κάποιο παράθυρο χρησιμοποιώντας την επιλογή -a:

$ wmctrl -a skype.Skype -x

Εάν όλα πήγαν σύμφωνα με το σχέδιο, το παράθυρο Skype θα πρέπει να εμφανιστεί στην οθόνη. Αν αντί για την επιλογή -x επιλογή χρήσης -i, τότε αντί για το όνομα της τάξης μπορείτε να καθορίσετε το αναγνωριστικό παραθύρου. Το πρόβλημα με το id είναι ότι το αναγνωριστικό παραθύρου αλλάζει κάθε φορά που εκκινείται η εφαρμογή και δεν μπορούμε να το γνωρίζουμε εκ των προτέρων. Από την άλλη πλευρά, αυτό το χαρακτηριστικό προσδιορίζει μοναδικά ένα παράθυρο, το οποίο μπορεί να είναι σημαντικό όταν μια εφαρμογή ανοίγει περισσότερα από ένα παράθυρα. Περισσότερα για αυτό λίγο παρακάτω.

Σε αυτό το στάδιο πρέπει να θυμόμαστε ότι θα αναζητήσουμε το επιθυμητό παράθυρο χρησιμοποιώντας regex με έξοδο wmctrl -lx. Αλλά αυτό δεν σημαίνει ότι πρέπει να χρησιμοποιήσουμε κάτι περίπλοκο. Συνήθως το όνομα της τάξης ή το όνομα παραθύρου είναι αρκετό.

Βασικά, η κύρια ιδέα πρέπει να είναι ήδη ξεκάθαρη. Στις καθολικές ρυθμίσεις πλήκτρων πρόσβασης/συντομεύσεων για τη διαχείριση παραθύρων, διαμορφώστε τον απαιτούμενο συνδυασμό για την εκτέλεση του σεναρίου.

Πώς να χρησιμοποιήσετε σενάρια

Πρώτα πρέπει να εγκαταστήσετε βοηθητικά προγράμματα κονσόλας wmctrl и xdotool:

$ sudo apt-get install wmctrl xdotool

Στη συνέχεια, πρέπει να κατεβάσετε τα σενάρια και να τα προσθέσετε $ PATH. Συνήθως τα βάζω ~/bin:

$ cd ~/bin
$ git clone https://github.com/masyamandev/Showwin-script.git
$ ln -s ./Showwin-script/showwin showwin
$ ln -s ./Showwin-script/showwinDetach showwinDetach

Εάν ο κατάλογος ~/bin δεν ήταν εκεί, τότε πρέπει να το δημιουργήσετε και να επανεκκινήσετε (ή να συνδεθείτε ξανά), διαφορετικά ~/bin δεν θα χτυπήσει $ PATH. Εάν όλα γίνονται σωστά, τότε τα σενάρια θα πρέπει να είναι προσβάσιμα από την κονσόλα και η ολοκλήρωση της καρτέλας θα πρέπει να λειτουργεί.

Κύριο σενάριο showwin παίρνει 2 παραμέτρους: η πρώτη είναι ένα regex, με το οποίο θα αναζητήσουμε το απαιτούμενο παράθυρο και η δεύτερη παράμετρος είναι μια εντολή που πρέπει να εκτελεστεί εάν δεν βρεθεί το απαιτούμενο παράθυρο.

Μπορείτε να δοκιμάσετε να εκτελέσετε ένα σενάριο, για παράδειγμα:

$ showwin "Mozilla Firefox$" firefox

Εάν είναι εγκατεστημένος ο Firefox, θα πρέπει να δοθεί εστίαση στο παράθυρό του. Ακόμα κι αν ο Firefox δεν εκτελούσε, θα έπρεπε να είχε ξεκινήσει.

Εάν λειτουργεί, τότε μπορείτε να προσπαθήσετε να διαμορφώσετε την εκτέλεση εντολών σε συνδυασμούς. Στις καθολικές ρυθμίσεις πλήκτρων πρόσβασης/συντομεύσεων προσθέστε:

  • Alt+F: showwin "Mozilla Firefox$" firefox
  • Alt+D: showwin "Mozilla Firefox (Ιδιωτική περιήγηση)$" "firefox -private-window"
  • Alt+C: showwin "chromium-browser.Chromium-browser N*" chromium-browser
  • Alt+X: showwin "chromium-browser.Chromium-browser I*" "chromium-browser -incognito"
  • Alt+S: showwin «skype.Skype» skypeforlinux
  • Alt+E: showwin “jetbrains-idea” idea.sh

Κλπ. Ο καθένας μπορεί να διαμορφώσει τους συνδυασμούς πλήκτρων και το λογισμικό όπως νομίζει.
Εάν όλα λειτουργούν σωστά, τότε χρησιμοποιώντας τους παραπάνω συνδυασμούς θα μπορούμε να κάνουμε εναλλαγή μεταξύ των παραθύρων πατώντας απλά τα πλήκτρα.

Θα απογοητεύσω τους λάτρεις του χρωμίου: μπορεί να διακρίνει ανώνυμα ένα κανονικό παράθυρο από την έξοδο του wmctrl Δεν μπορείτε, έχουν τα ίδια ονόματα κλάσεων και τίτλους παραθύρων. Στο προτεινόμενο regex, οι χαρακτήρες N* και I* χρειάζονται μόνο έτσι ώστε αυτές οι κανονικές εκφράσεις να διαφέρουν μεταξύ τους και να μπορούν να αντιστοιχιστούν ως κύρια παράθυρα.

Για να επαναφέρετε το κύριο παράθυρο του προηγούμενου συνδυασμού (στην πραγματικότητα για το regex, το οποίο showwin κλήθηκε την τελευταία φορά) πρέπει να καλέσετε το σενάριο showwinΑποσπάστε. Μου έχει εκχωρηθεί αυτό το σενάριο σε έναν συνδυασμό πλήκτρων Alt+Backspace.

Στο σενάριο showwin υπάρχει μια ακόμη λειτουργία. Όταν καλείται με μία παράμετρο (στην περίπτωση αυτή η παράμετρος είναι απλώς ένα αναγνωριστικό), δεν ελέγχει καθόλου το regex, αλλά θεωρεί ότι όλα τα παράθυρα είναι κατάλληλα. Αυτό από μόνο του φαίνεται άχρηστο, αλλά με αυτόν τον τρόπο μπορούμε να ορίσουμε οποιοδήποτε παράθυρο ως κύριο και να μεταβούμε γρήγορα στο συγκεκριμένο παράθυρο.

Έχω ρυθμίσει τους παρακάτω συνδυασμούς:

  • Alt+1: showwin "CustomKey1"
  • Alt+2: showwin "CustomKey2"
  • ...
  • Alt+0: showwin "CustomKey0"
  • Alt+Backspace: showwinDetach

Με αυτόν τον τρόπο μπορώ να συνδέσω οποιαδήποτε παράθυρα σε συνδυασμούς Alt + 1...Alt + 0. Απλά κάνοντας κλικ Alt + 1 Συνδέω το τρέχον παράθυρο σε αυτόν τον συνδυασμό. Μπορώ να ακυρώσω το δέσιμο κάνοντας κλικ Alt + 1και στη συνέχεια Alt+Backspace. Ή κλείστε το παράθυρο, λειτουργεί επίσης.

Στη συνέχεια θα σας πω μερικές τεχνικές λεπτομέρειες. Δεν χρειάζεται να τα διαβάσετε, αλλά απλώς προσπαθήστε να τα ρυθμίσετε και δείτε. Αλλά θα συνιστούσα να κατανοήσετε τα σενάρια άλλων ανθρώπων πριν τα εκτελέσετε στον υπολογιστή σας :).

Πώς να διακρίνετε διαφορετικά παράθυρα της ίδιας εφαρμογής

Κατ 'αρχήν, το πρώτο παράδειγμα "wmctrl -a skype.Skype -x" λειτουργούσε και μπορεί να χρησιμοποιηθεί. Ας δούμε όμως ξανά το παράδειγμα με τον Firefox, στο οποίο είναι ανοιχτά 2 παράθυρα:

0x04400003  0 Navigator.Firefox                   N/A Google Переводчик - Mozilla Firefox
0x04400218  0 Navigator.Firefox                   N/A Лучшие публикации за сутки / Хабр - Mozilla Firefox (Private Browsing)

Το πρώτο παράθυρο είναι κανονική λειτουργία και το δεύτερο είναι η Ιδιωτική περιήγηση. Θα ήθελα να θεωρήσω αυτά τα παράθυρα ως διαφορετικές εφαρμογές και να μεταβούν σε αυτά χρησιμοποιώντας διαφορετικούς συνδυασμούς πλήκτρων.

Είναι απαραίτητο να περιπλέκεται το σενάριο που αλλάζει τα παράθυρα. Χρησιμοποίησα αυτήν τη λύση: εμφανίστε μια λίστα με όλα τα παράθυρα, κάντε grep με regex, πάρτε την πρώτη γραμμή με κεφάλι, λάβετε την πρώτη στήλη (αυτή θα είναι το αναγνωριστικό παραθύρου) χρησιμοποιώντας κομμένα, μετάβαση σε παράθυρο με αναγνωριστικό.

Θα έπρεπε να υπάρχει ένα αστείο με κανονικές εκφράσεις και δύο προβλήματα, αλλά στην πραγματικότητα δεν χρησιμοποιώ τίποτα περίπλοκο. Χρειάζομαι κανονικές εκφράσεις για να μπορώ να υποδείξω το τέλος της γραμμής (το σύμβολο "$") και να διακρίνω το "Mozilla Firefox$" από το "Mozilla Firefox (Ιδιωτική περιήγηση)$".

Η εντολή μοιάζει κάπως έτσι:

$ wmctrl -i -a `wmctrl -lx | grep -i "Mozilla Firefox$" | head -1 | cut -d" " -f1`

Εδώ μπορείτε ήδη να μαντέψετε για τη δεύτερη δυνατότητα του σεναρίου: εάν το grep δεν επιστρέψει τίποτα, τότε η επιθυμητή εφαρμογή δεν είναι ανοιχτή και πρέπει να την ξεκινήσετε εκτελώντας την εντολή από τη δεύτερη παράμετρο. Και στη συνέχεια ελέγχετε περιοδικά αν έχει ανοίξει το απαιτούμενο παράθυρο για να μεταφέρετε την εστίαση σε αυτό. Δεν θα επικεντρωθώ σε αυτό· όποιος το χρειάζεται θα κοιτάξει τις πηγές.

Όταν τα παράθυρα εφαρμογών δεν διακρίνονται

Έτσι, μάθαμε πώς να μεταφέρουμε την εστίαση στο παράθυρο της επιθυμητής εφαρμογής. Τι γίνεται όμως αν μια εφαρμογή έχει ανοιχτά περισσότερα από ένα παράθυρα; Σε ποια να εστιάσω; Το παραπάνω σενάριο πιθανότατα θα μεταφερθεί στο πρώτο ανοιχτό παράθυρο. Ωστόσο, θα θέλαμε μεγαλύτερη ευελιξία. Θα ήθελα να μπορώ να θυμηθώ ποιο παράθυρο χρειαζόμαστε και να μεταβώ στο συγκεκριμένο παράθυρο.

Η ιδέα ήταν η εξής: Εάν θέλουμε να θυμόμαστε ένα συγκεκριμένο παράθυρο για έναν συνδυασμό πλήκτρων, τότε πρέπει να πατήσουμε αυτόν τον συνδυασμό όταν το επιθυμητό παράθυρο είναι εστιασμένο. Στο μέλλον, όταν πατήσετε αυτόν τον συνδυασμό, η εστίαση θα δοθεί σε αυτό το παράθυρο. Μέχρι να κλείσει το παράθυρο ή να κάνουμε επαναφορά για αυτόν τον συνδυασμό σεναρίων showwinΑποσπάστε.

Αλγόριθμος σεναρίου showwin κάτι σαν αυτό:

  • Ελέγξτε αν θυμηθήκαμε προηγουμένως το αναγνωριστικό του παραθύρου στο οποίο πρέπει να μεταφερθεί η εστίαση.
    Εάν θυμάστε και υπάρχει ακόμα ένα τέτοιο παράθυρο, τότε μεταφέρουμε την εστίαση σε αυτό και βγαίνουμε.
  • Εξετάζουμε ποιο παράθυρο είναι επί του παρόντος στο επίκεντρο και αν ταιριάζει με το αίτημά μας, θυμηθείτε το αναγνωριστικό του για να μεταβείτε σε αυτό στο μέλλον και να βγείτε.
  • Πηγαίνουμε τουλάχιστον σε κάποιο κατάλληλο παράθυρο αν υπάρχει ή ανοίγουμε την επιθυμητή εφαρμογή.

Μπορείτε να μάθετε ποιο παράθυρο εστιάζεται αυτήν τη στιγμή χρησιμοποιώντας το βοηθητικό πρόγραμμα κονσόλας xdotool μετατρέποντας την έξοδο του σε δεκαεξαδική μορφή:

$ printf "0x%08x" `xdotool getwindowfocus`

Ο ευκολότερος τρόπος για να θυμάστε κάτι στο bash είναι να δημιουργήσετε αρχεία σε ένα εικονικό σύστημα αρχείων που βρίσκεται στη μνήμη. Στο Ubuntu αυτό είναι ενεργοποιημένο από προεπιλογή /dev/shm/. Δεν μπορώ να πω τίποτα για άλλες διανομές, ελπίζω να υπάρχει και κάτι παρόμοιο. Μπορείτε να δείτε με την εντολή:

$ mount -l | grep tmpfs

Το σενάριο θα δημιουργήσει κενούς καταλόγους σε αυτόν τον φάκελο, όπως αυτό: /dev/shm/$USER/showwin/$SEARCH_REGEX/$WINDOW_ID. Επιπλέον, κάθε φορά που καλείται θα δημιουργεί έναν συμβολικό σύνδεσμο /dev/shm/$USER/showwin/showwin_last επί /dev/shm/$USER/showwin/$SEARCH_REGEX. Αυτό θα χρειαστεί για να αφαιρέσετε, εάν είναι απαραίτητο, το αναγνωριστικό παραθύρου για έναν συγκεκριμένο συνδυασμό χρησιμοποιώντας ένα σενάριο showwinΑποσπάστε.

Τι μπορεί να βελτιωθεί

Πρώτον, τα σενάρια πρέπει να ρυθμιστούν χειροκίνητα. Σίγουρα, λόγω της ανάγκης να εμβαθύνετε και να κάνετε πολλά με τα χέρια σας, πολλοί από εσάς δεν θα προσπαθήσετε καν να ρυθμίσετε το σύστημα. Εάν ήταν δυνατό να εγκαταστήσετε απλώς το πακέτο και να ρυθμίσετε τα πάντα πιο εύκολα, τότε ίσως θα κέρδιζε κάποια δημοτικότητα. Και μετά κοιτάξτε, η εφαρμογή θα κυκλοφορήσει σε τυπικές διανομές.

Και ίσως μπορεί να γίνει πιο εύκολα. Εάν με το αναγνωριστικό ενός παραθύρου μπορείτε να μάθετε το αναγνωριστικό της διαδικασίας που το δημιούργησε και με το αναγνωριστικό της διαδικασίας μπορείτε να μάθετε ποια εντολή το δημιούργησε, τότε θα ήταν δυνατό να αυτοματοποιήσετε τη ρύθμιση. Στην πραγματικότητα, δεν κατάλαβα αν αυτό που έγραψα σε αυτή την παράγραφο ήταν εφικτό. Γεγονός είναι ότι προσωπικά είμαι ικανοποιημένος με τον τρόπο που λειτουργεί τώρα. Αλλά αν κάποιος άλλος εκτός από εμένα βρει την όλη προσέγγιση βολική και κάποιος τη βελτιώσει, τότε θα χαρώ να χρησιμοποιήσω μια καλύτερη λύση.

Ένα άλλο πρόβλημα, όπως έγραψα ήδη, είναι ότι σε ορισμένες περιπτώσεις τα παράθυρα δεν μπορούν να διακριθούν μεταξύ τους. Μέχρι στιγμής το έχω παρατηρήσει μόνο με incognito σε chrome/chromium, αλλά ίσως υπάρχει κάτι παρόμοιο κάπου αλλού. Ως τελευταία λύση, υπάρχει πάντα η επιλογή των καθολικών συνδυασμών Alt + 1...Alt + 0. Και πάλι, χρησιμοποιώ τον Firefox και για μένα προσωπικά αυτό το πρόβλημα δεν είναι σημαντικό.

Αλλά το σημαντικό πρόβλημα για μένα είναι ότι χρησιμοποιώ Mac OS για δουλειά και δεν μπορούσα να ρυθμίσω κάτι τέτοιο εκεί. χρησιμότητα wmctrl Νομίζω ότι μπόρεσα να το εγκαταστήσω, αλλά δεν λειτουργεί πραγματικά σε Mac OS. Κάτι μπορεί να γίνει με την εφαρμογή Automator, αλλά είναι τόσο αργό που δεν είναι βολικό στη χρήση ακόμα και όταν λειτουργεί. Επίσης, δεν μπορούσα να ρυθμίσω τους συνδυασμούς πλήκτρων ώστε να λειτουργούν σε όλα τα προγράμματα. Αν κάποιος βρει ξαφνικά μια λύση, θα χαρώ να τη χρησιμοποιήσω.

Αντί για ένα συμπέρασμα

Αποδείχθηκε ότι ήταν ένας απροσδόκητα μεγάλος αριθμός λέξεων για μια τόσο απλή φαινομενικά λειτουργικότητα. Ήθελα να μεταφέρω την ιδέα και να μην υπερφορτώνω το κείμενο, αλλά δεν έχω καταλάβει ακόμα πώς να το πω πιο απλά. Ίσως θα ήταν καλύτερο σε μορφή βίντεο, αλλά στους ανθρώπους δεν αρέσει έτσι εδώ.

Μίλησα λίγο για το τι υπάρχει κάτω από την κουκούλα του σεναρίου και πώς να το ρυθμίσω. Δεν μπήκα σε λεπτομέρειες του ίδιου του σεναρίου, αλλά είναι μόνο 50 γραμμές, επομένως δεν είναι δύσκολο να το καταλάβεις.

Ελπίζω ότι κάποιος άλλος θα δοκιμάσει αυτήν την ιδέα και ίσως ακόμη και να την εκτιμήσει. Μπορώ να πω για μένα ότι το σενάριο γράφτηκε πριν από περίπου 3 χρόνια και με βολεύει ΠΟΛΥ. Τόσο βολικό που προκαλεί σοβαρή ενόχληση όταν εργάζεστε με υπολογιστές άλλων ανθρώπων. Και με λειτουργικό MacBook.

Σύνδεσμος σε σενάρια

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο