Linuxలో ప్రత్యామ్నాయ విండో నిర్వహణ

లేఅవుట్‌లను మార్చడానికి క్యాప్స్ లాక్‌ని సెట్ చేసిన వారిలో నేను ఒకడిని, ఎందుకంటే నేను ఒక కీని నొక్కగలిగినప్పుడు 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 Idea విండోలను తెరిచి, కేటాయించారు 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 అన్ని ఓపెన్ విండోల జాబితాను ప్రదర్శిస్తుంది మరియు -x తరగతి పేరును అవుట్‌పుట్‌కు జోడిస్తుంది (skype.Skype, Navigator.Firefox మొదలైనవి). ఇక్కడ మనకు విండో ఐడి (కాలమ్ 1), తరగతి పేరు (కాలమ్ 3) మరియు విండో పేరు (చివరి కాలమ్) అవసరం.

మీరు ఎంపికను ఉపయోగించి కొంత విండోను సక్రియం చేయడానికి ప్రయత్నించవచ్చు -a:

$ wmctrl -a skype.Skype -x

ప్రతిదీ ప్రణాళిక ప్రకారం జరిగితే, స్కైప్ విండో తెరపై కనిపించాలి. ఎంపికకు బదులుగా ఉంటే -x ఎంపికను ఉపయోగించండి -i, అప్పుడు తరగతి పేరుకు బదులుగా మీరు విండో ఐడిని పేర్కొనవచ్చు. ఐడితో సమస్య ఏమిటంటే, అప్లికేషన్‌ను ప్రారంభించిన ప్రతిసారీ విండో ఐడి మారుతుంది మరియు మేము దానిని ముందుగానే తెలుసుకోలేము. మరోవైపు, ఈ లక్షణం ఒక విండోను ప్రత్యేకంగా గుర్తిస్తుంది, అప్లికేషన్ ఒకటి కంటే ఎక్కువ విండోలను తెరిచినప్పుడు ఇది ముఖ్యమైనది. దీని గురించి కొంచెం ముందుకు.

ఈ దశలో మేము అవుట్‌పుట్ ద్వారా రీజెక్స్ ఉపయోగించి కావలసిన విండో కోసం శోధిస్తాము అని గుర్తుంచుకోవాలి 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 పారామితులను తీసుకుంటుంది: మొదటిది రీజెక్స్, దీని ద్వారా మేము అవసరమైన విండో కోసం శోధిస్తాము మరియు రెండవ పరామితి అవసరమైన విండో కనుగొనబడకపోతే అమలు చేయవలసిన ఆదేశం.

మీరు స్క్రిప్ట్‌ను అమలు చేయడానికి ప్రయత్నించవచ్చు, ఉదాహరణకు:

$ showwin "Mozilla Firefox$" firefox

ఫైర్‌ఫాక్స్ ఇన్‌స్టాల్ చేయబడితే, దాని విండోకు ఫోకస్ ఇవ్వాలి. ఫైర్‌ఫాక్స్ రన్ కానప్పటికీ, అది ప్రారంభించబడి ఉండాలి.

ఇది పని చేస్తే, మీరు కలయికలపై ఆదేశాల అమలును కాన్ఫిగర్ చేయడానికి ప్రయత్నించవచ్చు. గ్లోబల్ హాట్‌కీలు/షార్ట్‌కట్‌ల సెట్టింగ్‌లలో జోడించండి:

  • Alt+F: షోవిన్ “మొజిల్లా ఫైర్‌ఫాక్స్$” ఫైర్‌ఫాక్స్
  • Alt+D: షోవిన్ "మొజిల్లా ఫైర్‌ఫాక్స్ (ప్రైవేట్ బ్రౌజింగ్)$" "ఫైర్‌ఫాక్స్ -ప్రైవేట్-విండో"
  • Alt+C: షోవిన్ "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” పని చేస్తోంది మరియు ఉపయోగించవచ్చు. కానీ ఫైర్‌ఫాక్స్‌తో ఉదాహరణను మళ్లీ చూద్దాం, దీనిలో 2 విండోలు తెరిచి ఉన్నాయి:

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

