லினக்ஸில் மாற்று சாளர மேலாண்மை

லேஅவுட்களை மாற்ற கேப்ஸ் லாக்கை செட் செய்தவர்களில் நானும் ஒருவன், ஏனென்றால் ஒன்றை அழுத்தும் போது 2 விசைகளை அழுத்துவதற்கு நான் மிகவும் சோம்பேறியாக இருக்கிறேன். நான் 2 தேவையற்ற விசைகளைக் கூட விரும்புகிறேன்: ஆங்கில தளவமைப்பை இயக்க ஒன்றைப் பயன்படுத்துவேன், இரண்டாவது ரஷ்ய மொழிக்கு. ஆனால் இரண்டாவது தேவையற்ற விசை சூழல் மெனுவை அழைப்பது, இது மிகவும் தேவையற்றது, இது பல மடிக்கணினி உற்பத்தியாளர்களால் வெட்டப்படுகிறது. எனவே இருப்பதில் திருப்தி அடைய வேண்டும்.

மேலும் சாளரங்களை மாற்றும்போது டாஸ்க்பாரில் அவர்களின் ஐகான்களைத் தேடவோ அல்லது ஸ்க்ரோலிங் செய்யும் போது பெயர்களைப் பிடிக்கவோ நான் விரும்பவில்லை. , Alt + Tab, டெஸ்க்டாப்கள் மூலம் ஸ்க்ரோல் செய்யவும், முதலியன. நான் ஒரு விசை கலவையை அழுத்த விரும்புகிறேன் (ஒரே ஒரு, ஆனால் இலவச தேவையற்ற விசைகள் இனி இல்லை) மற்றும் உடனடியாக எனக்கு தேவையான சாளரத்திற்கு செல்லவும். உதாரணமாக இது போன்ற:

  • Alt+F: Firefox
  • Alt+D: Firefox (தனிப்பட்ட உலாவல்)
  • Alt+T: டெர்மினல்
  • Alt+M: கால்குலேட்டர்
  • Alt+E: IntelliJ ஐடியா
  • முதலியன

மேலும், அழுத்துவதன் மூலம், எடுத்துக்காட்டாக, ஆன் Alt+M இந்த நிரல் தற்போது இயங்குகிறதா என்பதைப் பொருட்படுத்தாமல் கால்குலேட்டரைப் பார்க்க விரும்புகிறேன். அது இயங்கினால், அதன் சாளரத்தில் கவனம் செலுத்தப்பட வேண்டும், இல்லையெனில், விரும்பிய நிரலை இயக்கி, அது ஏற்றப்படும்போது கவனத்தை மாற்றவும்.

முந்தைய ஸ்கிரிப்ட் மூலம் உள்ளடக்கப்படாத வழக்குகளுக்கு, திறந்திருக்கும் எந்த சாளரத்திற்கும் எளிதாக ஒதுக்கக்கூடிய உலகளாவிய விசை சேர்க்கைகளை நான் கொண்டிருக்க விரும்புகிறேன். எடுத்துக்காட்டாக, எனக்கு 10 சேர்க்கைகள் ஒதுக்கப்பட்டுள்ளன Alt + 1 செய்ய Alt + 0, இது எந்த திட்டங்களுடனும் இணைக்கப்படவில்லை. என்னால் கிளிக் செய்ய முடியும் Alt + 1 மேலும் தற்போது ஃபோகஸில் இருக்கும் விண்டோ கிளிக் செய்யும் போது ஃபோகஸ் பெறும் Alt + 1.

வெட்டுக்குக் கீழே இன்னும் இரண்டு அம்சங்களின் விளக்கமும் இதை எப்படிச் செய்யலாம் என்பதற்கான பதிலும் உள்ளது. ஆனால் இதுபோன்ற தனிப்பயனாக்கம் "உங்களுக்காக" கடுமையான போதை மற்றும் நீங்கள் Linux உடன் Windows, Mac OS அல்லது வேறொருவரின் கணினியைப் பயன்படுத்த வேண்டியிருந்தால் திரும்பப் பெறலாம் என்று நான் உடனடியாக உங்களுக்கு எச்சரிக்கிறேன்.

