উত্তর:
ভাল, পরে-পরে sudo apt-get install wmctrl
, আপনি এই বাশ স্ক্রিপ্টটি খেলতে পারেন:
#! /bin/bash
WINTITLE="Mail/News" # Main Thunderbird window has this in titlebar
PROGNAME="mozilla-thunderbird" # This is the name of the binary for t-bird
# Use wmctrl to list all windows, count how many contain WINTITLE,
# and test if that count is non-zero:
if [ `wmctrl -l | grep -c "$WINTITLE"` != 0 ]
then
wmctrl -a "$WINTITLE" # If it exists, bring t-bird window to front
else
$PROGNAME & # Otherwise, just launch t-bird
fi
exit 0
যা আমি এখানে পেয়েছি
if ! wmctrl -l | grep -q "$WINTITLE"
wmctrl
একটি -i
বিকল্প রয়েছে, যা তার হেক্স সনাক্তকারী সাথে উইন্ডোতে কাজ করা সমর্থন করে। এবং তাই আপনি এটি করতে পারেন wmctrl -lp|grep 'whatever incomplete name'|cut -d' ' -f1|xargs wmctrl -ai
- যা অনুরূপ কিছু করবে
ব্যবহার করার সময় xdotool
, শুধুমাত্র একটি কমান্ড ব্যবহার করে প্রদত্ত অ্যাপ্লিকেশন বা শ্রেণীর জন্য সমস্ত উইন্ডো সামনে আনতে অসুবিধা হয় । আমি for
শেল স্তরের লুপে এটি মোড়ানো দ্বারা আরও ভাল ফলাফল শেষ করি । ব্যাশ ব্যবহার:
for WINDOW in $(xdotool search --desktop 0 Firefox); do
xdotool windowactivate ${WINDOW}
done
কয়েকটি মন্তব্য:
xdotool search
প্যাটার্নটি (এখানে Firefox
) সন্ধান করবে । আপনি আপনার সার্চ স্পেস সীমিত করতে চান, প্রাসঙ্গিক ব্যবহার --class
, --name
বা --classname
অপশন।--desktop 0
বিকল্প প্রথম ডেস্কটপে অনুসন্ধান সীমিত করে। XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
কিছু মন্তব্যে উল্লিখিত বিষয়টি এড়াতে এটি একদম কাজ বলে মনে হচ্ছে ।xdotool
প্রকল্পটি ২০১৫ সাল থেকে বন্ধ রয়েছে। এটি এখনও আমার পছন্দের সরঞ্জাম হিসাবে রয়ে গেছে। ব্যক্তিগত কারণে, জর্ডান সিসেল (মূল লেখক) অতীতের মতো সক্রিয় নয়, তাই এই প্রকল্পে অবদান রাখতে দ্বিধা করবেন না।
xdotool windowraise
উইন্ডোটি সামনে এনেছে তবে উইন্ডোটিতে ফোকাস দেয় না বা উইন্ডোটি দিয়ে ডেস্কটপে স্যুইচ করে না। পরিবর্তে,windowactivate
তিনটিই করবে।