স্ক্রিনক্যাপচার-এল-এ যাওয়ার জন্য আমি কীভাবে উইন্ডোডিকে খুঁজে পাব?


26

কমান্ড লাইন ইউটিলিটি স্ক্রিনক্যাপচারটি ইন্টারঅ্যাকশন প্রয়োজন ছাড়াই একটি একক উইন্ডো ক্যাপচার করতে সক্ষম বলে দাবি করেছে, তবে কী পাস হবে তা আমি বুঝতে পারি না।

-l<windowid> capture this windowsid

এটি অ্যাপ্লিকেশনটির প্রসেস আইডি নয়।

উত্তর:


22

কিছু অ্যাপ্লিকেশনগুলির জন্য আপনি অ্যাপলস্ক্রিপ্ট ব্যবহার করতে পারেন:

screencapture -l$(osascript -e 'tell app "Safari" to id of window 1') test.png

যদিও এটি ক্রোমের সাথে কাজ করে না ।

আইডিগুলি কোয়ার্টজ ডিবাগেও দেখানো হয় ( আপনি যদি চালনা করেন তবে ডেভেলপার। অ্যাপ্লিকেশন / ডাউনলোডগুলি থেকে উপলব্ধ ) defaults write com.apple.QuartzDebug QuartzDebugPrivateInterface -bool true


1
দুর্ভাগ্যক্রমে, এটি Eclipse বা গুগল ক্রোমের মতো অ্যাপ্লিকেশন ব্যতীত অ্যাপ্লিকেশনগুলির সাথে কাজ করে না।
কাজানলুক

হ্যাঁ, আমার লক্ষ্য অ্যাপ্লিকেশান পাওয়া যায়নি Applescriptable :( কিন্তু আপনি যাহাই হউক না কেন ধন্যবাদ।
গ্যারেথ সিম্পসন

2
নোট করুন যে উইন্ডো আইডিগুলি স্ক্রিপ্টযোগ্য অ্যাপ্লিকেশনগুলিতে এমনকি কোয়ার্টজ উইন্ডো আইডির সাথে সামঞ্জস্য করার গ্যারান্টিযুক্ত নয়।
ক্রিস পেজ

কোয়ার্টজ ডিবাগের আর অস্তিত্ব নেই বলে মনে হয় অন্যথায় এর নামকরণ বা বান্ডিল করা হয়েছে?
gman

কোয়ার্টজ ডিবাগটি "এক্সকোডের জন্য অতিরিক্ত সরঞ্জামসমূহ" এর মধ্যে বিকাশকারী.অ্যাপল . com/ডাউনলোড / আরও উপলব্ধ included
নিকোলাস রিলে

9

অ্যাপলস স্ক্রিপ্ট সমর্থন করে না এমন অ্যাপ্লিকেশনগুলির জন্য উইন্ডো আইডি পুনরুদ্ধার করতে আমি একটি সামান্য কমান্ড লাইন ইউটিলিটি লিখেছি। এটি এখানে পান: https://github.com/smokris/GetWindowID

তারপরে আপনি একটি নির্দিষ্ট উইন্ডোটির বান্ডিলের নাম এবং উইন্ডোর শিরোনাম উল্লেখ করে ক্যাপচার করতে পারেন:

screencapture -l$(./GetWindowID "Vuo Editor" "untitled composition") VuoEditorWindow.png

হাই, আমি এটি ব্যবহার করার চেষ্টা করছি তবে আমি কী করছি সে সম্পর্কে নিশ্চিত নই। আমি মেকফাইল, গেটউইন্ডোআইডি.এম ডাউনলোড করেছি। কিন্তু আমি যখন কমান্ড ./GetWindowID.m আরম্ভ এটা আমার এই ত্রুটি দেয়: ./ GetWindowID.m: লাইন 4: অপ্রত্যাশিত টোকেন কাছাকাছি বাক্য গঠন ত্রুটি (' ./GetWindowID.m: line 4: int প্রধান (int-argc, গৃহস্থালির কাজ ** argv হয়) '
KingBOB

1
@ জর্জিও: একটি টার্মিনাল উইন্ডো খুলুন এবং এতে থাকা ফোল্ডারে পরিবর্তন করুন Makefileএবং GetWindowID.mতারপরে কমান্ডটি চালান make। এটি একটি বাইনারি নামক উত্পাদন করবে GetWindowID, যা আপনি আমার উত্তরটিতে বর্ণিত আদেশটি ব্যবহার করে অনুরোধ করতে পারেন।
স্মোক্রিস

6

আমি একটি কমান্ড লাইন ইউটিলিটি লিখেছিলাম screencaptureযা কোয়ার্টজ উইন্ডোং লাইব্রেরিটি মুড়ে যায়।

এটি এখানে ধরুন: https://github.com/thismachinechills/pyscreencapture

এটি এর মতো ব্যবহার করুন:

./screencapture.py Chrome -t Stack Overflow

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