உண்மையில், நீங்கள் இதைப் பற்றி யோசித்துப் பார்த்தால், நாங்கள் தினசரி அடிப்படையில் பல நிரல்களைப் பயன்படுத்துவதில்லை. ஒரு உலாவி, ஒரு முனையம், ஒரு IDE, ஒருவித தூதர், ஒரு கோப்பு மேலாளர், ஒரு கால்குலேட்டர் மற்றும், ஒருவேளை, அது கிட்டத்தட்ட அனைத்துமே. உங்களின் அன்றாடப் பணிகளில் 95%ஐ ஈடுகட்ட பல விசைப்பலகை குறுக்குவழிகள் தேவையில்லை.

பல சாளரங்கள் திறந்திருக்கும் நிரல்களுக்கு, அவற்றில் ஒன்றை பிரதானமாக நியமிக்கலாம். எடுத்துக்காட்டாக, உங்களிடம் பல IntelliJ ஐடியா சாளரங்கள் திறக்கப்பட்டு ஒதுக்கப்பட்டுள்ளன Alt + E ஐ. சாதாரண நிலைமைகளின் கீழ், நீங்கள் அழுத்தும் போது Alt + E ஐ இந்த நிரலின் சில சாளரங்கள் திறக்கப்படும், பெரும்பாலும் முதலில் திறக்கப்பட்ட ஒன்று. இருப்பினும், நீங்கள் கிளிக் செய்தால் Alt + E ஐ இந்த நிரலின் சாளரங்களில் ஒன்று ஏற்கனவே கவனம் செலுத்தும் போது, ​​இந்த குறிப்பிட்ட சாளரம் முதன்மையாக ஒதுக்கப்படும் மற்றும் அடுத்தடுத்த சேர்க்கைகளை அழுத்தும் போது அது கவனம் செலுத்தப்படும்.

பிரதான சாளரத்தை மீண்டும் ஒதுக்கலாம். இதைச் செய்ய, நீங்கள் முதலில் கலவையை மீட்டமைக்க வேண்டும், பின்னர் மற்றொரு சாளரத்தை பிரதான சாளரமாக ஒதுக்க வேண்டும். கலவையை மீட்டமைக்க, நீங்கள் கலவையை அழுத்த வேண்டும், பின்னர் ஒரு சிறப்பு மீட்டமைப்பு கலவையை நான் ஒதுக்கியுள்ளேன் Alt+Backspace. இது ஸ்கிரிப்டை அழைக்கும், இது முந்தைய சேர்க்கைக்கான பிரதான சாளரத்தை ஒதுக்கும். முந்தைய பத்தியில் விவரிக்கப்பட்டுள்ளபடி புதிய பிரதான சாளரத்தை நீங்கள் ஒதுக்கலாம். இணைக்கப்பட்ட சாளரத்தை உலகளாவிய சேர்க்கைகளுக்கு மீட்டமைப்பது அதே வழியில் நிகழ்கிறது.

அறிமுகம் நீண்டதாக மாறியது, ஆனால் முதலில் நாங்கள் என்ன செய்வோம் என்று சொல்ல விரும்பினேன், பின்னர் அதை எப்படி செய்வது என்று விளக்க வேண்டும்.

படித்து அலுத்துப் போனவர்களுக்கு

சுருக்கமாக, ஸ்கிரிப்ட்களுக்கான இணைப்பு கட்டுரையின் முடிவில் உள்ளது.

ஆனால் நீங்கள் இன்னும் அதை உடனடியாக நிறுவி பயன்படுத்த முடியாது. ஸ்கிரிப்ட் விரும்பிய சாளரத்தை எவ்வாறு கண்டுபிடிப்பது என்பதை முதலில் நீங்கள் கண்டுபிடிக்க வேண்டும். இது இல்லாமல், ஸ்கிரிப்ட் சரியாக எங்கு கவனம் செலுத்தப்பட வேண்டும் என்பதைச் சொல்ல முடியாது. திடீரென்று பொருத்தமான சாளரம் கிடைக்கவில்லை என்றால் என்ன செய்வது என்பதை நீங்கள் புரிந்து கொள்ள வேண்டும்.

முக்கிய சேர்க்கைகளை அழுத்துவதன் மூலம் ஸ்கிரிப்ட்களின் செயல்பாட்டை எவ்வாறு கட்டமைப்பது என்பதில் நான் கவனம் செலுத்த மாட்டேன். எடுத்துக்காட்டாக, KDE இல் இது கணினி அமைப்புகள் → குறுக்குவழிகள் → தனிப்பயன் குறுக்குவழிகளில் உள்ளது. மற்ற சாளர மேலாளர்களிலும் இது இருக்க வேண்டும்.

