การจัดการหน้าต่างทางเลือกใน Linux

ฉันเป็นหนึ่งในผู้ที่ตั้งค่า Caps Lock ให้สลับเค้าโครงเพราะฉันขี้เกียจเกินไปที่จะกด 2 ปุ่มเมื่อกดได้ปุ่มเดียว ฉันต้องการปุ่มที่ไม่จำเป็น 2 ปุ่ม: ฉันจะใช้ปุ่มหนึ่งเพื่อเปิดเค้าโครงภาษาอังกฤษและปุ่มที่สองสำหรับภาษารัสเซีย แต่คีย์ที่ไม่จำเป็นประการที่สองคือการเรียกเมนูบริบทซึ่งไม่จำเป็นมากจนผู้ผลิตแล็ปท็อปหลายรายถูกตัดออกไป ดังนั้นคุณต้องพอใจกับสิ่งที่คุณมี

และฉันไม่ต้องการมองหาไอคอนบนทาสก์บาร์เมื่อสลับหน้าต่างหรือจับชื่อเมื่อเลื่อนดู Alt + Tabเลื่อนดูเดสก์ท็อป ฯลฯ ฉันต้องการกดคีย์ผสม (ควรเป็นคีย์เดียว แต่ไม่มีคีย์ที่ไม่จำเป็นอีกต่อไป) และไปที่หน้าต่างที่ต้องการทันที ตัวอย่างเช่น:

  • Alt+F: ไฟร์ฟอกซ์
  • Alt+D: Firefox (การท่องเว็บแบบส่วนตัว)
  • Alt+T: เทอร์มินัล
  • Alt+M: เครื่องคิดเลข
  • Alt+E: แนวคิด IntelliJ
  • ฯลฯ

นอกจากนี้โดยการกด เช่น เปิด Alt+M ฉันต้องการดูเครื่องคิดเลขไม่ว่าโปรแกรมนี้กำลังทำงานอยู่หรือไม่ หากกำลังทำงานอยู่ จะต้องให้โฟกัสไปที่หน้าต่าง และหากไม่เป็นเช่นนั้น ให้เรียกใช้โปรแกรมที่ต้องการและถ่ายโอนโฟกัสเมื่อโหลด

สำหรับกรณีที่สคริปต์ก่อนหน้านี้ไม่ครอบคลุม ฉันต้องการให้คีย์ผสมสากลที่สามารถกำหนดให้กับหน้าต่างที่เปิดอยู่ได้อย่างง่ายดาย ตัวอย่างเช่น ฉันมีชุดค่าผสม 10 ชุดที่ได้รับมอบหมายจาก Alt + ฮิต ไปยัง Alt + ฮิตซึ่งไม่เชื่อมโยงกับโปรแกรมใดๆ ฉันก็สามารถคลิกได้ Alt + ฮิต และหน้าต่างที่อยู่ในโฟกัสจะได้รับโฟกัสเมื่อคลิก Alt + ฮิต.

ด้านล่างของการตัดมีคำอธิบายของคุณสมบัติเพิ่มเติมอีกสองสามอย่างและคำตอบว่าสามารถทำได้อย่างไร แต่ฉันจะเตือนคุณทันทีว่าการปรับแต่ง “เพื่อตัวคุณเอง” อาจทำให้เกิดการเสพติดอย่างรุนแรงและถึงขั้นถอนตัวได้หากคุณจำเป็นต้องใช้ Windows, Mac OS หรือแม้แต่คอมพิวเตอร์ของผู้อื่นที่มี Linux