మొదటి విండో సాధారణ మోడ్, మరియు రెండవది ప్రైవేట్ బ్రౌజింగ్. నేను ఈ విండోలను వేర్వేరు అప్లికేషన్‌లుగా పరిగణించాలనుకుంటున్నాను మరియు విభిన్న కీ కలయికలను ఉపయోగించి వాటికి మారాలనుకుంటున్నాను.

విండోలను మార్చే స్క్రిప్ట్‌ను క్లిష్టతరం చేయడం అవసరం. నేను ఈ పరిష్కారాన్ని ఉపయోగించాను: అన్ని విండోల జాబితాను ప్రదర్శించండి, చేయండి grep regex ద్వారా, మొదటి పంక్తిని తీసుకోండి తల, ఉపయోగించి మొదటి నిలువు వరుస (ఇది విండో ఐడి అవుతుంది) పొందండి కట్, ఐడి ద్వారా విండోకు మారండి.

సాధారణ వ్యక్తీకరణలు మరియు రెండు సమస్యల గురించి ఒక జోక్ ఉండాలి, కానీ నిజానికి నేను సంక్లిష్టంగా ఏమీ ఉపయోగించడం లేదు. నాకు రెగ్యులర్ ఎక్స్‌ప్రెషన్‌లు అవసరం, తద్వారా నేను పంక్తి ముగింపును (“$” చిహ్నం) సూచించగలను మరియు “మొజిల్లా ఫైర్‌ఫాక్స్ $” నుండి “మొజిల్లా ఫైర్‌ఫాక్స్ (ప్రైవేట్ బ్రౌజింగ్)$”ను వేరు చేయగలను.

కమాండ్ ఇలా కనిపిస్తుంది:

$ 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.

ఏమి మెరుగుపరచవచ్చు

ముందుగా, స్క్రిప్ట్‌లను మాన్యువల్‌గా కాన్ఫిగర్ చేయాలి. ఖచ్చితంగా, మీ చేతులతో చాలా లోతుగా పరిశోధించాల్సిన అవసరం ఉన్నందున, మీలో చాలామంది సిస్టమ్‌ను కాన్ఫిగర్ చేయడానికి కూడా ప్రయత్నించరు. ప్యాకేజీని ఇన్‌స్టాల్ చేయడం మరియు ప్రతిదీ మరింత సులభంగా కాన్ఫిగర్ చేయడం సాధ్యమైతే, బహుశా అది కొంత ప్రజాదరణ పొందుతుంది. ఆపై చూడండి, అప్లికేషన్ ప్రామాణిక పంపిణీలలోకి విడుదల చేయబడుతుంది.

మరియు బహుశా అది సులభంగా చేయవచ్చు. విండో యొక్క id ద్వారా మీరు దానిని సృష్టించిన ప్రక్రియ యొక్క idని కనుగొనగలిగితే మరియు ప్రక్రియ యొక్క id ద్వారా మీరు ఏ ఆదేశం సృష్టించిందో కనుగొనవచ్చు, అప్పుడు సెటప్‌ను ఆటోమేట్ చేయడం సాధ్యమవుతుంది. నిజానికి, ఈ పేరాలో నేను వ్రాసినది సాధ్యమేనా అని నాకు అర్థం కాలేదు. నిజానికి ఇప్పుడు పని చేస్తున్న తీరుతో నేను వ్యక్తిగతంగా సంతృప్తి చెందాను. కానీ నేను కాకుండా వేరే ఎవరైనా మొత్తం విధానాన్ని అనుకూలమైనదిగా భావిస్తే మరియు ఎవరైనా దానిని మెరుగుపరుచుకుంటే, నేను మెరుగైన పరిష్కారాన్ని ఉపయోగించడానికి సంతోషిస్తాను.