wmctrl ஐ அறிமுகப்படுத்துகிறது

Wmctrl X சாளர மேலாளருடன் தொடர்புகொள்வதற்கான கன்சோல் பயன்பாடு. இது ஸ்கிரிப்ட்டின் முக்கிய நிரலாகும். நீங்கள் அதை எவ்வாறு பயன்படுத்தலாம் என்பதை விரைவாகப் பார்ப்போம்.

முதலில், திறந்த சாளரங்களின் பட்டியலைக் காண்பிப்போம்:

$ 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

எல்லாம் திட்டத்தின் படி நடந்தால், ஸ்கைப் சாளரம் திரையில் தோன்றும். விருப்பத்திற்கு பதிலாக என்றால் -x விருப்பத்தை பயன்படுத்தவும் -i, பின்னர் வகுப்பின் பெயருக்கு பதிலாக நீங்கள் சாளர ஐடியை குறிப்பிடலாம். ஐடியில் உள்ள பிரச்சனை என்னவென்றால், ஒவ்வொரு முறை அப்ளிகேஷன் தொடங்கும் போதும் விண்டோ ஐடி மாறும், அதை நம்மால் முன்கூட்டியே அறிய முடியாது. மறுபுறம், இந்த பண்பு ஒரு சாளரத்தை தனித்துவமாக அடையாளப்படுத்துகிறது, இது ஒரு பயன்பாடு ஒன்றுக்கு மேற்பட்ட சாளரங்களைத் திறக்கும் போது முக்கியமானதாக இருக்கும். இதைப் பற்றி இன்னும் கொஞ்சம் மேலே.

இந்த கட்டத்தில் வெளியீட்டின் மூலம் 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

பயர்பாக்ஸ் நிறுவப்பட்டிருந்தால், அதன் சாளரத்தில் கவனம் செலுத்தப்பட வேண்டும். பயர்பாக்ஸ் இயங்காவிட்டாலும், அது தொடங்கியிருக்க வேண்டும்.

இது வேலை செய்தால், நீங்கள் சேர்க்கைகளில் கட்டளைகளின் செயல்பாட்டை உள்ளமைக்க முயற்சி செய்யலாம். உலகளாவிய ஹாட்ஸ்கிகள்/குறுக்குவழி அமைப்புகளில் சேர்:

  • Alt+F: ஷோவின் “Mozilla Firefox$” firefox
  • Alt+D: ஷோவின் "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: “skype.Skype” skypeforlinuxஐக் காட்டு
  • Alt+E: showwin “jetbrains-idea” idea.sh

முதலியன. ஒவ்வொருவரும் தங்களுக்கு ஏற்றவாறு முக்கிய சேர்க்கைகள் மற்றும் மென்பொருளை உள்ளமைக்க முடியும்.
எல்லாம் சரியாக வேலை செய்தால், மேலே உள்ள சேர்க்கைகளைப் பயன்படுத்தி, விசைகளை அழுத்துவதன் மூலம் சாளரங்களுக்கு இடையில் மாறலாம்.

நான் குரோம் பிரியர்களை ஏமாற்றுவேன்: இது ஒரு வழக்கமான சாளரத்தை அதன் வெளியீட்டின் மூலம் மறைநிலையில் வேறுபடுத்தும் wmctrl உங்களால் முடியாது, அவர்களுக்கு ஒரே வகுப்பு பெயர்கள் மற்றும் சாளர தலைப்புகள் உள்ளன. முன்மொழியப்பட்ட ரீஜெக்ஸில், N* மற்றும் I* எழுத்துக்கள் தேவைப்படுவதால், இந்த வழக்கமான வெளிப்பாடுகள் ஒருவருக்கொருவர் வேறுபடுகின்றன, மேலும் அவை முக்கிய சாளரங்களாக ஒதுக்கப்படும்.

முந்தைய கலவையின் பிரதான சாளரத்தை மீட்டமைக்க (உண்மையில் regex க்கு, இது வெற்றி கடைசியாக அழைக்கப்பட்டது) நீங்கள் ஸ்கிரிப்டை அழைக்க வேண்டும் showwinDetach. இந்த ஸ்கிரிப்ட் ஒரு முக்கிய கலவைக்கு ஒதுக்கப்பட்டுள்ளது Alt+Backspace.

ஸ்கிரிப்ட்டில் வெற்றி இன்னும் ஒரு செயல்பாடு உள்ளது. இது ஒரு அளவுருவுடன் அழைக்கப்படும் போது (இந்த வழக்கில் அளவுரு ஒரு அடையாளங்காட்டியாகும்), அது ரீஜெக்ஸைச் சரிபார்க்காது, ஆனால் எல்லா சாளரங்களையும் பொருத்தமானதாகக் கருதுகிறது. இது பயனற்றதாகத் தெரிகிறது, ஆனால் இந்த வழியில் நாம் எந்த சாளரத்தையும் முதன்மையாகக் குறிப்பிடலாம் மற்றும் குறிப்பிட்ட சாளரத்திற்கு விரைவாக மாறலாம்.

நான் பின்வரும் சேர்க்கைகளை உள்ளமைத்துள்ளேன்:

  • Alt+1: ஷோவின் "CustomKey1"
  • Alt+2: ஷோவின் "CustomKey2"
  • ...
  • Alt+0: ஷோவின் "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)

முதல் சாளரம் சாதாரண பயன்முறை, இரண்டாவது தனிப்பட்ட உலாவல். இந்த சாளரங்களை வெவ்வேறு பயன்பாடுகளாகக் கருதி, வெவ்வேறு விசை சேர்க்கைகளைப் பயன்படுத்தி அவற்றிற்கு மாற விரும்புகிறேன்.

சாளரங்களை மாற்றும் ஸ்கிரிப்டை சிக்கலாக்குவது அவசியம். நான் இந்த தீர்வைப் பயன்படுத்தினேன்: அனைத்து சாளரங்களின் பட்டியலைக் காட்டவும், செய்யுங்கள் க்ரெப் regex மூலம், முதல் வரியை எடுத்துக் கொள்ளுங்கள் தலை, பயன்படுத்தி முதல் நெடுவரிசையை (இது சாளர ஐடியாக இருக்கும்) பெறவும் வெட்டு, ஐடி மூலம் சாளரத்திற்கு மாறவும்.

வழக்கமான வெளிப்பாடுகள் மற்றும் இரண்டு சிக்கல்களைப் பற்றி நகைச்சுவையாக இருக்க வேண்டும், ஆனால் உண்மையில் நான் சிக்கலான எதையும் பயன்படுத்தவில்லை. வரியின் முடிவை (“$” சின்னம்) குறிப்பிடவும், “Mozilla Firefox$” ஐ “Mozilla Firefox (தனியார் உலாவல்)$” இலிருந்து வேறுபடுத்தவும் எனக்கு வழக்கமான வெளிப்பாடுகள் தேவை.

கட்டளை இது போல் தெரிகிறது:

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

ஸ்கிரிப்ட்டின் இரண்டாவது அம்சத்தைப் பற்றி இங்கே நீங்கள் ஏற்கனவே யூகிக்க முடியும்: grep எதையும் திருப்பித் தரவில்லை என்றால், விரும்பிய பயன்பாடு திறக்கப்படவில்லை மற்றும் இரண்டாவது அளவுருவிலிருந்து கட்டளையை இயக்குவதன் மூலம் அதைத் தொடங்க வேண்டும். கவனம் செலுத்துவதற்கு தேவையான சாளரம் திறக்கப்பட்டுள்ளதா என்பதை அவ்வப்போது சரிபார்க்கவும். நான் இதில் கவனம் செலுத்த மாட்டேன்; யார் தேவைப்படுகிறார்களோ அவர்கள் ஆதாரங்களைப் பார்ப்பார்கள்.

பயன்பாட்டு சாளரங்கள் வேறுபடுத்த முடியாத போது

எனவே, விரும்பிய பயன்பாட்டின் சாளரத்திற்கு கவனத்தை எவ்வாறு மாற்றுவது என்பதை நாங்கள் கற்றுக்கொண்டோம். ஆனால் ஒரு பயன்பாட்டில் ஒன்றுக்கு மேற்பட்ட சாளரங்கள் திறந்திருந்தால் என்ன செய்வது? நான் எதில் கவனம் செலுத்த வேண்டும்? மேலே உள்ள ஸ்கிரிப்ட் பெரும்பாலும் முதல் திறந்த சாளரத்திற்கு மாற்றப்படும். இருப்பினும், நாங்கள் அதிக நெகிழ்வுத்தன்மையை விரும்புகிறோம். எந்தச் சாளரம் நமக்குத் தேவை என்பதை நினைவில் வைத்துக்கொண்டு அந்த குறிப்பிட்ட விண்டோவிற்கு மாற விரும்புகிறேன்.

