আমি মোটামুটি নিশ্চিত যে এটি করা অসম্ভব। কারণগুলির কারণগুলি হ'ল জিনোমের মতো উইন্ডোটিং পরিবেশগুলি সফ্টওয়্যারটি এটি পরিচালনা করবে বলে আশা করে এবং সফ্টওয়্যার নির্মাতারা উইন্ডোটিং পরিবেশগুলি এটি পরিচালনা করবে বলে আশা করে।
ডেভিলস্পি একটি ভাল ধারণা, তবে এটি প্যাটার্ন ম্যাচিং করে (যেমন, যদি নাম == 'গুগল-ক্রোম')) তাহলে আমি যদি দুটি ব্রাউজার খুলি তবে কী হবে? তারা উভয় একই কর্মক্ষেত্রে স্থানান্তরিত? আমার কাছে 6x3 = 18 ওয়ার্কস্পেস রয়েছে, প্রতিটি ক্রোমের একটি নির্দিষ্ট উদাহরণ সহ। যদি আমি এই প্রোগ্রামগুলির নামকরণ করতে পারি (যেমন 'গুগল-ক্রোম 1', 'গুগল-ক্রোম 2' ...) তবে এটি সাহায্য করবে তবে আমি এটি করার উপায় খুঁজে পাই না। সুতরাং আমাদের wmctrl ব্যবহার করতে হবে।
উইন্ডো শিরোনাম ব্যবহার করার সাথে সাথে ডাব্লুএমটিআরএল আরও ভাল বি / সি, আপনি উইন্ডো আইডি ব্যবহার করতে পারেন বা কেবলমাত্র বর্তমানে হাইলাইট করা উইন্ডো ব্যবহার করতে পারেন। উইন্ডো আইডিগুলি তাত্ক্ষণিকভাবে তৈরি করা হয় না তা খ / সি পেতে একটি ব্যথা। নিচে দেখ
gedit 1.txt
#get window ID by looking at wmctrl -l store in windowID
wmctrl -i -r $windowID -e 0,3660,0,-1,-1
কিন্তু তারপরে জিডিট প্রস্থান না হওয়া অবধি নিয়ন্ত্রণ কমান্ড লাইনে ফিরে আসে না। এটি ঘুরে দেখার জন্য আমাদের যা করতে হবে তা একটি &
চিহ্ন রয়েছে
gedit 1.txt &
#get window ID by looking at wmctrl -l store in windowID
wmctrl -i -r $windowID -e 0,3660,0,-1,-1
তবে এখন নিয়ন্ত্রণটি 99,999%, কমান্ড লাইনে ফিরে এসেছে উইন্ডো পরিচালকদের উইন্ডোটি চালু করার আগে এবং উইন্ডো আইডি খুঁজে পাওয়ার কোনও উপায় নেই। কোনও নতুন উইন্ডোজ তৈরি হয়েছে কিনা তা পরীক্ষা করতে এবং এটি যে উইন্ডোটি আমরা সন্ধান করছি তা অনুমান করার জন্য একটি অত্যন্ত জটিল লুপিং কৌশল স্থাপন করতে হবে।
পতাকাটির মাধ্যমে সক্রিয় উইন্ডোটি পরীক্ষা :ACTIVE:
করার ক্ষেত্রে একই সমস্যা রয়েছে, এটি প্রোগ্রামটি শেষ হয়ে যাওয়ার জন্য অপেক্ষা করে না।
wmctrl
একটি খুব অদ্ভুত প্রোগ্রাম হিসাবে আমাকে আঘাত। দেখে মনে হচ্ছে এটি মাউসবিহীন লোকদের জন্য তৈরি করা হয়েছিল, বা কর্মক্ষেত্রগুলি জুড়ে তাদের প্রোগ্রামগুলি শারীরিকভাবে টানতে অক্ষম।