ที่จริงแล้ว ถ้าคุณลองคิดดูดีๆ เราไม่ได้ใช้งานโปรแกรมมากมายขนาดนั้นในแต่ละวัน เบราว์เซอร์, เทอร์มินัล, IDE, เมสเซนเจอร์บางประเภท, ตัวจัดการไฟล์, เครื่องคิดเลข และบางทีอาจจะเป็นเกือบทั้งหมด ไม่จำเป็นต้องใช้คีย์ผสมจำนวนมากเพื่อให้ครอบคลุม 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 แสดงรายการหน้าต่างที่เปิดอยู่ทั้งหมด และ -NS ผนวกชื่อคลาสต่อท้ายผลลัพธ์ (สไกป์ สไกป์, นาวิเกเตอร์.Firefox ฯลฯ) ที่นี่เราต้องการรหัสหน้าต่าง (คอลัมน์ 1) ชื่อคลาส (คอลัมน์ 3) และชื่อหน้าต่าง (คอลัมน์สุดท้าย)

คุณสามารถลองเปิดใช้งานหน้าต่างบางบานได้โดยใช้ตัวเลือก -a:

$ wmctrl -a skype.Skype -x

หากทุกอย่างเป็นไปตามแผน หน้าต่าง Skype ควรปรากฏบนหน้าจอ ถ้าแทนที่จะเป็นตัวเลือก -x ใช้ตัวเลือก -iจากนั้นแทนที่จะระบุชื่อคลาส คุณสามารถระบุรหัสหน้าต่างได้ ปัญหาเกี่ยวกับ id คือ window id เปลี่ยนแปลงทุกครั้งที่เปิดแอปพลิเคชัน และเราไม่สามารถทราบล่วงหน้าได้ ในทางกลับกัน คุณลักษณะนี้จะระบุหน้าต่างโดยไม่ซ้ำกัน ซึ่งอาจมีความสำคัญเมื่อแอปพลิเคชันเปิดมากกว่าหนึ่งหน้าต่าง เพิ่มเติมเกี่ยวกับเรื่องนี้อีกเล็กน้อย

ในขั้นตอนนี้ เราต้องจำไว้ว่าเราจะค้นหาหน้าต่างที่ต้องการโดยใช้ regex ตามเอาต์พุต wmctrl -lx. แต่นั่นไม่ได้หมายความว่าเราต้องใช้สิ่งที่ซับซ้อน โดยปกติชื่อคลาสหรือชื่อหน้าต่างก็เพียงพอแล้ว

โดยพื้นฐานแล้ว แนวคิดหลักควรมีความชัดเจนอยู่แล้ว ในการตั้งค่าปุ่มลัด/ทางลัดส่วนกลางสำหรับตัวจัดการหน้าต่างของคุณ ให้กำหนดค่าชุดค่าผสมที่จำเป็นเพื่อรันสคริปต์

วิธีใช้สคริปต์

ก่อนอื่นคุณต้องติดตั้งยูทิลิตี้คอนโซล wmctrl и xdotool:

$ sudo apt-get install wmctrl xdotool

ต่อไปคุณจะต้องดาวน์โหลดสคริปต์และเพิ่มเข้าไป $ PATH. ฉันมักจะใส่พวกมันเข้าไป ~/ถังขยะ:

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

ถ้าไดเร็กทอรี ~/ถังขยะ ไม่ได้อยู่ที่นั่น คุณจะต้องสร้างมันขึ้นมาแล้วรีบูท (หรือเข้าสู่ระบบใหม่) มิฉะนั้น ~/ถังขยะ จะไม่ตี $ PATH. หากทุกอย่างถูกต้อง สคริปต์ควรจะสามารถเข้าถึงได้จากคอนโซล และการเติมแท็บควรจะทำงานได้

สคริปต์หลัก โชว์วิน รับ 2 พารามิเตอร์: อันแรกคือ regex ซึ่งเราจะค้นหาหน้าต่างที่ต้องการและพารามิเตอร์ตัวที่สองคือคำสั่งที่ต้องดำเนินการหากไม่พบหน้าต่างที่ต้องการ

คุณสามารถลองเรียกใช้สคริปต์ได้ ตัวอย่างเช่น:

$ showwin "Mozilla Firefox$" firefox

หากติดตั้ง Firefox หน้าต่างของมันควรจะได้รับการโฟกัส แม้ว่า Firefox จะไม่ได้ทำงานอยู่ แต่มันก็ควรจะเริ่มต้นแล้ว

