সামনে সমস্ত খোলা টার্মিনাল আনতে শর্টকাট


17

আমি কোনও ওয়েবপৃষ্ঠা বা সম্পাদকে নেভিগেট করার পরে, সমস্ত উন্মুক্ত টার্মিনালগুলি তাদের আসল অবস্থানে ফিরিয়ে আনার কোনও উপায় আছে কি? টার্মিনাল আইকনটিতে ক্লিক করা এবং তারপরে প্রত্যেকে স্বতন্ত্রভাবে ফিরিয়ে আনা কিছুটা ব্যথা।

ধন্যবাদ!

উদাহরণ:

  • প্রি-শর্টকাট:

প্রাক-চিত্র শর্টকাট


  • পোস্ট-শর্টকাট:

চিত্র-পোস্ট শর্টকাট


1
+1 খুব আকর্ষণীয় প্রশ্ন, আপনি একটি সম্পর্কিত সম্পর্কযুক্ত প্রশ্নের উত্তরটি খুঁজে পেতে পারেন - একটি বিদ্যমান জিইউআই সরঞ্জাম না থাকলে শয়তানস্পি প্রোগ্রামটি এই সমস্যার সাথে প্রাসঙ্গিক হতে পারে।
অশুভপদ

সংরক্ষণাগারটির জন্য: gist.github.com/psi-4ward/18c3a596d28a3cfa772101af755545df সম্প্রতি ব্যবহৃত অ্যাপ্লিকেশনগুলির সম্মান করে এমন একটি স্ক্রিপ্ট
Psi

উত্তর:


9

আপনি টিপতে পারেন Alt+ + Tabউইন্ডোজ এবং মধ্যবর্তী এগিয়ে স্যুইচ করতে Alt+ + Shift+ + Tabউইন্ডোগুলির মধ্যে ফিরে যেতে। এই শর্টকাটটি প্রায় সমস্ত গ্রাফিকাল অপারেটিং সিস্টেমে কাজ করার জন্য তৈরি করা হয়েছে। আপনি একই উদ্দেশ্যে Super+ Wএবং তীর কীগুলিও ব্যবহার করতে পারেন ।

আপনি সামনে একটি টার্মিনাল উইন্ডো নিয়ে আসার পরে, সামনে অন্য সমস্ত টার্মিনাল উইন্ডোগুলিকে একে একে আনার জন্য Alt+ টিপুন ~:

উইন্ডোতে স্যুইচ করুন


সামনে সমস্ত উন্মুক্ত টার্মিনাল স্বয়ংক্রিয়ভাবে আনার জন্য (আমি পূর্বে বর্ণিত হিসাবে এক এক নয়) আপনাকে নিম্নলিখিত স্ক্রিপ্টের জন্য একটি কীবোর্ড শর্টকাট যুক্ত করতে হবে (স্ক্রিপ্টটির সংস্করণটি কাজ করে নি এই বিবেচনা করে অ্যাডোব এর উত্তর থেকে নেওয়া এবং উন্নত হয়েছে) আমার জন্য):

#!/bin/bash

