আমি ফায়ারফক্স উইন্ডোটি একটি নির্দিষ্ট আকারে এবং একটি শেল কমান্ড ব্যবহার করে পর্দার অবস্থানের জন্য খোলা থাকতে চাই example
firefox myfile.html size 800x600 location bottom-left
এমন আদেশ আছে কি?
আমি ফায়ারফক্স উইন্ডোটি একটি নির্দিষ্ট আকারে এবং একটি শেল কমান্ড ব্যবহার করে পর্দার অবস্থানের জন্য খোলা থাকতে চাই example
firefox myfile.html size 800x600 location bottom-left
এমন আদেশ আছে কি?
উত্তর:
এখানে ইয়োকাইয়ের উত্তরের একটি সম্প্রদায় সংস্করণ রয়েছে যা রুডলফ ওলা দ্বারা প্রদত্ত উদাহরণগুলি অন্তর্ভুক্ত করে ।
আপনি xdotool
উইন্ডোর আকার এবং অবস্থান নিয়ন্ত্রণ করতে ডাকা সরঞ্জামটি ব্যবহার করতে পারেন । শুধু তাই নয়, কোনো স্ক্রিপ্ট লিখতে bash
ব্যবহার xdotool
একটি সম্পূর্ণরূপে বড় উইন্ডো এর সাথে কাজ করা সেটআপ হতে পারে এবং এটা উইন্ডোর আকার সেট করতে ও এক্স স্ক্রিপ্টের করা যেতে পারে: নিপূণভাবে ব্যবহার করে Y স্থানাঙ্ক mousemove
এবং click
কমান্ড।
উইন্ডো আইডি সন্ধান করুন:
xdotool search --onlyvisible --name firefox
উইন্ডোর আকার সেট করুন
xdotool windowsize $WINDOW_ID_GOES_HERE $WIDTH $HEIGHT
উইন্ডোটি সরান
xdotool windowmove $WINDOW_ID_GOES_HERE $X $Y
উদাহরণস্বরূপ, ফায়ারফক্সের উইন্ডো আইডি যদি 123 হয় তবে আপনি এটি করতে পারেন:
xdotool windowsize 123 800 600
xdotool windowmove 123 0 1080
নীচের বাম অবস্থানটি আপনার স্ক্রিন রেজোলিউশনের ভিত্তিতে বের করতে হবে।
xdotool
, wmctrl
ইত্যাদি সহ একটি বাগ আছে এবং উবুন্টু, এক্সএফসিই (আমার কাছে রয়েছে): উইন্ডোটি ইতিমধ্যে পূর্ণ স্ক্রিন মোডে চালু হয়ে থাকলে আপনি এটিকে আর সরাতে পারবেন না: বাগস.লাঞ্চপ্যাড.net
যতদূর আমি জানি, ফায়ারফক্স উইন্ডোটি নিয়ন্ত্রণ করতে আদেশগুলি গ্রহণ করে না বলে এটি সম্ভব নয়। এটিও (বেশিরভাগ ক্ষেত্রে) উইন্ডো ম্যানেজারের দায়িত্ব, সুতরাং আমি সন্দেহ করি যে এটি করার জন্য কোনও পরামিতি থাকবে। তবে আপনি wmctrl দিয়ে উইন্ডোটি নিয়ন্ত্রণ করতে পারেন তবে এটি কিছুটা কঠিন হতে চলেছে:
#!/bin/sh
firefox -new-instance -new-window "http://www.reddit.org" &
# Process ID of the process we just launched
PID=$!
# Window ID of the process...pray that there's
# only one window! Otherwise this might break.
# We also need to wait for the process to spawn
# a window.
while [ "$WID" == "" ]; do
WID=$(wmctrl -lp | grep $PID | cut "-d " -f1)
done
# Set the size and location of the window
# See man wmctrl for more info
wmctrl -i -r $WID -e 0,50,50,250,250
এটি করার জন্য আরও চতুর উপায় থাকতে পারে এবং ফায়ারফক্সের সাথে কিছু আন্তঃঅযুক্তি সংক্রান্ত সমস্যা রয়েছে (যেমন, অন্য কোনও উদাহরণ চলছে না) তবে এটি আপনাকে চালিত করা উচিত।
অতীতে আমি একটি এইচটিএমএল ডকুমেন্ট তৈরি করেছি যা জাভাস্ক্রিপ্টের সাহায্যে উইন্ডোর আকার নির্ধারণ করবে এবং তারপরে আমার যে পৃষ্ঠাটি চেয়েছিল সেটিতে পুনর্নির্দেশ করবে। এটি একটি বোকা হ্যাক কিন্তু, আরে, এটি কাজ করে।
আমি মনে করি না এটি কেবল শেল কমান্ড দ্বারা সম্ভব, কারণ এটি আপনার উইন্ডো ম্যানেজারের সাথে কোনও সম্পর্ক রাখে না।
আমি wmctrl এবং শয়তানস্পির কথা শুনেছি যা এটি প্রভাব ফেলতে পারে। তবে আমি সন্দেহ করি যে এটি অর্জনের একটি উপায় আছে যতটা সহজ আপনি আপনার উদাহরণে লিখেছেন।
আমি সব সময় এটা করি। আমি ডিভিলসপি 2 ব্যবহার করি তবে এটি আরও শক্তিশালী। এটি LUA স্ক্রিপ্টিং ভাষা ব্যবহার করে, যা খুব কঠিন নয়।
থান্ডারবার্ডের জন্য আমার লুয়া স্ক্রিপ্টটি এখানে রইল, যা আমি যখন বাম মনিটরের (ল্যাপটপের স্ক্রিন) খুলতে চাই তখন খুলতে চাই:
if (get_window_name()=="Mozilla Thunderbird") then
pin_window()
set_window_geometry( 50, 10, 1220, 780 )
end
where 50 = X coordinate (for upper-left corner of the window)
10 = Y coordinate ( " " )
1220 = window width
780 = window height
এটি সেট আপ করতে, আপনি নিজের বাড়ির কনফিগারেশনে (উবুন্টু-জাতীয় বিতরণগুলিতে) শৈলস্পি 2 নামে একটি ডিরেক্টরি তৈরি করুন, যেমন / home/$USERNAME/.config/devilspie2
থান্ডারবার্ডের জন্য, আমি থান্ডারবার্ড.লুয়া তৈরি করেছি, যদিও ফাইলের নামটি কোনও ব্যাপার নয়। প্রতিটি অ্যাপ্লিকেশনটির জন্য আমার আলাদা ফাইল নাম রয়েছে যদিও আপনি যদি চান তবে আপনি সমস্ত কিছু একটি স্ক্রিপ্ট ফাইলে রাখতে পারেন। আপনি লগইন করার সময় শয়তানস্পি 2 স্বয়ংক্রিয়ভাবে শুরু করতে সেট করুন, যেমন / home/$USERNAME/.config/autostart/devilspie2.desktop
আপনার লুয়া স্ক্রিপ্টে উপলভ্য বিভিন্ন বিকল্প সম্পর্কে ভাল পৃষ্ঠার লিঙ্কটি এখানে রয়েছে: https://github.com/gusnan/devilspie2/blob/master/README
একটি নোট: স্ক্রিপ্টগুলি সম্পাদনযোগ্য হতে হবে না। খনি 664 এবং কাজ সূক্ষ্ম। আমি যে অন্যান্য প্রোগ্রাম নিয়ন্ত্রণ করি সেগুলির মধ্যে কয়েকটি হ'ল ওপেনকনেক্ট, পিডগিন, রেকর্ডমাইডেস্কটপ, টাইমশিফ্ট, জাইজ, এক্সলোড এবং ইয়াড। আমি এগুলিতে পিন_উইন্ডো ব্যবহার করি যাতে তারা সমস্ত ডেস্কটপগুলিতে উপস্থিত হয়, সাথে সাথে অ্যাপ্লিকেশনটির উপর নির্ভর করে অন্যান্য কমান্ড।
devilspie2 --debug
)