หากใช้งานได้คุณสามารถลองกำหนดค่าการดำเนินการคำสั่งในชุดค่าผสมได้ ในการตั้งค่าปุ่มลัด/ทางลัดส่วนกลาง ให้เพิ่ม:

  • Alt+F: แสดง “Mozilla Firefox$” firefox
  • Alt+D: showwin "Mozilla Firefox (การเรียกดูแบบส่วนตัว)$" "firefox -private-window"
  • Alt+C: showwin "chromium-browser.Chromium-browser N*" โครเมียม-เบราว์เซอร์
  • Alt+X: showwin "chromium-browser.Chromium-browser I*" "chromium-browser -incognito"
  • Alt+S: แสดง skype.Skype skypeforlinux
  • Alt+E: showwin “jetbrains-idea” idea.sh

ฯลฯ ทุกคนสามารถกำหนดค่าชุดคีย์และซอฟต์แวร์ได้ตามที่เห็นสมควร
หากทุกอย่างทำงานได้อย่างถูกต้อง เราจะสามารถสลับระหว่างหน้าต่างต่างๆ ได้โดยการใช้ชุดค่าผสมข้างต้นเพียงแค่กดปุ่ม

ฉันจะทำให้คนรัก Chrome ผิดหวัง: มันสามารถแยกแยะหน้าต่างปกติโดยไม่ระบุตัวตนด้วยเอาต์พุตของมัน wmctrl คุณไม่สามารถทำได้ เนื่องจากมีชื่อคลาสและชื่อหน้าต่างเหมือนกัน ใน regex ที่เสนอ จำเป็นต้องใช้อักขระ N* และ I* เท่านั้น เพื่อให้นิพจน์ทั่วไปเหล่านี้แตกต่างกันและสามารถกำหนดให้เป็นหน้าต่างหลักได้

หากต้องการรีเซ็ตหน้าต่างหลักของชุดค่าผสมก่อนหน้า (อันที่จริงแล้วสำหรับ regex ซึ่ง โชว์วิน เรียกว่าครั้งล่าสุด) คุณต้องเรียกสคริปต์ showwinDetach. ฉันได้กำหนดสคริปต์นี้ให้กับคีย์ผสม Alt+Backspace.

ที่สคริปต์ โชว์วิน มีอีกหนึ่งฟังก์ชัน เมื่อเรียกด้วยพารามิเตอร์เดียว (ในกรณีนี้ พารามิเตอร์เป็นเพียงตัวระบุ) จะไม่ตรวจสอบ regex เลย แต่ถือว่าหน้าต่างทั้งหมดมีความเหมาะสม ในตัวมันเอง สิ่งนี้ดูเหมือนไร้ประโยชน์ แต่ด้วยวิธีนี้ เราสามารถกำหนดให้หน้าต่างใดๆ เป็นหน้าต่างหลัก และสลับไปยังหน้าต่างนั้นได้อย่างรวดเร็ว

ฉันมีการกำหนดค่าชุดค่าผสมต่อไปนี้:

  • Alt+1: แสดง "CustomKey1"
  • Alt+2: แสดง "CustomKey2"
  • ...
  • Alt+0: แสดง "CustomKey0"
  • Alt+Backspace: showwinDetach

ด้วยวิธีนี้ฉันสามารถผูกหน้าต่างใด ๆ เข้ากับชุดค่าผสมได้ Alt + ฮิต...Alt + ฮิต. เพียงแค่คลิก Alt + ฮิต ฉันผูกหน้าต่างปัจจุบันเข้ากับชุดค่าผสมนี้ ฉันสามารถยกเลิกการผูกมัดได้โดยคลิก Alt + ฮิตแล้ว 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 (Private Browsing)$”

คำสั่งมีลักษณะดังนี้:

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