if [ $# -ne 1 ];then
  echo -e "Usage: `basename $0` PROGRAM_NAME\n
           For example:\n\t
           '`basename $0` gnome-terminal' for Terminal\n\t
           '`basename $0` firefox' for Firefox\n\t
           '`basename $0` chromium-browser' for Chromium\n\t..."
  exit 1
fi

pids=" $(pidof $@) "

if [ "$pids" = "  " ]; then # the string "  " contain two spaces
    echo "There is no program named '$@' opened at the moment."
    exit 1
fi

wmctrl -lp | while read identity desktop_number PID window_title; do 
    if [ "${pids/ $PID }" != "$pids" ]; then
        wmctrl -ia $identity
    fi
done

স্ক্রিপ্টটি সম্পাদনযোগ্য করতে ভুলবেন না:

chmod +x /path/to/script/script_name

টার্মিনালে স্ক্রিপ্টটি পরীক্ষা করার পরে আপনাকে অবশ্যই দেখতে হবে:


3
ধন্যবাদ তবে এটি মূলত টার্মিনাল আইকনটিতে ক্লিক করা এবং প্রতিটিটিকে সামনে আনার জন্য নির্বাচন করার মতো। আমি একটি শর্ট কাট বলতে চাই যা সমস্ত উন্মুক্ত টার্মিনালগুলি সামনে আনবে। উদাহরণস্বরূপ আমি জিডিট কোড লিখতে পারি, অন্য টার্মিনালে লগের আউটপুট দেখার সময় এটি একটি টার্মিনালে সংকলন করতে চাই।
টমসেলেক

"স্ক্রিনশটটি 1 সেকেন্ডে নেওয়া হবে" ... হুম কেউ এখানে স্রেফ মিথ্যা কথা বলেছে ...
কার্লোস ক্যাম্পাদ্রেস

1
টমসেলিক আমার নতুন সম্পাদনা দেখুন। বলতে চাই যে আমি এ জাতীয় স্ক্রিপ্টে কাজ করছি যখন অ্যাডোব তার উত্তর কীভাবে পোস্ট করেছেন (যা আমার পক্ষে কাজ করেনি), তাই দয়া করে এটিকে ভুল উপায়ে গ্রহণ করবেন না।
রাদু রেডানু

8

এখানে একটি ছোট বাশ স্ক্রিপ্ট যা সমস্ত উইন্ডো নিয়ে আসে যার শিরোনামটি এআরজির সাথে সামঞ্জস্য করে:

bring-all-windows.bash ARG

এই পান্ডুলিপি:

#!/bin/bash

Program=$@

wmctrl -l | while read Window; do
    if [[ "$Window" == *"$Program"* ]]; then
        echo "DEBUG: I bring $Window"
        code=`echo "$Window" | cut -f 1 -d " "`
        wmctrl -i -a $code
    fi
done

আপনি আবদ্ধ করতে পারেন

bring-all-windows.bash Terminal

হটকি-তে (কোনও লগইন শেল PATH এ স্ক্রিপ্টটি রাখতে ভুলবেন না বা এটিতে একটি পুরো পথ লিখবেন)।

স্ক্রিপ্টের প্রয়োজন wmctrl ইনস্টল করা প্রয়োজন।

সম্পাদন করা :

টার্মিনাল থেকে কিছু চালানোর জন্য, আপনি যেখানে স্ক্রিপ্টটি রেখেছিলেন সেখানে গিয়ে ডায়ারে যান

chmod +x bring-all-windows.bash
./bring-all-windows.bash Terminal

আপনি যখন নিশ্চিত হন যে এটি টার্মিনাল থেকে কাজ করে, সম্পূর্ণ পথ দিয়ে এটি একটি হটকিতে আবদ্ধ করার চেষ্টা করুন। যখন আপনি নিশ্চিত হন যে এটি হটকি এবং স্ক্রিপ্টের পুরো পথ নিয়ে কাজ করে, তারপরে এটি লগইন শেল PATH তে যোগ করার চেষ্টা করুন, এবং দেখুন যে এটি সেভাবে কাজ করে কিনা।


ভাল লাগছে! আমি শীঘ্রই এটি ব্যবহার করে আবার আপনার কাছে ফিরে আসব। আমি এখনও কিছুটা স্ট্যাম্পড হয়েছি কেন এর জন্য কোনও দেশীয় পদ্ধতি নেই, এটি স্বাভাবিক হওয়া উচিত বলে মনে হচ্ছে।
টমসেলেক্ক

@ টমসেলিক: একটি আছে wmctrlএবং bash: এটি স্বাভাবিক।
অ্যাডোব

সত্য তবে এটি স্থানীয় নয়: পি
টমসেলেক

এই স্ক্রিপ্টটি কীভাবে ব্যবহার করবেন তা নিয়ে কি কোনও সুযোগ আছে বলে মনে মনে আপনার মনে হয় ?? আমি স্ক্রিপ্টটি তৈরি করেছি এবং এটি আমার হোম ফোল্ডারে সংরক্ষণ করেছি এবং এটি / ইত্যাদি / শেলের দিকে যুক্ত করেছি। আমি ক্রেডিট সেটিংসে একটি শর্টকাট যুক্ত করেছি, নাম_টার্মিনাল_ফরোয়ার্ড নামে এবং কমান্ডটি হ'ল বাশ / হোম
মাইকেল

স্ক্রিনটি সরাসরি চলমান টার্মিনাল থেকে চালানো
কোনওভাবেই

0

আরেকটি উপায় ব্যবহার করা হয় xdotool। আপনার এটি প্রথমে ইনস্টল করা উচিত তাই sudo apt-get install xdotoolবাধ্যতামূলক।

xdotool search --class "terminal" windowactivate %@
xdotool search --name "braiam@bt" windowactivate %@

যেকোন বাইনারি হিসাবে পরিচিত জন্য প্রথম চেহারা *terminal*, দ্বিতীয় শিরোনাম হিসাবে যে কোনও উইন্ডো সন্ধান করে *braiam@bt*। তারপরে যদি আপনি এটি কোনও ব্যাশ স্ক্রিপ্টে রাখেন:

#!/bin/bash

set -e
program=$@

xdotool search --class '$program' windowactivate %@
xdotool search --name '$program' windowactivate %@

xdotoolম্যানুয়ালটিতে আপনি এটি সম্পর্কে আরও জানতে পারবেন ।


0

গ্রাফিকভাবে আমার উবুন্টু ডেস্কটপে, আমি আমার আইকনগুলি আমার ডেস্কটপের বাম-পাশের মার্জিনে উল্লম্বভাবে সাজিয়ে রেখেছি। আপনি যদি টার্মিনাল আইকনে ক্লিক করে রেখে দেন তবে আপনি সমস্ত টার্মিনাল উইন্ডো দেখতে পাবেন। তারপরে আপনি যে কোনও একটিতে কাজ করতে পারবেন তা বেছে নিতে পারেন you আপনার সক্রিয় টার্মিনাল হতে যাকেই আপনি চয়ন করতে পারেন।

এই একই পদ্ধতিটি আপনার ব্রাউজারের মতো অন্য কোনও অ্যাপ্লিকেশনের জন্য কাজ করা উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.