మరొక సమస్య, నేను ఇప్పటికే వ్రాసినట్లుగా, కొన్ని సందర్భాల్లో విండోస్ ఒకదానికొకటి వేరు చేయలేవు. ఇప్పటివరకు నేను దీన్ని chrome/chromiumలో అజ్ఞాతంతో మాత్రమే గమనించాను, కానీ బహుశా మరెక్కడైనా అలాంటిదేదో ఉండవచ్చు. చివరి ప్రయత్నంగా, సార్వత్రిక కలయికల ఎంపిక ఎల్లప్పుడూ ఉంటుంది Alt + 1...Alt + 0. మళ్ళీ, నేను Firefoxని ఉపయోగిస్తాను మరియు నాకు వ్యక్తిగతంగా ఈ సమస్య ముఖ్యమైనది కాదు.

కానీ నాకు ముఖ్యమైన సమస్య ఏమిటంటే నేను పని కోసం Mac OSని ఉపయోగిస్తాను మరియు నేను అలాంటిదేమీ కాన్ఫిగర్ చేయలేకపోయాను. వినియోగ wmctrl నేను దీన్ని ఇన్‌స్టాల్ చేయగలిగానని అనుకుంటున్నాను, కానీ ఇది నిజంగా Mac OSలో పని చేయదు. అప్లికేషన్‌తో ఏదో ఒకటి చేయవచ్చు Automator, కానీ ఇది చాలా నెమ్మదిగా ఉంది, అది పని చేస్తున్నప్పుడు కూడా ఉపయోగించడం సౌకర్యంగా ఉండదు. నేను కూడా అన్ని ప్రోగ్రామ్‌లలో పని చేసే విధంగా కీ కాంబినేషన్‌లను సెటప్ చేయలేకపోయాను. ఎవరైనా అకస్మాత్తుగా పరిష్కారంతో ముందుకు వస్తే, నేను దానిని ఉపయోగించడానికి సంతోషిస్తాను.

ముగింపుకు బదులుగా

అటువంటి సాధారణ కార్యాచరణకు ఇది ఊహించని విధంగా పెద్ద సంఖ్యలో పదాలుగా మారాయి. నేను ఆలోచనను తెలియజేయాలనుకుంటున్నాను మరియు వచనాన్ని ఓవర్‌లోడ్ చేయకూడదనుకున్నాను, కానీ దానిని మరింత సరళంగా ఎలా చెప్పాలో నేను ఇంకా గుర్తించలేదు. బహుశా ఇది వీడియో ఫార్మాట్‌లో మెరుగ్గా ఉంటుంది, కానీ ఇక్కడ ప్రజలు ఆ విధంగా ఇష్టపడరు.

నేను స్క్రిప్ట్ యొక్క హుడ్ కింద ఏమి ఉంది మరియు దానిని ఎలా కాన్ఫిగర్ చేయాలి అనే దాని గురించి కొంచెం మాట్లాడాను. నేను స్క్రిప్ట్ వివరాలలోకి వెళ్ళలేదు, కానీ అది కేవలం 50 లైన్లు మాత్రమే, కాబట్టి అర్థం చేసుకోవడం కష్టం కాదు.

ఎవరైనా ఈ ఆలోచనను ప్రయత్నిస్తారని మరియు దానిని అభినందిస్తారని నేను ఆశిస్తున్నాను. స్క్రిప్ట్ 3 సంవత్సరాల క్రితం వ్రాయబడిందని మరియు ఇది నాకు చాలా సౌకర్యవంతంగా ఉందని నేను నా గురించి చెప్పగలను. చాలా సౌకర్యవంతంగా ఉంటుంది, ఇది ఇతరుల కంప్యూటర్‌లతో పనిచేసేటప్పుడు తీవ్రమైన అసౌకర్యాన్ని కలిగిస్తుంది. మరియు పని చేసే మ్యాక్‌బుక్‌తో.

స్క్రిప్ట్‌లకు లింక్ చేయండి

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి