এটি হল xdotool কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
xdotool - কমান্ড-লাইন X11 অটোমেশন টুল
সাইনোপিসিস
xdotool cmd কমান্ড args...
নোটেশন: কিছু ডকুমেন্টেশন ব্যবহার করে [জানলা] একটি ঐচ্ছিক উইন্ডো আর্গুমেন্ট বোঝাতে। এই
মামলার অর্থ হল যুক্তি, যদি উপস্থিত না হয়, ডিফল্ট হবে "%1"। এর জন্য "WINDOW STACK" দেখুন
"%1" মানে কি।
বর্ণনাঃ
xdotool আপনাকে প্রোগ্রাম্যাটিকভাবে (বা ম্যানুয়ালি) কীবোর্ড ইনপুট এবং মাউস কার্যকলাপ অনুকরণ করতে দেয়,
উইন্ডোজ সরানো এবং পুনরায় আকার দেওয়া, ইত্যাদি। এটি X11 এর XTEST এক্সটেনশন এবং অন্যান্য Xlib ব্যবহার করে
ফাংশন।
এক্সটেন্ডেড উইন্ডো ম্যানেজার ইঙ্গিতগুলির জন্য কিছু সমর্থন রয়েছে (ওরফে EWMH বা NetWM)। দেখুন
আরও তথ্যের জন্য "বর্ধিত উইন্ডো ম্যানেজার হিন্টস" বিভাগ।
কীবোর্ড কম্যান্ডস
চাবি [বিকল্প] কীস্ট্রোক [কীস্ট্রোক ...]
বিকল্প:
--জানলা জানলা
একটি নির্দিষ্ট উইন্ডো আইডিতে কীস্ট্রোক পাঠান। আপনি "WINDOW STACK" রেফারেন্স ব্যবহার করতে পারেন
এখানে "%1" এবং "%@" এর মত। যদি একটি উইন্ডো স্ট্যাক থাকে, তাহলে "%1" ডিফল্ট,
অন্যথায় বর্তমান উইন্ডো ব্যবহার করা হয়।
আরও দেখুন: "সেন্ডইভেন্ট নোটস" এবং "উইন্ডো স্ট্যাক"
--ক্লিয়ারমোডিফায়ার
কীস্ট্রোক পাঠানোর আগে সংশোধক সাফ করুন। নীচে CLEARMODIFIERS দেখুন।
-- বিলম্ব মিলিসেকেন্ড
কীস্ট্রোকের মধ্যে বিলম্ব। ডিফল্ট হল 12ms
একটি প্রদত্ত কীস্ট্রোক টাইপ করুন। উদাহরণ হচ্ছে "alt+r", "Control_L+J", "ctrl+alt+n",
"ব্যাকস্পেস"।
সাধারণত, যেকোনো বৈধ X Keysym স্ট্রিং কাজ করবে। একাধিক কী '+' দ্বারা পৃথক করা হয়েছে।
"alt", "ctrl", "shift", "super" এবং "meta"-এর উপনাম বিদ্যমান যা সবগুলো Foo_L-তে মানচিত্র,
যেমন Alt_L এবং Control_L, ইত্যাদি।
এমন ক্ষেত্রে যেখানে আপনার কীবোর্ডে আসলে আপনি টাইপ করতে চান এমন কী নেই, xdotool
স্বয়ংক্রিয়ভাবে একটি অব্যবহৃত কীকোড খুঁজে পাবে এবং কী টাইপ করতে এটি ব্যবহার করবে।
"কমান্ড চেইনিং" এর ক্ষেত্রে, এই কমান্ডটি অবশিষ্টাংশ গ্রাস করে
আর্গুমেন্ট বা একটি নতুন xdotool কমান্ড না দেখা পর্যন্ত, কারণ xdotool কমান্ড নেই
বৈধ কীস্ট্রোক।
উদাহরণ: কীস্ট্রোক "F2" পাঠান
xdotool কী F2
উদাহরণ: এর উপরে একটি উচ্চারণ সহ 'a' পাঠান (ইংরেজি কীবোর্ডে নয়, তবে এখনও কাজ করে
xdotool সহ)
xdotool কী Aacute
উদাহরণ: ctrl+l এবং তারপর ব্যাকস্পেসকে আলাদা কীস্ট্রোক হিসেবে পাঠান:
xdotool কী ctrl+l ব্যাকস্পেস
উদাহরণ: 'gdb' শিরোনাম মেলে সব উইন্ডোতে ctrl+c পাঠান ("কমান্ড চেইনিং" দেখুন)
xdotool অনুসন্ধান --name gdb কী ctrl+c
কীডাউন [বিকল্প] কীস্ট্রোক
উপরের মতই, শুধুমাত্র কীডাউন ছাড়া (প্রেস) ইভেন্ট পাঠানো হয়।
কীআপ কীস্ট্রোক
উপরের মতই, শুধুমাত্র কীআপ (রিলিজ) ইভেন্টগুলি ছাড়া পাঠানো হয়।
আদর্শ [বিকল্প] কিছু থেকে আদর্শ
বিকল্প:
--জানলা windowid
একটি নির্দিষ্ট উইন্ডো আইডিতে কীস্ট্রোক পাঠান। নীচে "প্রেরিত নোটস" দেখুন। ডিফল্ট,
যদি কোন উইন্ডো দেওয়া না হয়, উইন্ডো স্ট্যাকের উপর নির্ভর করে। যদি উইন্ডো স্ট্যাক খালি থাকে
বর্তমান উইন্ডোটি XTEST ব্যবহার করে টাইপ করা হয়েছে। অন্যথায়, ডিফল্ট হল "%1" (দেখুন
"উইন্ডো স্ট্যাক")।
-- বিলম্ব মিলিসেকেন্ড
কীস্ট্রোকের মধ্যে বিলম্ব। ডিফল্ট হল 12ms
--ক্লিয়ারমোডিফায়ার
কীস্ট্রোক পাঠানোর আগে সংশোধক সাফ করুন। নীচে CLEARMODIFIERS দেখুন।
টাইপ করুন যেন আপনি এটি টাইপ করেছেন। নিউলাইন এবং ট্যাব (ASCII নিউলাইন এবং ট্যাব) সমর্থন করে। প্রতিটি
কীস্ট্রোক দ্বারা প্রদত্ত বিলম্ব দ্বারা পৃথক করা হয় -- বিলম্ব বিকল্প।
"কমান্ড চেইনিং" এর ক্ষেত্রে, এই কমান্ডটি অবশিষ্টাংশ গ্রাস করে
আর্গুমেন্ট এবং তাদের টাইপ. অর্থাৎ, 'টাইপ' এর পরে কোনো কমান্ড চেইন করতে পারে না।
উদাহরণ: 'হ্যালো ওয়ার্ল্ড!' টাইপ করতে আপনি করবেন:
xdotool টাইপ 'হ্যালো ওয়ার্ল্ড!'
মাউস কম্যান্ডস
মাউসমুভ [বিকল্প] x y OR 'পুনরুদ্ধার'
স্ক্রিনের নির্দিষ্ট X এবং Y স্থানাঙ্কে মাউস সরান।
যদি আপনি একটি এর পরিবর্তে 'পুনরুদ্ধার' উল্লেখ করেন তবে আপনি মাউসটিকে আগের অবস্থানে নিয়ে যেতে পারেন
X এবং Y স্থানাঙ্ক। পুনরুদ্ধার করা শুধুমাত্র তখনই কাজ করে যদি আপনি আগে এই একই জায়গায় সরে থাকেন
আদেশ আহ্বান। উপরন্তু, এটি --window বিকল্পের সাথে কাজ করে না।
উদাহরণস্বরূপ, স্ক্রিনের উপরের-বাম কোণে ক্লিক করতে এবং মাউসকে সরাতে
আপনি এটি সরানোর আগে মূল অবস্থান, এটি ব্যবহার করুন:
xdotool mousemove 0 0 ক্লিক করুন 1 mousemove restore
--জানলা জানলা
আপেক্ষিক সরানোর জন্য একটি উইন্ডো নির্দিষ্ট করুন। স্থানাঙ্ক 0,0 এর উপরের বাম দিকে রয়েছে
আপনি চয়ন উইন্ডো.
"WINDOW STACK" রেফারেন্স এখানে বৈধ, যেমন %1 এবং %@। যদিও, %@ ব্যবহার করে
সম্ভবত কোন অর্থ নেই।
--স্ক্রিন স্ক্রীনে
যাবার জন্য মাউসকে নির্দিষ্ট স্ক্রিনে নিয়ে যান। এটি শুধুমাত্র দরকারী যদি আপনি আছে
একাধিক স্ক্রীন এবং Xinerama ব্যবহার করছে না।
ডিফল্ট বর্তমান পর্দা. আপনি যদি --window নির্দিষ্ট করেন, তাহলে --screen পতাকা হয়
উপেক্ষা করা
--পোলার
পোলার স্থানাঙ্ক ব্যবহার করুন। এটি 'x' কে একটি কোণ করে (ডিগ্রীতে, 0-360, ইত্যাদি) এবং 'y'
দূরত্ব.
ঘূর্ণন 'উপরে' (0 ডিগ্রি) থেকে শুরু হয় এবং ঘড়ির কাঁটার দিকে ঘোরে: 90 = ডান, 180 = নীচে,
270 = বাকি।
বর্তমান স্ক্রিনের কেন্দ্রে মূল ডিফল্ট। যদি আপনি একটি নির্দিষ্ট করুন
--উইন্ডো, তাহলে উৎপত্তি হল সেই জানালার কেন্দ্র।
--ক্লিয়ারমোডিফায়ার
CLEARMODIFIERS দেখুন
--সুসংগত
মাউস সরানোর অনুরোধ পাঠানোর পরে, মাউসটি সরানো পর্যন্ত অপেক্ষা করুন। যদি
কোন আন্দোলনের প্রয়োজন নেই, আমরা অপেক্ষা করব না। এটি নির্ভরশীল স্ক্রিপ্টগুলির জন্য দরকারী
অগ্রসর হওয়ার আগে ক্রিয়া সম্পন্ন হওয়ার বিষয়ে।
দ্রষ্টব্য: আমরা মাউসের নড়াচড়া না হওয়া পর্যন্ত অপেক্ষা করি, অগত্যা এটি আসলে নয়
আপনার কাঙ্খিত গন্তব্যে পৌঁছায়। কিছু অ্যাপ্লিকেশন মাউস কার্সার লক করে
স্ক্রিনের নির্দিষ্ট কিছু অঞ্চলে, তাই যে কোনও নড়াচড়ার জন্য অপেক্ষা করা ভাল
একটি নির্দিষ্ট লক্ষ্যের জন্য অপেক্ষা করার চেয়ে সাধারণ ক্ষেত্রে।
mousemove_relative [বিকল্প] x y
মাউস কার্সারের বর্তমান অবস্থানের সাপেক্ষে মাউস x,y পিক্সেল সরান।
--পোলার
পোলার স্থানাঙ্ক ব্যবহার করুন। এটি 'x' কে একটি কোণ করে (ডিগ্রীতে, 0-360, ইত্যাদি) এবং 'y'
দূরত্ব.
ঘূর্ণন 'উপরে' (0 ডিগ্রি) থেকে শুরু হয় এবং ঘড়ির কাঁটার দিকে ঘোরে: 90 = ডান, 180 = নীচে,
270 = বাকি।
--সুসংগত
মাউস সরানোর অনুরোধ পাঠানোর পরে, মাউসটি সরানো পর্যন্ত অপেক্ষা করুন। যদি
কোন আন্দোলনের প্রয়োজন নেই, আমরা অপেক্ষা করব না। এটি নির্ভরশীল স্ক্রিপ্টগুলির জন্য দরকারী
অগ্রসর হওয়ার আগে ক্রিয়া সম্পন্ন হওয়ার বিষয়ে।
মনে রাখবেন যে আমরা মাউসটি নড়াচড়া করা পর্যন্ত অপেক্ষা করি, অগত্যা এটি আসলে নয়
আপনার কাঙ্খিত গন্তব্যে পৌঁছায়। কিছু অ্যাপ্লিকেশন মাউস কার্সার লক করে
স্ক্রিনের নির্দিষ্ট কিছু অঞ্চলে, তাই যে কোনও নড়াচড়ার জন্য অপেক্ষা করা ভাল
একটি নির্দিষ্ট লক্ষ্যের জন্য অপেক্ষা করার চেয়ে সাধারণ ক্ষেত্রে।
--ক্লিয়ারমোডিফায়ার
CLEARMODIFIERS দেখুন
ক্লিক [বিকল্প] বোতাম
একটি ক্লিক পাঠান, অর্থাৎ, একটি মাউসডাউন এবং একটি দিয়ে প্রদত্ত বোতামের জন্য মাউসআপ
উভয়ের মধ্যে স্বল্প বিলম্ব (বর্তমানে 12ms)।
বোতামগুলি সাধারণত এইভাবে ম্যাপ করে: বাম মাউস 1, মাঝখানে 2, ডান 3, চাকা উপরে
4, চাকা ডাউন হল 5।
--ক্লিয়ারমোডিফায়ার
ক্লিক করার আগে সংশোধক সাফ করুন। নীচে CLEARMODIFIERS দেখুন।
--পুনরাবৃত্তি পুনরাবৃত্তি
কতবার ক্লিক করতে হবে তা উল্লেখ করুন। ডিফল্ট হল 1। একটি ডাবল-ক্লিকের জন্য, '--পুনরাবৃত্তি ব্যবহার করুন
2'
-- বিলম্ব মিলিসেকেন্ড
ক্লিকের মধ্যে কতক্ষণ, মিলিসেকেন্ডে বিলম্ব করতে হবে তা নির্দিষ্ট করুন। এই বিকল্পটি নয়
যদি ব্যবহৃত হয় --পুনরাবৃত্তি পতাকা 1 (ডিফল্ট) এ সেট করা আছে।
--জানলা জানলা
একটি ক্লিক পাঠাতে একটি উইন্ডো নির্দিষ্ট করুন. সতর্কতার জন্য নীচে "প্রেরিত নোটস" দেখুন। ব্যবহারসমূহ
ইভেন্ট তৈরি করার সময় বর্তমান মাউসের অবস্থান।
ডিফল্ট, যদি কোন উইন্ডো না দেওয়া হয়, উইন্ডো স্ট্যাকের উপর নির্ভর করে। জানালা হলে
স্ট্যাক খালি বর্তমান উইন্ডোটি XTEST ব্যবহার করে টাইপ করা হয়েছে। অন্যথায়, ডিফল্ট
হল "%1" ("উইন্ডো স্ট্যাক" দেখুন)।
মাউসডাউন [বিকল্প] বোতাম
একই রকম ক্লিক, শুধুমাত্র একটি মাউস নিচে পাঠানো হয় ছাড়া.
মাউসআপ [বিকল্প] বোতাম
একই রকম ক্লিক, শুধুমাত্র একটি মাউস আপ পাঠানো হয় ছাড়া.
গেটমাউসলোকেশন [-শেল]
মাউস কার্সারের x, y, স্ক্রীন এবং উইন্ডো আইডি আউটপুট করে। স্ক্রীন নম্বর থাকবে
যদি আপনার একাধিক মনিটর থাকে এবং আপনি Xinerama ব্যবহার না করেন তাহলে nonzero.
--শেল
এটি গেটমাউসেলকেশন আউটপুট শেল ডেটা তৈরি করে যা আপনি ইভাল করতে পারেন। উদাহরণ:
% xdotool getmouselocation --shell
এক্স = 880
Y = 443
স্ক্রীন=0
উইন্ডো=16777250
% eval $(xdotool getmouselocation --shell)
% প্রতিধ্বনি $X,$Y
714,324
behave_screen_edge [বিকল্প] কোথায় হুকুম ...
মাউস যখন স্ক্রিনের প্রান্তে বা কোণায় আঘাত করে তখন ইভেন্টগুলির সাথে একটি ক্রিয়া বাঁধুন৷
বিকল্পগুলি হ'ল:
-- বিলম্ব মিলিসেকেন্ড
কমান্ড চালানোর আগে মিলিসেকেন্ডে বিলম্ব করুন। এটি আপনাকে একটি প্রয়োজন করতে দেয়
প্রদত্ত প্রান্ত বা কোণটি আপনার কমান্ড চালানোর আগে অল্প সময়ের জন্য ধরে রাখতে হবে।
বিলম্বের মেয়াদ শেষ হওয়ার আগে আপনি যদি প্রান্ত বা কোণটি ছেড়ে যান তবে সময়টি পুনরায় সেট হবে।
-- শান্ত মিলিসেকেন্ড
পরবর্তী কমান্ড চালানোর আগে মিলিসেকেন্ডে বিলম্ব করুন। এটি প্রতিরোধ করতে সাহায্য করে
ঘটনাক্রমে আপনার কমান্ড অতিরিক্ত বার চালানো; বিশেষ করে দরকারী যদি আপনি একটি
খুব সংক্ষিপ্ত -- বিলম্ব (0 এর ডিফল্টের মত)।
ইভেন্ট টাইমলাইন
* মাউস একটি প্রান্ত বা কোণে আঘাত করে।
* বিলম্ব অশূন্য হলে, বিলম্বের সময় শেষ না হওয়া পর্যন্ত মাউসটিকে এই প্রান্তে বা কোণে থাকতে হবে।
* যদি এখনও প্রান্ত/কোণে থাকে, ট্রিগার করুন।
* যদি quiesce nonzero হয়, তাহলে একটি কুল-ডাউন পিরিয়ড আছে যেখানে পরবর্তী
ট্রিগার ঘটতে পারে না
বৈধ 'যেখানে' মানগুলি হল:
বাম
উপরে বাঁদিকে
শীর্ষ
উপরের ডানে
অধিকার
নিচে বামে
পাদ
নিচের ডানে
উদাহরণ:
# গুগল-ক্রোম সক্রিয় করুন যখন আপনি মাউসটি নীচে-বাম কোণায় নিয়ে যান:
xdotool behave_screen_edge নীচে-বামে \
অনুসন্ধান --class google-chrome windowactivate
# পরবর্তী কর্মক্ষেত্রে যান (ডানদিকে)। জিনোমে কাজ করার জন্য পরিচিত (মেটাসিটি এবং কম্পিজ)
xdotool behave_screen_edge --বিলম্বিত 500 নীচে-ডান কী XF86ফরওয়ার্ড
# ফায়ারফক্স সক্রিয় করুন এবং আপনার ক্লিপবোর্ডে পাঠ্যের জন্য একটি নতুন ট্যাবে একটি ওয়েব অনুসন্ধান করুন
xdotool behave_screen_edge -- বিলম্ব 1000 উপরে-বাম \
অনুসন্ধান --classname ন্যাভিগেটর \
windowactivate --sync key --delay 250 ctrl+t ctrl+k ctrl+v রিটার্ন
জানলা কম্যান্ডস
অনুসন্ধান [বিকল্প] প্যাটার্ন
শিরোনাম, নাম, বা রেগুলার এক্সপ্রেশন প্যাটার্ন সহ ক্লাস সহ উইন্ডো অনুসন্ধান করুন।
আউটপুট হল X উইন্ডো শনাক্তকারীর লাইন-ডিলিমিটেড তালিকা। আপনি যদি "COMMAND" ব্যবহার করেন
চেইনিং", অনুসন্ধান কমান্ডটি শুধুমাত্র উইন্ডো আইডি লিখবে stdout এ যদি এটি শেষ হয়
(বা শুধুমাত্র) চেইন কমান্ড; অন্যথায়, এটি নীরব।
ফলাফলটি ভবিষ্যতের চেইনড কমান্ডের জন্য উইন্ডো স্ট্যাকে সংরক্ষিত হয়। দেখুন "WINDOW
বিস্তারিত জানার জন্য স্ট্যাক" এবং "কমান্ড চেইনিং"।
ডিফল্ট বিকল্পগুলি হল "--name --class --classname" (যদি না আপনি একটি নির্দিষ্ট করেন বা
--name --class বা --classname এর বেশি)
উপলব্ধ অপশনগুলি হল:
--শ্রেণী
উইন্ডো ক্লাস বিরুদ্ধে ম্যাচ.
--শ্রেণির নাম
উইন্ডো ক্লাসনামের সাথে মিল।
--সর্বোচ্চ গভীরতা N
পুনরাবৃত্তি/শিশু অনুসন্ধান গভীরতা সেট করুন। ডিফল্ট হল -1, মানে অসীম। 0 মানে না
গভীরতা, শুধুমাত্র রুট উইন্ডো অনুসন্ধান করা হবে। আপনি যদি শুধুমাত্র টপলেভেল উইন্ডোজ চান, সেট করুন
সর্বাধিক গভীরতা 1 (বা 2, আপনার উইন্ডো ম্যানেজার কীভাবে সাজসজ্জা করে তার উপর নির্ভর করে)।
-- নাম
উইন্ডো নামের বিরুদ্ধে ম্যাচ. এটি একই স্ট্রিং যা প্রদর্শিত হয়
উইন্ডো শিরোনামবার।
--শুধুমাত্র দৃশ্যমান
ফলাফলে শুধুমাত্র দৃশ্যমান উইন্ডো দেখান। এর মানে ম্যাপ স্টেট সহ
দেখাযোগ্য।
--পিড পিআইডি
একটি নির্দিষ্ট প্রসেস আইডির অন্তর্গত উইন্ডোর সাথে মিল করুন। এটি কিছু X এর জন্য কাজ নাও করতে পারে
যে অ্যাপ্লিকেশনগুলি এই মেটাডেটা তার উইন্ডোতে সেট করে না।
--স্ক্রিন N
শুধুমাত্র একটি নির্দিষ্ট স্ক্রিনে উইন্ডোজ নির্বাচন করুন। ডিফল্ট হল সব স্ক্রীন সার্চ করা। কেবল
অর্থপূর্ণ যদি আপনার একাধিক ডিসপ্লে থাকে এবং আপনি Xinerama ব্যবহার না করেন।
--ডেস্কটপ N
শুধুমাত্র একটি নির্দিষ্ট ডেস্কটপে উইন্ডোর সাথে মেলে। 'N' একটি সংখ্যা। ডিফল্ট অনুসন্ধান করা হয়
সব ডেস্কটপ।
--সীমা N
N ম্যাচিং উইন্ডোগুলি খুঁজে পাওয়ার পরে অনুসন্ধান করা বন্ধ করুন। একটি সীমা নির্দিষ্ট করা সাহায্য করবে
আপনি যদি শুধুমাত্র কয়েকটি ফলাফল চান তবে আপনার অনুসন্ধানের গতি বাড়ান।
ডিফল্ট কোনো অনুসন্ধান সীমা নয় (যা '--সীমা 0' এর সমতুল্য)
--শিরোনাম
বঞ্চিত। দেখুন --নাম।
--সব
সব শর্ত পূরণ করা আবশ্যক. উদাহরণ স্বরূপ:
xdotool অনুসন্ধান --all --pid 1424 --name "হ্যালো ওয়ার্ল্ড"
এটি শুধুমাত্র সেই উইন্ডোগুলির সাথে মিলবে যেগুলির নাম হিসাবে "হ্যালো ওয়ার্ল্ড" আছে এবং এর মালিকানা রয়েছে৷
পিড 1424।
--যেকোনো
যে কোনো অবস্থার সাথে মেলে এমন উইন্ডোর সাথে মিল করুন (যৌক্তিকভাবে, 'বা')। এটি ডিফল্টরূপে চালু আছে।
উদাহরণ স্বরূপ:
xdotool অনুসন্ধান --any --pid 1424 --name "হ্যালো ওয়ার্ল্ড"
এটি পিড 1424-এর মালিকানাধীন যেকোনো উইন্ডোর সাথে বা "হ্যালো ওয়ার্ল্ড" নামের উইন্ডোর সাথে মিলবে
--সুসংগত
ফলাফল না আসা পর্যন্ত ব্লক করুন। আপনি একটি চালু করার সময় এটি দরকারী
অ্যাপ্লিকেশন উইন্ডোটি দৃশ্যমান না হওয়া পর্যন্ত অপেক্ষা করতে চায়। জন্য
উদাহরণস্বরূপ:
গুগল ক্রম &
xdotool অনুসন্ধান --sync --onlyvisible --class "google-chrome"
উইন্ডো নির্বাচন করুন
এটিতে ক্লিক করে উইন্ডো আইডি (একটি ক্লায়েন্টের জন্য) পান। স্ক্রিপ্ট ক্যোয়ারী থাকার জন্য দরকারী
আপনি কি উইন্ডোতে কাজ করার জন্য মানুষ. উদাহরণস্বরূপ, একটি উইন্ডোতে ক্লিক করে হত্যা করুন:
xdotool selectwindow windowkill
আচরণ করা জানলা কর্ম হুকুম ...
একটি উইন্ডোতে একটি ইভেন্টে একটি অ্যাকশন আবদ্ধ করুন। এটি আপনাকে অতিরিক্ত xdotool কমান্ড চালাতে দেয়
যখনই একটি মিলে যাওয়া ঘটনা ঘটে।
আচরণের ফলস্বরূপ চালানো কমান্ডটি %1 এর সাথে চালানো হয় যেটি উইন্ডোটি ছিল
সে অনুপাতে কাজ. ইভেন্ট তালিকার পরে উদাহরণ অনুসরণ করুন।
নিম্নলিখিত বৈধ ঘটনা:
মাউস-এন্টার
মাউস যখন জানালায় প্রবেশ করে তখন আগুন লাগে। এটি 'মাউস ওভার' ইভেন্টের মতো
জাভাস্ক্রিপ্ট, যদি এটি সাহায্য করে।
মাউস-লিভ
মাউস যখন জানালা ছেড়ে দেয় তখন আগুন লাগে। এটি 'মাউস-এন্টার' এর বিপরীত
মাউস-ক্লিক
মাউস ক্লিক করা হলে আগুন লাগে। বিশেষ করে, যখন মাউস বোতাম মুক্তি পায়।
কেন্দ্রবিন্দু
উইন্ডো ইনপুট ফোকাস পায় যখন আগুন.
দাগ
জানালা ফোকাস হারায় আগুন।
উদাহরণ:
# যখনই মাউস বর্তমানে দৃশ্যমান অবস্থায় প্রবেশ করে তখনই কার্সারের অবস্থান প্রিন্ট করুন
# জানলা:
xdotool অনুসন্ধান --শুধুমাত্র দৃশ্যমান। behave %@ mouse-এন্টার getmouselocation
# যখনই একটি xterm ফোকাস পায় তখন উইন্ডো শিরোনাম এবং পিড প্রিন্ট করুন
xdotool অনুসন্ধান --class xterm আচরণ %@ ফোকাস getwindowname getwindowpid
# ফোকাস-অনুসরণ-মাউস অনুকরণ করুন
xdotool অনুসন্ধান। আচরণ %@ মাউস-এন্টার উইন্ডোফোকাস
গেট উইন্ডোপিড [জানলা]
একটি প্রদত্ত উইন্ডোর মালিক PID আউটপুট। এর জন্য আবেদনের মালিকানার প্রচেষ্টা প্রয়োজন
একটি উইন্ডো এবং সব উইন্ডোর জন্য কাজ নাও করতে পারে। এটি _NET_WM_PID বৈশিষ্ট্য ব্যবহার করে
জানলা. আরও তথ্যের জন্য নীচে "বর্ধিত উইন্ডো ম্যানেজার হিন্টস" দেখুন।
যদি কোন উইন্ডো না দেওয়া হয়, ডিফল্ট '%1'। যদি স্ট্যাকের উপর কোন উইন্ডো না থাকে, তাহলে এটি
একটি ত্রুটি আরো বিস্তারিত জানার জন্য "WINDOW STACK" দেখুন।
উদাহরণ: সমস্ত এক্সটার্মের জন্য পিআইডি খুঁজুন:
xdotool অনুসন্ধান --class xterm getwindowpid %@
getwindowname [জানলা]
একটি প্রদত্ত উইন্ডোর নাম আউটপুট করুন, এটি শিরোনাম নামেও পরিচিত। এই টেক্সট প্রদর্শিত হয়
আপনার উইন্ডো ম্যানেজার দ্বারা উইন্ডোর শিরোনামবারে।
যদি কোন উইন্ডো না দেওয়া হয়, ডিফল্ট '%1'। যদি স্ট্যাকের উপর কোন উইন্ডো না থাকে, তাহলে এটি
একটি ত্রুটি আরো বিস্তারিত জানার জন্য "WINDOW STACK" দেখুন।
গেট উইন্ডোজ্যামিট্রি [বিকল্প] [জানলা]
একটি উইন্ডোর জ্যামিতি (অবস্থান এবং অবস্থান) আউটপুট করুন। মানগুলির মধ্যে রয়েছে: x, y,
প্রস্থ, উচ্চতা এবং স্ক্রীন নম্বর।
--শেল
একটি শেলের 'eval'-এর জন্য উপযুক্ত আউটপুট মান।
গেট উইন্ডোফোকাস [-চ]
বর্তমানে ফোকাস করা উইন্ডোর উইন্ডো আইডি প্রিন্ট করে। ফলাফলটি উইন্ডোতে সংরক্ষণ করে
স্ট্যাক আরো বিস্তারিত জানার জন্য "WINDOW STACK" দেখুন।
যদি বর্তমান উইন্ডোতে কোনো WM_CLASS প্রপার্টি না থাকে, তাহলে আমরা ধরে নিই যে এটি একটি সাধারণ টপ-লেভেল নয়
আমরা একটি WM_CLASS সেট সহ একটি উইন্ডো খুঁজে না পাওয়া পর্যন্ত উইন্ডো এবং অভিভাবকদের অতিক্রম করুন
সেই উইন্ডো আইডি ফেরত দিন।
আপনি যদি সত্যিই চান যে উইন্ডোটিতে বর্তমানে ফোকাস রয়েছে এবং এটি একটি আছে কিনা তা চিন্তা করবেন না
WM_CLASS সেটিং, তারপর 'getwindowfocus -f' ব্যবহার করুন
জানালার আকার [বিকল্প] [উইন্ডো] প্রস্থ উচ্চতা
প্রদত্ত উইন্ডোর উইন্ডোর আকার সেট করুন। যদি কোন উইন্ডো না দেওয়া হয়, %1 ডিফল্ট।
আরও বিস্তারিত জানার জন্য "উইন্ডো স্ট্যাক" এবং "কমান্ড চেইনিং" দেখুন।
শতাংশ প্রস্থ এবং উচ্চতার জন্য বৈধ। তারা জ্যামিতির সাথে আপেক্ষিক
স্ক্রীন উইন্ডো চালু আছে। উদাহরণস্বরূপ, পর্দার সম্পূর্ণ প্রস্থে একটি উইন্ডো তৈরি করতে,
কিন্তু অর্ধেক উচ্চতা:
xdotool windowsize I 100% 50%
শতকরা --usehints এর সাথে বৈধ এবং এখনও পিক্সেল-প্রস্থ আপেক্ষিক
পর্দার আকার।
উপলব্ধ অপশনগুলি হল:
--ইঙ্গিত ব্যবহার করুন
প্রস্থ এবং উচ্চতা সেট করতে উইন্ডো সাইজিং ইঙ্গিত (যখন উপলব্ধ) ব্যবহার করুন। এটি দরকারী
পিক্সেলের পরিবর্তে পাঠ্যের সারি/কলামের উপর ভিত্তি করে আকার নির্ধারণের জন্য টার্মিনালগুলিতে।
--সুসংগত
উইন্ডো আকারের অনুরোধ পাঠানোর পরে, উইন্ডোটির আকার পরিবর্তন করা পর্যন্ত অপেক্ষা করুন।
যদি কোন পরিবর্তনের প্রয়োজন না হয়, আমরা অপেক্ষা করব না। এই যে স্ক্রিপ্ট জন্য দরকারী
এগিয়ে যাওয়ার আগে ক্রিয়া সম্পন্ন হওয়ার উপর নির্ভর করে।
দ্রষ্টব্য: কারণ অনেক উইন্ডো ম্যানেজার মূল রিসাইজটিকে অগ্রাহ্য বা পরিবর্তন করতে পারে
অনুরোধ, আমরা তার আসল আকার থেকে আকার পরিবর্তন না হওয়া পর্যন্ত অপেক্ষা করব, প্রয়োজনীয় নয়
অনুরোধ করা আকারে।
উদাহরণ: 80x24 অক্ষরের একটি টার্মিনাল সেট করতে, আপনি ব্যবহার করবেন:
xdotool windowsize --usehints some_windowid 80 24
windowmove [বিকল্প] [জানলা] x y
উইন্ডোটিকে প্রদত্ত অবস্থানে সরান। যদি কোন উইন্ডো না দেওয়া হয়, %1 ডিফল্ট। দেখা
আরো বিস্তারিত জানার জন্য "উইন্ডো স্ট্যাক" এবং "কমান্ড চেইনিং"।
যদি প্রদত্ত x স্থানাঙ্কটি আক্ষরিক অর্থে 'x' হয়, তাহলে উইন্ডোর বর্তমান x অবস্থান হবে
অপরিবর্তিত একই 'y'-এর ক্ষেত্রেও প্রযোজ্য।
উদাহরণ:
xdotool getactivewindow windowmove 100 100 # 100,100 এ চলে
xdotool getactivewindow windowmove x 100 # x,100-এ চলে
xdotool getactivewindow windowmove 100 y # 100,y এ চলে
xdotool getactivewindow windowmove 100 y # 100,y এ চলে
--সুসংগত
উইন্ডো সরানোর অনুরোধ পাঠানোর পরে, উইন্ডোটি আসলে সরানো পর্যন্ত অপেক্ষা করুন। যদি
কোন আন্দোলনের প্রয়োজন নেই, আমরা অপেক্ষা করব না। এটি নির্ভরশীল স্ক্রিপ্টগুলির জন্য দরকারী
অগ্রসর হওয়ার আগে ক্রিয়া সম্পন্ন হওয়ার বিষয়ে।
--আত্মীয়
বর্তমান উইন্ডো অবস্থান আপেক্ষিক আন্দোলন করুন.
উইন্ডোফোকাস [বিকল্প] [জানলা]
একটি উইন্ডো ফোকাস করুন. যদি কোন উইন্ডো না দেওয়া হয়, %1 ডিফল্ট। "WINDOW STACK" এবং দেখুন
আরো বিস্তারিত জানার জন্য "কমান্ড চেইনিং"।
XSetInputFocus ব্যবহার করে যা কিছু উইন্ডো ম্যানেজার বা প্রোগ্রাম দ্বারা উপেক্ষা করা যেতে পারে।
--সুসংগত
উইন্ডো ফোকাস অনুরোধ পাঠানোর পরে, উইন্ডোটি আসলে ফোকাস না হওয়া পর্যন্ত অপেক্ষা করুন।
এটি এমন স্ক্রিপ্টগুলির জন্য উপযোগী যেগুলি সরানোর আগে ক্রিয়া সম্পন্ন হওয়ার উপর নির্ভর করে
উপর.
উইন্ডোম্যাপ [বিকল্প] [জানলা]
একটি উইন্ডো মানচিত্র. X11 পরিভাষায়, একটি উইন্ডো ম্যাপ করা মানে এটিকে তে দৃশ্যমান করা
পর্দা যদি কোন উইন্ডো না দেওয়া হয়, %1 ডিফল্ট। "WINDOW STACK" এবং "COMMAND" দেখুন
আরো বিস্তারিত জানার জন্য চেইনিং"।
--সুসংগত
উইন্ডো ম্যাপ অনুরোধ করার পরে, উইন্ডোটি আসলে ম্যাপ করা পর্যন্ত অপেক্ষা করুন
(দৃশ্যমান)। এটি এমন স্ক্রিপ্টগুলির জন্য দরকারী যেগুলি কাজগুলি সম্পন্ন হওয়ার উপর নির্ভর করে
এগিয়ে যাওয়ার আগে।
উইন্ডো ছোট করুন [বিকল্প] [জানলা]
একটি উইন্ডো ছোট করুন। X11 পরিভাষায় একে 'আইকনিফাই' বলা হয়। যদি কোন জানালা না থাকে
দেওয়া হয়েছে, %1 ডিফল্ট। আরও বিস্তারিত জানার জন্য "উইন্ডো স্ট্যাক" এবং "কমান্ড চেইনিং" দেখুন।
--সুসংগত
উইন্ডোটি ছোট করার অনুরোধ করার পরে, উইন্ডোটি আসলে ছোট না হওয়া পর্যন্ত অপেক্ষা করুন।
এটি এমন স্ক্রিপ্টগুলির জন্য উপযোগী যেগুলি সরানোর আগে ক্রিয়া সম্পন্ন হওয়ার উপর নির্ভর করে
উপর.
windowraise [window_id=%1]
স্ট্যাকের শীর্ষে উইন্ডোটি বাড়ান। এটি সব উইন্ডো ম্যানেজারে কাজ নাও করতে পারে। যদি
কোন উইন্ডো দেওয়া নেই, %1 ডিফল্ট। এর জন্য "উইন্ডো স্ট্যাক" এবং "কমান্ড চেইনিং" দেখুন
আরো বিস্তারিত.
উইন্ডো-প্যারেন্ট [উৎস_উইন্ডো] গন্তব্য_উইন্ডো
একটি উইন্ডো রিপেয়ার করুন। এই সরানো উৎস_উইন্ডো একটি শিশু জানালা হতে
গন্তব্য_উইন্ডো. যদি কোন উৎস না দেওয়া হয়, %1 ডিফল্ট। "উইন্ডো স্ট্যাক" উইন্ডো
রেফারেন্স (যেমন %1) উভয়ের জন্যই বৈধ উৎস_উইন্ডো এবং গন্তব্য_উইন্ডো দেখ
আরো বিস্তারিত জানার জন্য "উইন্ডো স্ট্যাক" এবং "কমান্ড চেইনিং"।
জানালা বন্ধ [জানলা]
একটি জানালা বন্ধ করুন। এই ক্রিয়াটি উইন্ডোটি ধ্বংস করবে, তবে হত্যা করার চেষ্টা করবে না
ক্লায়েন্ট এটি নিয়ন্ত্রণ করে। যদি কোন উইন্ডো না দেওয়া হয়, %1 ডিফল্ট। "উইন্ডো স্ট্যাক" দেখুন
এবং আরো বিস্তারিত জানার জন্য "কমান্ড চেইনিং"।
উইন্ডো কিল [জানলা]
একটি জানালা হত্যা. এই ক্রিয়াটি উইন্ডোটিকে ধ্বংস করবে এবং এটি নিয়ন্ত্রণকারী ক্লায়েন্টকে হত্যা করবে।
যদি কোন উইন্ডো না দেওয়া হয়, %1 ডিফল্ট। এর জন্য উইন্ডো স্ট্যাক এবং "কমান্ড চেইনিং" দেখুন
আরো বিস্তারিত.
windowunmap [বিকল্প] [window_id=%1]
একটি উইন্ডো আনম্যাপ করুন, এটি আপনার স্ক্রিনে আর প্রদর্শিত হবে না। যদি কোন উইন্ডো না দেওয়া হয়, %1
ডিফল্ট হয় আরও বিস্তারিত জানার জন্য "উইন্ডো স্ট্যাক" এবং "কমান্ড চেইনিং" দেখুন।
--সুসংগত
উইন্ডো আনম্যাপ করার অনুরোধ করার পরে, উইন্ডোটি আসলে আনম্যাপ না হওয়া পর্যন্ত অপেক্ষা করুন
(গোপন). এটি স্ক্রিপ্টগুলির জন্য উপযোগী যেগুলি পূর্বে সম্পন্ন করা কর্মের উপর নির্ভর করে
সরানো.
সেট_উইন্ডো [বিকল্প] [windowid=%1]
একটি উইন্ডো সম্পর্কে বৈশিষ্ট্য সেট করুন। যদি কোন উইন্ডো না দেওয়া হয়, %1 ডিফল্ট। দেখুন "WINDOW
আরো বিস্তারিত জানার জন্য স্ট্যাক" এবং "কমান্ড চেইনিং"।
বিকল্প:
-- নাম নতুন নাম
উইন্ডো WM_NAME সেট করুন (উইন্ডো শিরোনাম, সাধারণত)
--আইকন-নাম নতুন আইকননাম
উইন্ডো WM_ICON_NAME সেট করুন (উইন্ডো শিরোনাম যখন ছোট করা হয়, সাধারণত)
--ভূমিকা নতুন ভূমিকা
WM_WINDOW_ROLE উইন্ডো সেট করুন
--শ্রেণির নাম নতুন শ্রেণীর নাম
উইন্ডো ক্লাসের নাম সেট করুন (উইন্ডো ক্লাসের সাথে বিভ্রান্ত হবেন না)
--শ্রেণী নতুন ক্লাস
উইন্ডো ক্লাস সেট করুন (উইন্ডো ক্লাসের নামের সাথে বিভ্রান্ত হবেন না)
--ওভাররাইডেডরেডাইরেক্ট মূল্য
উইন্ডোর ওভাররাইড_রিডাইরেক্ট মান সেট করুন। এই মানটি উইন্ডো ম্যানেজারের জন্য একটি ইঙ্গিত
এটি পরিচালনা করা উচিত কিনা। যদি পুনঃনির্দেশ মান 0 হয়, তাহলে
উইন্ডো ম্যানেজার সীমানা আঁকবে এবং এই উইন্ডোটিকে স্বাভাবিকভাবে ব্যবহার করবে। মান থাকলে
1, উইন্ডো ম্যানেজার এই উইন্ডোটিকে উপেক্ষা করবে।
আপনি যদি এই মান পরিবর্তন করেন, তাহলে আপনার উইন্ডো ম্যানেজার পরিবর্তনটি লক্ষ্য নাও করতে পারে
উইন্ডো আবার ম্যাপ করা হয়েছে, তাই আপনি 'windowunmap' এবং 'windowmap' ইস্যু করতে চাইতে পারেন
উইন্ডো ম্যানেজারকে নোট করতে দিন।
ডেস্কটপ এবং জানলা কম্যান্ডস
এই কমান্ডগুলি EWMH মান অনুসরণ করে। "এক্সটেন্ডেড উইন্ডো ম্যানেজার ইঙ্গিত" বিভাগটি দেখুন
আরও তথ্যের জন্য.
উইন্ডো সক্রিয় [বিকল্প] [জানলা]
উইন্ডোটি সক্রিয় করুন। এই কমান্ডটি windowfocus থেকে ভিন্ন: যদি উইন্ডোটি চালু থাকে
আরেকটি ডেস্কটপ, আমরা সেই ডেস্কটপে সুইচ করব। এটি জন্য একটি ভিন্ন পদ্ধতি ব্যবহার করে
জানালা উপরে আনা। আমি উইন্ডোফোকাস ব্যবহার করার আগে এই কমান্ডটি চেষ্টা করার পরামর্শ দিই, যেমন
এটি আরও উইন্ডো ম্যানেজারে কাজ করবে।
যদি কোন উইন্ডো না দেওয়া হয়, %1 ডিফল্ট। "উইন্ডো স্ট্যাক" এবং "কমান্ড চেইনিং" দেখুন
আরো বিস্তারিত জানার জন্য.
--সুসংগত
উইন্ডো অ্যাক্টিভেশন পাঠানোর পর, উইন্ডোটি আসলে সক্রিয় না হওয়া পর্যন্ত অপেক্ষা করুন।
এটি এমন স্ক্রিপ্টগুলির জন্য উপযোগী যেগুলি সরানোর আগে ক্রিয়া সম্পন্ন হওয়ার উপর নির্ভর করে
উপর.
getactive window
বর্তমান সক্রিয় উইন্ডোটি আউটপুট করুন। এই কমান্ড প্রায়ই তুলনায় আরো নির্ভরযোগ্য
গেট উইন্ডোফোকাস। ফলাফল উইন্ডো স্ট্যাক সংরক্ষণ করা হয়. আরো জন্য "WINDOW STACK" দেখুন
বিবরণ।
সেট_সংখ্যা_ডেস্কটপ সংখ্যা
ডেস্কটপ বা কর্মক্ষেত্রের সংখ্যা পরিবর্তন করে।
get_num_desktops
ডেস্কটপের বর্তমান সংখ্যা আউটপুট করুন।
get_desktop_viewport [-শেল]
বর্তমান ভিউপোর্টের অবস্থান রিপোর্ট করুন। যদি --shell দেওয়া হয়, আউটপুটটি বন্ধুত্বপূর্ণ
শেল eval
কিছু উইন্ডো ম্যানেজারে 'ভার্চুয়াল ডেস্কটপ'-এর পরিবর্তে ভিউপোর্টগুলি কখনও কখনও ব্যবহার করা হয়। ক
ভিউপোর্ট একটি খুব বড় ডেস্কটপ এলাকার একটি দৃশ্য।
সেট_ডেস্কটপ_ভিউপোর্ট x y
প্রদত্ত অবস্থানে ভিউপোর্ট সরান। সব অনুরোধ মানা হবে না - কিছু
windowmangers শুধুমাত্র কর্মক্ষেত্রের সীমারেখার সাথে সারিবদ্ধ অনুরোধগুলি মেনে চলে, যেমন
পর্দার আকার।
উদাহরণস্বরূপ, যদি আপনার স্ক্রীন 1280x800 হয়, তাহলে আপনি এটি করে 2য় কর্মক্ষেত্রে যেতে পারেন:
xdotool set_desktop_viewport 1280 0
সেট_ডেস্কটপ [বিকল্প] ডেস্কটপ_সংখ্যা
নির্দিষ্ট ডেস্কটপে বর্তমান দৃশ্য পরিবর্তন করুন।
--আত্মীয়
পরম পরিবর্তে আপেক্ষিক আন্দোলন ব্যবহার করুন. এটি আপনাকে আপেক্ষিক সরাতে দেয়
বর্তমান ডেস্কটপ।
get_desktop
বর্তমান ডেস্কটপ দৃশ্যে আউটপুট করুন।
উইন্ডোর জন্য_ডেস্কটপ সেট করুন [জানলা] ডেস্কটপ_সংখ্যা
একটি উইন্ডোকে একটি ভিন্ন ডেস্কটপে সরান। যদি কোন উইন্ডো না দেওয়া হয়, %1 ডিফল্ট। দেখা
আরো বিস্তারিত জানার জন্য "উইন্ডো স্ট্যাক" এবং "কমান্ড চেইনিং"।
উইন্ডোর জন্য_ডেস্কটপ পান [জানলা]
বর্তমানে প্রদত্ত উইন্ডো ধারণকারী ডেস্কটপ আউটপুট করুন। একটি উইন্ডো অন্য একটি সরান
ডেস্কটপ. যদি কোন উইন্ডো না দেওয়া হয়, %1 ডিফল্ট। উইন্ডো স্ট্যাক এবং "কমান্ড দেখুন
আরো বিস্তারিত জানার জন্য চেইনিং"।
বিবিধ কম্যান্ডস
Exec [বিকল্প] হুকুম [...]
একটি প্রোগ্রাম চালান। behave_screen_edge to do এর সাথে মিলিত হলে এটি প্রায়শই কার্যকর হয়
আপনার স্ক্রীন লক করার মত জিনিস।
বিকল্প:
--সুসংগত
যতক্ষণ না চাইল্ড প্রসেস বের হয় ততক্ষণ ব্লক করুন। শিশু প্রক্রিয়া প্রস্থান অবস্থা তারপর পাস করা হয়
অভিভাবক প্রক্রিয়ায় (xdotool) যা এটি অনুলিপি করে।
উদাহরণ:
# মাউস উপরের-ডান কোণায় বসে থাকলে স্ক্রিনটি লক করুন
xdotool behave_screen_edge -- বিলম্ব 1000 উপরে-ডান \
exec জিনোম-স্ক্রিনসেভার-কমান্ড --লক
# যদি আপনি সেই প্রোগ্রামটি ব্যবহার করেন তবে 'xscreensaver-command -lock' বিকল্প করুন।
# নিম্নলিখিতটি মাউস সরাতে ব্যর্থ হবে কারণ আমরা '--sync' ব্যবহার করি এবং
# /বিন/মিথ্যা অশূন্য প্রস্থান:
xdotool exec --sync /বিন/মিথ্যা মাউসমুভ 0 0
# এটি সফল হয়, যদিও আমরা exec কমান্ডে --sync ব্যবহার করি না।
xdotool exec /বিন/মিথ্যা মাউসমুভ 0 0
ঘুম সেকেন্ড
একটি নির্দিষ্ট সময়ের জন্য ঘুমান। সেকেন্ডের ভগ্নাংশ (যেমন 1.3, বা 0.4) এখানে বৈধ।
স্ক্রিপ্টস
xdotool আপনি চাইলে stdin বা একটি ফাইলের মাধ্যমে কমান্ডের একটি তালিকা পড়তে পারেন। একটি স্ক্রিপ্ট ব্যর্থ হবে
যখন কোন কমান্ড ব্যর্থ হয়।
সত্যই, 'স্ক্রিপ্ট' মোড সম্পূর্ণরূপে তৈরি হয়নি এবং এটি আপনার প্রত্যাশার চেয়ে কম হতে পারে। যদি
আপনার কাছে পরামর্শ আছে, অনুগ্রহ করে তালিকা ইমেল করুন বা একটি বাগ ফাইল করুন (যোগাযোগ দেখুন)।
স্ক্রিপ্টগুলি অবস্থানগত আর্গুমেন্ট ($1, $2, ... দ্বারা প্রতিনিধিত্ব করে) এবং পরিবেশ ব্যবহার করতে পারে
ভেরিয়েবল (যেমন $HOME বা $WINDOWID)। উদ্ধৃতি যুক্তি প্রত্যাশিত হিসাবে কাজ করা উচিত.
স্ক্রিপ্টগুলি প্যারামিটার এবং এনভায়রনমেন্ট ভেরিয়েবল এক্সপেনশনের জন্য প্রসেস করা হয় এবং তারপর সেভাবে চালানো হয়
আপনি এক লাইনে (কমান্ড চেইনিং ব্যবহার করে) পুরো স্ক্রিপ্ট সহ xdotool আহ্বান করেছেন।
একটি ফাইল থেকে কমান্ড পড়ুন:
xdotool ফাইলের নাম
stdin থেকে কমান্ড পড়ুন:
xdotool -
একটি পুনঃনির্দেশিত ফাইল থেকে কমান্ড পড়ুন
xdotool - < myfile
আপনি এমন স্ক্রিপ্টও লিখতে পারেন যা শুধুমাত্র xdotool চালায়। উদাহরণ:
#!/usr/local/bin/xdotool
অনুসন্ধান --শুধুমাত্র দৃশ্যমান --শ্রেণীর নাম $1
উইন্ডো সাইজ %@ $2 $3
উইন্ডোরাইজ %@
windowmove %1 0 0
windowmove %2 $2 0
windowmove %3 0 $3
windowmove %4 $2 $3
এই স্ক্রিপ্টটি arg1 ($1) এবং দ্বারা প্রদত্ত ক্লাসনাম কোয়েরির সাথে মিলে যাওয়া সমস্ত উইন্ডো গ্রহণ করবে
মাপ/এগুলিকে 2x2 গ্রিডে 2য় এবং 3য় প্যারামিটার দ্বারা মাপযুক্ত উইন্ডোগুলির মধ্যে নিয়ে যায়।
এখানে একটি উদাহরণ ব্যবহার:
% ./myscript xterm 600 400
এটিকে এভাবে চালানো হলে 4টি দৃশ্যমান এক্সটার্ম লাগবে, সেগুলিকে উত্থাপন করবে এবং একটি 2x2 টাইলে নিয়ে যাবে
প্রতিটি উইন্ডোর 600x400 পিক্সেল আকারের গ্রিড।
ক্লিয়ারমোডিফায়ার
কোন আদেশ গ্রহণ --ক্লিয়ারমোডিফায়ার পতাকা কোনো সক্রিয় ইনপুট সাফ করার চেষ্টা করবে
কমান্ডের সময় পরিবর্তনকারী এবং পরে তাদের পুনরুদ্ধার করুন।
উদাহরণস্বরূপ, যদি আপনি এই কমান্ডটি চালাতে চান:
xdotool কী a
আপনি শিফট কী ধরে আছেন কিনা তার উপর নির্ভর করে ফলাফল 'a' বা 'A' হবে
আপনার কীবোর্ডে। প্রায়শই কোন মডিফায়ার সক্রিয় থাকা অবাঞ্ছিত, তাই আপনি বলতে পারেন
xdotool যেকোনো সক্রিয় সংশোধক সাফ করতে।
'xdotool key --clearmodifiers a' চালানোর সময় আপনি শিফট ধরে রাখলে অপারেশনের ক্রম
এটি কি:
1. সমস্ত সক্রিয় মডিফায়ারের জন্য ক্যোয়ারী (এই ক্ষেত্রে, শিফট খুঁজুন)
2. শিফট কী-এর জন্য 'কী আপ' পাঠিয়ে শিফট সাফ করার চেষ্টা করুন
3. স্বাভাবিক 'xdotool কী a' চালায়
4. শিফটের জন্য 'কী ডাউন' পাঠিয়ে শিফট কী পুনরুদ্ধার করুন
সার্জারির --ক্লিয়ারমোডিফায়ার পতাকা বর্তমানে নিম্নলিখিত পরিষ্কার করতে পারে:
আপনার সক্রিয় কীম্যাপের যেকোনো কী যার সাথে একটি সংশোধক যুক্ত আছে। (দেখা
xmodmap(1) এর 'xmodmap -pm' আউটপুট)
· মাউস বোতাম (1, 2, 3, 4, এবং 5)
· ক্যাপস লক
সেন্ডইভেন্ট নোট
আপনি যদি একটি নির্দিষ্ট উইন্ডোতে কী ইনপুট পাঠানোর চেষ্টা করছেন, এবং এটি বলে মনে হচ্ছে না
কাজ করছে, তাহলে সম্ভবত আপনার অ্যাপ্লিকেশন xdotool যে ইভেন্টগুলি তৈরি করছে তা উপেক্ষা করছে।
এটি মোটামুটি সাধারণ।
একটি নির্দিষ্ট উইন্ডোতে কীস্ট্রোক পাঠানোর জন্য শুধুমাত্র টাইপ করার চেয়ে আলাদা API ব্যবহার করে
সক্রিয় উইন্ডো। আপনি যদি 'xdotool টাইপ --window 12345 hello' নির্দিষ্ট করেন তাহলে xdotool জেনারেট করবে
মূল ইভেন্টগুলি এবং সেগুলিকে সরাসরি উইন্ডো 12345-এ পাঠান৷ যাইহোক, X11 সার্ভারগুলি একটি সেট করবে৷
এইভাবে উত্পন্ন সমস্ত ইভেন্টে বিশেষ পতাকা (X11-এর XEvent.xany.send_event দেখুন
ম্যানুয়াল)। অনেক কর্মসূচি এই পতাকা পালন করে এবং এসব ঘটনা প্রত্যাখ্যান করে।
এটি লক্ষ্য করা গুরুত্বপূর্ণ যে কী এবং মাউস ইভেন্টের জন্য, আমরা শুধুমাত্র XSendEvent ব্যবহার করি যখন a
নির্দিষ্ট উইন্ডো টার্গেট করা হয়. অন্যথায়, আমরা XTEST ব্যবহার করি।
কিছু প্রোগ্রাম ইভেন্ট গ্রহণ করার জন্য কনফিগার করা যেতে পারে এমনকি যদি সেগুলি xdotool দ্বারা তৈরি করা হয়।
সাহায্যের জন্য আপনার আবেদনের ডকুমেন্টেশন সন্ধান করুন।
নির্দিষ্ট অ্যাপ্লিকেশন নোট (লেখকের পরীক্ষা থেকে): * ফায়ারফক্স 3 সমস্ত উপেক্ষা করে বলে মনে হচ্ছে
ইনপুট যখন ফোকাস থাকে না। * xterm এর সাথে চলার সময় কনফিগার করা যেতে পারে
ctrl+leftclick, 'Allow SendEvents' * জিনোম-টার্মিনাল দ্বারা উত্পন্ন ইনপুট গ্রহণ করা বলে মনে হচ্ছে
ডিফল্ট.
জানলা স্ট্যাক
কিছু কমান্ড (অনুসন্ধান, getactivewindow, getwindowfocus) আপনার জন্য উইন্ডো খুঁজে পাবে।
এই ফলাফলগুলি সাধারণত stdout-এ মুদ্রিত হয়, কিন্তু ভবিষ্যতের জন্য মেমরিতেও সংরক্ষণ করা হয়
xdotool প্রক্রিয়ার জীবদ্দশায় ব্যবহার করুন। আরও জানতে "কমান্ড চেইনিং" দেখুন
তথ্য।
উইন্ডো স্ট্যাকের জন্য শুধুমাত্র পরিবর্তন সমর্থন এটি প্রতিস্থাপন করা হয়. অর্থাৎ দুইটির মধ্যে দুই
অনুক্রমিক অনুসন্ধান, শুধুমাত্র শেষ ফলাফল উইন্ডো স্ট্যাক হবে.
কমান্ড চেইনিং
xdotool একটি একক আহ্বানে একাধিক কমান্ড চালানো সমর্থন করে। সাধারণভাবে, আপনি শুরু করবেন
একটি অনুসন্ধান কমান্ড সহ ("উইন্ডো স্ট্যাক" দেখুন) এবং তারপরে সেগুলির উপর একটি সেট কর্ম সম্পাদন করুন
ফলাফল.
উইন্ডো স্ট্যাক জিজ্ঞাসা করতে, আপনি বিশেষ নোটেশন "%N" ব্যবহার করতে পারেন যেখানে N একটি সংখ্যা বা
'@' চিহ্ন। যদি %N দেওয়া হয়, তাহলে উইন্ডো স্ট্যাক থেকে Nth উইন্ডোটি নির্বাচন করা হবে।
সাধারণত আপনি শুধুমাত্র প্রথম উইন্ডো বা সমস্ত উইন্ডো চাইবেন। উল্লেখ্য যে এর আদেশ
উইন্ডো স্ট্যাকের উইন্ডোগুলি উইন্ডো স্ট্যাকিং অর্ডারের সাথে মিলে যায়, অর্থাৎ সবচেয়ে নীচে
উইন্ডোটি প্রথমে রিপোর্ট করা হবে (দেখুন XQueryTree(3))। এইভাবে জানালার ক্রম
উইন্ডো স্ট্যাক আমন্ত্রণ জুড়ে সামঞ্জস্যপূর্ণ নাও হতে পারে।
উপরে বর্ণিত স্বরলিপি যেকোনো প্রদত্ত কমান্ডের জন্য "উইন্ডো" আর্গুমেন্ট হিসাবে ব্যবহৃত হয়।
উদাহরণস্বরূপ, সমস্ত xterms 80x24 এ পুনরায় আকার দিতে:
xdotool অনুসন্ধান -- class xterm -- windowsize --usehints %@ 80 24
বর্তমান উইন্ডো সরান আকার পরিবর্তন করুন:
xdotool getactivewindow windowmove 0 0
সব ক্ষেত্রে, ডিফল্ট উইন্ডো আর্গুমেন্ট, যদি বাদ দেওয়া হয়, ডিফল্ট হবে "%1"। এটাই
স্পষ্টতই একটি ত্রুটি যদি আপনি উইন্ডো আর্গুমেন্ট বাদ দেন এবং উইন্ডো স্ট্যাক খালি থাকে। আপনি যদি
উইন্ডো স্ট্যাক ব্যবহার করার চেষ্টা করুন এবং এটি খালি, এটি একটি ত্রুটি।
প্রথম ফায়ারফক্স উইন্ডো সক্রিয় করতে পাওয়া গেছে:
xdotool search --class firefox windowactivate
এই ত্রুটি হবে:
xdotool windowactivate
xdotool windowactivate %1
xdotool windowactivate %@
যখন xdotool প্রস্থান করে, বর্তমান উইন্ডো স্ট্যাক হারিয়ে যায়।
অতিরিক্তভাবে, "উইন্ডো স্ট্যাক" পরিবর্তন করে এমন কমান্ডগুলি ফলাফল প্রিন্ট করবে না যদি তারা
শেষ আদেশ নয়। উদাহরণ স্বরূপ:
# সক্রিয় উইন্ডো আউটপুট করুন:
% xdotool getactive window
20971533
# সক্রিয় উইন্ডোর পিড আউটপুট করুন, কিন্তু সক্রিয় উইন্ডো আইডি নয়:
% xdotool getactivewindow getwindowpid
4686
সম্প্রসারিত জানলা ম্যানেজার নির্দেশ
EWMH স্ট্যান্ডার্ডের নিম্নলিখিত অংশগুলি সমর্থিত:
_NET_SUPPORTED
উইন্ডো ম্যানেজারকে জিজ্ঞাসা করুন কি সমর্থিত
_NET_CURRENT_DESKTOP
প্রশ্ন করুন এবং বর্তমান ডেস্কটপ সেট করুন। এর জন্য সমর্থন এই কমান্ডগুলিকে সক্ষম করে:
"set_desktop", "get_desktop"।
_NET_WM_DESKTOP
একটি উইন্ডো কোন ডেস্কটপে বসবাস করছে তা অনুসন্ধান করুন এবং সেট করুন৷ এর জন্য সমর্থন এইগুলিকে সক্ষম করে৷
কমান্ড: "set_desktop_for_window", "get_desktop_for_window"।
_NET_ACTIVE_WINDOW
উইন্ডো ম্যানেজারকে এটি আনতে বলে আপনাকে জিজ্ঞাসা এবং সক্রিয় উইন্ডো সেট করার অনুমতি দেয়
এগিয়ে এর জন্য সমর্থন এই কমান্ডগুলিকে সক্রিয় করে: "windowactivate", "getactivewindow"।
_NET_WM_PID
এই বৈশিষ্ট্যটি অ্যাপ্লিকেশন নির্ভর, উইন্ডো-ম্যানেজার নির্ভর নয়। পিআইডি জিজ্ঞাসা করুন
একটি প্রদত্ত উইন্ডোর মালিক। এর জন্য সমর্থন এই কমান্ডগুলি সক্রিয় করে: "getwindowpid"।
সমর্থিত বৈশিষ্ট্য
xdotool (এবং libxdo) সব পরিস্থিতিতে কাজ করার চেষ্টা করবে। তবে, থাকতে পারে
কিছু ক্ষেত্রে যেখানে আপনার X সার্ভার বা উইন্ডো ম্যানেজার দ্বারা কার্যকারিতা প্রদান করা হয় না।
এই ক্ষেত্রে, xdotool শনাক্ত করার চেষ্টা করবে এবং আপনাকে জানাবে যে কোনো অ্যাকশনের জন্য কোনো বৈশিষ্ট্য প্রয়োজন কিনা
বর্তমানে আপনার সিস্টেম দ্বারা সমর্থিত নয়.
উইন্ডো-ম্যানেজার নির্দিষ্ট বৈশিষ্ট্যের জন্য, "বর্ধিত উইন্ডো ম্যানেজার ইঙ্গিত" দেখুন।
XTEST
যদি আপনার X সার্ভার XTEST সমর্থন না করে, তাহলে কিছু টাইপিং এবং মাউস চলাচলের বৈশিষ্ট্য
কাজ নাও হতে পারে। বিশেষত, টাইপিং এবং মাউস অ্যাকশন যা "বর্তমান উইন্ডোতে" কাজ করে
(libxdo তে উইন্ডো 0) কাজ করার সম্ভাবনা কম।
বেশিরভাগ ক্ষেত্রে, XTEST হল এমন একটি বৈশিষ্ট্য যা আপনি আপনার X সার্ভারে সক্ষম করতে পারেন যদি এটি সক্ষম না থাকে
গতানুগতিক.
আপনি 'xdpyinfo' টাইপ করে এবং অনুসন্ধান করে সমর্থিত X এক্সটেনশনের তালিকা দেখতে পারেন
টেক্সট 'এক্সটেনশনের সংখ্যা: ...'
onworks.net পরিষেবা ব্যবহার করে অনলাইনে xdotool ব্যবহার করুন