யோசனை இதுதான்: ஒரு விசை சேர்க்கைக்கான குறிப்பிட்ட சாளரத்தை நாம் நினைவில் வைத்துக் கொள்ள விரும்பினால், விரும்பிய சாளரம் கவனம் செலுத்தும்போது இந்த கலவையை அழுத்த வேண்டும். எதிர்காலத்தில், நீங்கள் இந்த கலவையை அழுத்தும்போது, ​​இந்த சாளரத்தில் கவனம் செலுத்தப்படும். சாளரம் மூடும் வரை அல்லது இந்த ஸ்கிரிப்ட் கலவையை மீட்டமைக்கும் வரை showwinDetach.

ஸ்கிரிப்ட் அல்காரிதம் வெற்றி இந்த மாதிரி ஏதாவது:

  • ஃபோகஸ் மாற்றப்பட வேண்டிய சாளரத்தின் ஐடியை நாம் முன்பு நினைவில் வைத்திருந்தோமா எனச் சரிபார்க்கவும்.
    நீங்கள் நினைவில் வைத்திருந்தால், அத்தகைய சாளரம் இன்னும் இருந்தால், நாங்கள் கவனம் செலுத்தி வெளியேறுவோம்.
  • எந்தச் சாளரம் தற்போது ஃபோகஸில் உள்ளது என்பதைப் பார்க்கிறோம், அது எங்கள் கோரிக்கையுடன் பொருந்தினால், எதிர்காலத்தில் அதற்குச் சென்று வெளியேற அதன் ஐடியை நினைவில் வைத்துக் கொள்ளுங்கள்.
  • குறைந்தபட்சம் சில பொருத்தமான சாளரம் இருந்தால் அல்லது விரும்பிய பயன்பாட்டைத் திறக்கவும்.

xdotool கன்சோல் பயன்பாட்டைப் பயன்படுத்தி எந்த சாளரம் தற்போது கவனம் செலுத்துகிறது என்பதை அதன் வெளியீட்டை ஹெக்ஸாடெசிமல் வடிவத்திற்கு மாற்றுவதன் மூலம் கண்டறியலாம்:

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

நினைவகத்தில் அமைந்துள்ள மெய்நிகர் கோப்பு முறைமையில் கோப்புகளை உருவாக்குவதே பாஷில் ஒன்றை நினைவில் கொள்வதற்கான எளிதான வழி. உபுண்டுவில் இது முன்னிருப்பாக இயக்கப்படுகிறது /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.

எதை மேம்படுத்த முடியும்

முதலில், ஸ்கிரிப்ட்களை கைமுறையாக கட்டமைக்க வேண்டும். நிச்சயமாக, உங்கள் கைகளால் ஆராய்ந்து நிறைய செய்ய வேண்டியதன் காரணமாக, உங்களில் பலர் கணினியை உள்ளமைக்க கூட முயற்சிக்க மாட்டார்கள். தொகுப்பை எளிமையாக நிறுவி எல்லாவற்றையும் எளிதாக உள்ளமைக்க முடிந்தால், அது சில பிரபலங்களைப் பெறும். பின்னர் பாருங்கள், பயன்பாடு நிலையான விநியோகங்களில் வெளியிடப்படும்.

மற்றும் ஒருவேளை அதை எளிதாக செய்ய முடியும். ஒரு சாளரத்தின் ஐடி மூலம் அதை உருவாக்கிய செயல்முறையின் ஐடியை நீங்கள் கண்டுபிடிக்கலாம், மேலும் செயல்முறையின் ஐடி மூலம் அதை எந்த கட்டளை உருவாக்கியது என்பதைக் கண்டறிய முடியும் என்றால், அமைப்பை தானியங்குபடுத்துவது சாத்தியமாகும். உண்மையில், இந்தப் பத்தியில் நான் எழுதியது சாத்தியமா என்று எனக்குப் புரியவில்லை. இப்போது செயல்படும் விதத்தில் நான் தனிப்பட்ட முறையில் திருப்தி அடைகிறேன் என்பதே உண்மை. ஆனால் என்னைத் தவிர வேறு யாராவது முழு அணுகுமுறையையும் வசதியாகக் கண்டறிந்து யாராவது அதை மேம்படுத்தினால், ஒரு சிறந்த தீர்வைப் பயன்படுத்துவதில் நான் மகிழ்ச்சியடைவேன்.