ที่นี่คุณสามารถเดาเกี่ยวกับคุณสมบัติที่สองของสคริปต์ได้แล้ว: หาก grep ไม่ส่งคืนสิ่งใดเลย แสดงว่าแอปพลิเคชันที่ต้องการจะไม่เปิดขึ้น และคุณต้องเริ่มต้นด้วยการรันคำสั่งจากพารามิเตอร์ตัวที่สอง จากนั้นตรวจสอบเป็นระยะว่าหน้าต่างที่ต้องการเปิดขึ้นเพื่อถ่ายโอนโฟกัสไปที่หน้าต่างนั้นหรือไม่ ฉันจะไม่เน้นเรื่องนี้ ใครก็ตามที่ต้องการมันจะดูแหล่งที่มา

เมื่อหน้าต่างแอปพลิเคชันไม่สามารถแยกแยะได้

ดังนั้นเราจึงได้เรียนรู้วิธีการถ่ายโอนโฟกัสไปยังหน้าต่างของแอปพลิเคชันที่ต้องการแล้ว แต่จะเกิดอะไรขึ้นหากแอปพลิเคชันเปิดมากกว่าหนึ่งหน้าต่าง? ฉันควรให้ความสำคัญกับอันไหน? สคริปต์ด้านบนมีแนวโน้มที่จะถ่ายโอนไปยังหน้าต่างแรกที่เปิดอยู่ อย่างไรก็ตาม เราต้องการความยืดหยุ่นมากขึ้น ฉันต้องการที่จะจำได้ว่าเราต้องการหน้าต่างไหนและสลับไปที่หน้าต่างนั้น

แนวคิดก็คือ: หากเราต้องการจำหน้าต่างใดหน้าต่างหนึ่งสำหรับคีย์ผสม เราต้องกดคีย์ผสมนี้เมื่อหน้าต่างที่ต้องการอยู่ในโฟกัส ในอนาคต เมื่อคุณกดชุดค่าผสมนี้ ระบบจะกำหนดโฟกัสไปที่หน้าต่างนี้ จนกว่าหน้าต่างจะปิดหรือเราจะรีเซ็ตชุดสคริปต์นี้ showwinDetach.

อัลกอริธึมสคริปต์ โชว์วิน บางอย่างเช่นนี้:

  • ตรวจสอบว่าก่อนหน้านี้เราจำรหัสของหน้าต่างที่ควรถ่ายโอนโฟกัสหรือไม่
    หากคุณจำได้และยังมีหน้าต่างดังกล่าวอยู่ เราจะย้ายโฟกัสไปที่หน้าต่างนั้นแล้วออก
  • เราดูว่าหน้าต่างใดอยู่ในโฟกัส และหากตรงกับคำขอของเรา โปรดจำ ID ไว้เพื่อไปที่หน้าต่างนั้นในอนาคตและออก
  • เราไปที่หน้าต่างที่เหมาะสมอย่างน้อยถ้ามีหรือเปิดแอปพลิเคชันที่ต้องการ

คุณสามารถค้นหาหน้าต่างที่อยู่ในโฟกัสได้โดยใช้ยูทิลิตี้คอนโซล 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. สิ่งนี้จำเป็นเพื่อลบรหัสหน้าต่างสำหรับชุดค่าผสมบางอย่างโดยใช้สคริปต์หากจำเป็น showwinDetach.

สิ่งที่สามารถปรับปรุงได้

ประการแรก ต้องกำหนดค่าสคริปต์ด้วยตนเอง แน่นอนว่าเนื่องจากจำเป็นต้องเจาะลึกและทำอะไรมากมายด้วยมือของคุณ หลายๆ คนจึงไม่ลองกำหนดค่าระบบด้วยซ้ำ หากเป็นไปได้ที่จะติดตั้งแพ็คเกจและกำหนดค่าทุกอย่างได้ง่ายขึ้นบางทีมันอาจจะได้รับความนิยมบ้าง แล้วดูสิ แอปพลิเคชันจะถูกเผยแพร่สู่การแจกแจงแบบมาตรฐาน

