আমি সেবা সঙ্গে একটি খুব অদ্ভুত বাগ আবিষ্কৃত হয়েছে।
এই আচরণ সাক্ষী করার জন্য, নিম্নলিখিত কাজ করুন:
সাফারি আপনার ডক মধ্যে যে নিশ্চিত করুন।
অটোমেটর খুলুন। একটি নতুন সেবা তৈরি করুন।
"কোনও অ্যাপ্লিকেশানে" কোনও ইনপুট না পাওয়ার জন্য পরিষেবাটি সেট করুন।
একটি "রান অ্যাপলস্ক্রিপ্ট" কর্ম সন্নিবেশ করান।
কর্মের মধ্যে নিম্নলিখিত পেস্ট করুন:
on run {input, parameters} delay 5 display dialog "Hello" tell application "Safari" to activate return input end run
সেবা সংরক্ষণ করুন।
সেবা বন্ধ করুন।
সেবা পুনরায় খুলুন।
অটোমেটর আপনাকে একটি ডায়ালগটি উপস্থাপন করতে বলছেন, "আপনি কি" পরিষেবা নাম "পরিষেবাটি ইনস্টল করতে চান?" ক্লিক করুন "ইনস্টল করুন।"
যখন "ইনস্টলেশন সম্পূর্ণ" ডায়ালগটি দেওয়া হয়, "সম্পন্ন" ক্লিক করুন।
এখন, সেবা চালান। এটি করার জন্য, পর্দার উপরের বাম দিকের কোণায় (মেনু বারের দ্বিতীয় আইটেম) বর্তমান-অ্যাপ্লিকেশন শিরোনামটিতে ক্লিক করুন। তারপর পরিষেবা শিরোনাম ক্লিক করুন।
আপনি লক্ষ্য করবেন যে সাফারি অবিলম্বে খোলা থাকবে (ডক এর লোগোর নীচে কালো বিন্দু দ্বারা প্রমাণিত হবে)। সাফারি খুলবে 5 সেকেন্ড বিলম্বের আগে এবং "হ্যালো" ডায়লগটি প্রদর্শিত হওয়ার আগে।
স্থাপন করা activate
একটি subroutine মধ্যে বিবৃতি সমস্যা ঠিক করে না।
কেউ এই একটি বাগ নিশ্চিত করতে পারেন? আমি নিশ্চিত যে এটি পরিষেবা বৈশিষ্ট্যগুলির সাথে একটি বাগ কারণ যখন আপনি অটোমেটরের মধ্যে থেকে পরিষেবাটি চালান (অটোমেটর উইন্ডোটির উপরের ডানদিকে অবস্থিত "প্লে" বাটনে ক্লিক করে), কোডটি সঠিকভাবে চালায়।
যদি এটি একটি বাগ হয়, তবে কারো কি কার্যকারিতা রয়েছে যাতে পূর্ববর্তী কোডটি চালানোর আগে অ্যাপ্লিকেশনটি আসলে খোলা হয় না?
আমার ম্যাকবুক প্রো চলছে ওএস এক্স এল ক্যাপিটান, 10.11.6।
বাগ হয়তো অদ্ভুত আচরণের আরেকটি অংশ সম্পর্কিত হতে পারে যা আমি লক্ষ্য করেছি:
Safari.app এবং Automator.app থেকে বের হয়ে গেলে, তারা চলছে।
ফাইন্ডারটিতে কম্পিউটারের পরিষেবাদি সংরক্ষণ করা হয় এমন ফোল্ডারটি খুলুন (/ ব্যবহারকারী / আমার / লাইব্রেরি / পরিষেবাদি /)।
পরিষেবা ফাইলটি ডান-ক্লিক করুন এবং অটোমেটরের সাথে ফাইলটি খুলুন।
আপনি লক্ষ্য করবেন যে অটোমেটর সহ। ওয়ার্কফ্লো ফাইল খোলার জন্য সাফারি সক্রিয় হবে। এটা যে করা উচিত নয়।
do shell script
কমান্ড, যেমন do shell script "osascript -e 'tell application \"Safari\" to activate'"
। সঙ্গে যে নোট osascript
, মাল্টি-ল বিকল্পগুলি একটি মাল্টি-লাইন স্ক্রিপ্ট তৈরি করতে দেওয়া যেতে পারে।
tell application "Whatever" to ...
যে অ্যাপ্লিকেশন সক্রিয় হবে। যে সম্ভবত অন্তর্নিহিত কারণ।