மற்றொரு சிக்கல், நான் ஏற்கனவே எழுதியது போல், சில சந்தர்ப்பங்களில் ஜன்னல்கள் ஒன்றை மற்றொன்று வேறுபடுத்த முடியாது. இதுவரை நான் இதை chrome/chromium இல் மறைநிலையில் மட்டுமே கவனித்தேன், ஆனால் வேறு எங்காவது இதே போன்ற ஏதாவது இருக்கலாம். கடைசி முயற்சியாக, உலகளாவிய சேர்க்கைகளின் விருப்பம் எப்போதும் உள்ளது Alt + 1...Alt + 0. மீண்டும், நான் பயர்பாக்ஸைப் பயன்படுத்துகிறேன், தனிப்பட்ட முறையில் இந்தச் சிக்கல் குறிப்பிடத்தக்கதாக இல்லை.

ஆனால் எனக்கு குறிப்பிடத்தக்க பிரச்சனை என்னவென்றால், நான் வேலைக்காக Mac OS ஐப் பயன்படுத்துகிறேன், மேலும் என்னால் அப்படி எதையும் உள்ளமைக்க முடியவில்லை. பயன்பாடு wmctrl என்னால் அதை நிறுவ முடிந்தது என்று நினைக்கிறேன், ஆனால் அது உண்மையில் Mac OS இல் வேலை செய்யாது. விண்ணப்பத்தில் ஏதாவது செய்யலாம் automator, ஆனால் இது மிகவும் மெதுவாக உள்ளது, அது வேலை செய்யும் போது கூட பயன்படுத்த வசதியாக இல்லை. எல்லா நிரல்களிலும் வேலை செய்யும் வகையில் என்னால் முக்கிய சேர்க்கைகளை அமைக்க முடியவில்லை. யாராவது திடீரென்று ஒரு தீர்வைக் கொண்டு வந்தால், அதைப் பயன்படுத்துவதில் நான் மகிழ்ச்சியடைவேன்.

அதற்கு பதிலாக, ஒரு முடிவுக்கும்

இது போன்ற எளிமையான செயல்பாட்டிற்கு எதிர்பாராத வகையில் அதிக எண்ணிக்கையிலான சொற்களாக மாறியது. நான் யோசனையை தெரிவிக்க விரும்பினேன் மற்றும் உரையை ஓவர்லோட் செய்யவில்லை, ஆனால் அதை இன்னும் எளிமையாக எப்படி சொல்வது என்று நான் இன்னும் கண்டுபிடிக்கவில்லை. ஒருவேளை வீடியோ வடிவத்தில் இது சிறப்பாக இருக்கும், ஆனால் மக்கள் அதை இங்கே விரும்பவில்லை.

ஸ்கிரிப்ட்டின் கீழ் என்ன இருக்கிறது மற்றும் அதை எவ்வாறு கட்டமைப்பது என்பது பற்றி நான் கொஞ்சம் பேசினேன். நான் ஸ்கிரிப்ட்டின் விவரங்களுக்குச் செல்லவில்லை, ஆனால் அது 50 வரிகள் மட்டுமே, எனவே புரிந்துகொள்வது கடினம் அல்ல.

இந்த யோசனையை வேறு யாராவது முயற்சிப்பார்கள் மற்றும் பாராட்டலாம் என்று நம்புகிறேன். ஸ்கிரிப்ட் சுமார் 3 ஆண்டுகளுக்கு முன்பு எழுதப்பட்டது என்று என்னைப் பற்றி என்னால் சொல்ல முடியும், அது எனக்கு மிகவும் வசதியானது. மிகவும் வசதியானது, மற்றவர்களின் கணினிகளுடன் பணிபுரியும் போது கடுமையான அசௌகரியத்தை ஏற்படுத்துகிறது. மற்றும் வேலை செய்யும் மேக்புக் உடன்.

ஸ்கிரிப்ட்களுக்கான இணைப்பு

ஆதாரம்: www.habr.com

கருத்தைச் சேர்