และบางทีอาจจะทำได้ง่ายขึ้น หากด้วย id ของหน้าต่าง คุณสามารถค้นหา id ของกระบวนการที่สร้างมันขึ้นมา และด้วย id ของกระบวนการ คุณสามารถค้นหาได้ว่าคำสั่งใดเป็นผู้สร้างมันขึ้นมา ก็จะทำให้การตั้งค่าเป็นแบบอัตโนมัติได้ อันที่จริงฉันไม่เข้าใจว่าสิ่งที่ฉันเขียนในย่อหน้านี้เป็นไปได้หรือไม่ ความจริงก็คือโดยส่วนตัวแล้วฉันพอใจกับวิธีการทำงานตอนนี้ แต่หากบุคคลอื่นที่ไม่ใช่ฉันพบว่าวิธีการทั้งหมดสะดวกและมีคนปรับปรุงให้ดีขึ้น ฉันยินดีที่จะใช้วิธีแก้ปัญหาที่ดีกว่า

ปัญหาอีกประการหนึ่งดังที่ฉันได้เขียนไปแล้วคือในบางกรณีหน้าต่างไม่สามารถแยกออกจากกันได้ จนถึงตอนนี้ฉันเพิ่งสังเกตเห็นสิ่งนี้โดยไม่ระบุตัวตนในโครเมียม/โครเมียม แต่อาจมีบางอย่างที่คล้ายกันในที่อื่น ทางเลือกสุดท้ายคือมีตัวเลือกการผสมผสานแบบสากลเสมอ Alt + ฮิต...Alt + ฮิต. ฉันใช้ Firefox อีกครั้งและสำหรับฉันโดยส่วนตัวแล้วปัญหานี้ไม่สำคัญ

แต่ปัญหาสำคัญสำหรับฉันคือฉันใช้ Mac OS สำหรับการทำงาน และฉันไม่สามารถกำหนดค่าอะไรแบบนั้นที่นั่นได้ คุณประโยชน์ wmctrl ฉันคิดว่าสามารถติดตั้งได้ แต่ใช้งานไม่ได้กับ Mac OS บางสิ่งสามารถทำได้ด้วยแอปพลิเคชัน อัตโนมัติแต่ช้ามากจนใช้งานไม่สะดวกแม้จะใช้งานอยู่ก็ตาม ฉันยังไม่สามารถตั้งค่าคีย์ผสมเพื่อให้ทำงานได้ในทุกโปรแกรม หากจู่ๆ มีคนคิดวิธีแก้ปัญหาขึ้นมา ฉันยินดีที่จะใช้มัน

แทนการสรุป

กลายเป็นคำจำนวนมากอย่างไม่คาดคิดสำหรับฟังก์ชันที่ดูเรียบง่ายเช่นนี้ ฉันต้องการถ่ายทอดแนวคิดนี้และไม่ให้เนื้อหามากเกินไป แต่ฉันยังนึกไม่ออกว่าจะเล่าให้เข้าใจง่ายไปกว่านี้ได้อย่างไร บางทีมันอาจจะดีกว่าในรูปแบบวิดีโอ แต่ผู้คนไม่ชอบวิธีนี้

ฉันได้พูดคุยเล็กน้อยเกี่ยวกับสิ่งที่อยู่เบื้องหลังสคริปต์และวิธีกำหนดค่า ฉันไม่ได้ลงรายละเอียดของสคริปต์ แต่มันมีเพียง 50 บรรทัดเท่านั้นจึงเข้าใจได้ไม่ยาก

ฉันหวังว่าคนอื่นจะลองใช้แนวคิดนี้และอาจซาบซึ้งด้วยซ้ำ ฉันสามารถพูดเกี่ยวกับตัวเองได้ว่าบทนี้เขียนเมื่อประมาณ 3 ปีที่แล้วและสะดวกสำหรับฉันมาก สะดวกมากจนทำให้รู้สึกไม่สบายอย่างมากเมื่อทำงานกับคอมพิวเตอร์ของผู้อื่น และด้วย MacBook ที่ใช้งานได้

เชื่อมโยงไปยังสคริปต์

ที่มา: will.com

เพิ่มความคิดเห็น