কেবলমাত্র অ্যাপ্লিক্রিপ্ট সহ বর্তমান ডেস্কটপ থেকে অ্যাপ্লিকেশন উইন্ডোর একটি তালিকা পাবেন?


1

পরের মতো কিছু করা দরকার

tell application "Safari"
activate
    set AllWindows to every window
    set WinCount to number of items in AllWindows

    repeat with i from 1 to WinCount
        set this_window to item i of AllWindows
        -- do something with the this_window
    end repeat
end tell

আবহ কাজ ঠিক আছে, এবং সমস্ত খোলা সাফারি উইন্ডো খোলা পেয়ে।

কীভাবে কেবল নিরাময়কারী ডেস্কটপ থেকে উইন্ডোজগুলি পাওয়া যায়? সুতরাং কিছুটা লাইন পরিবর্তন প্রয়োজন

    set AllWindows to every window

মত কিছু

    set AllWindows to ONLY FROM THE CURRENT desktop windows :)

কোন ধারণা?


বর্তমান স্থান বলতে কী বোঝ ?
রব

@ রোবস্ট স্পেস = ডেস্কটপ। আমার কাছে 9. বর্তমান = অ্যাকটিভ। (প্রকৃত প্রদর্শিত)। "স্পেস" শব্দটি একটি পুরানো অ্যাপ্লিকেশন থেকে আসে, যখন "একাধিক ডেস্কটপ" ওএস এক্স এর মধ্যে নির্মিত না হয় ... প্রশ্নটি সম্পাদিত হয়। ট্যাগ "স্পেস" দেখুন।
jm666

উত্তর:


1

সিস্টেম ইভেন্টগুলি কেবলমাত্র বর্তমান স্পেস / ডেস্কটপে উইন্ডোগুলি অন্তর্ভুক্ত করে:

tell application "System Events" to windows of process "Safari"

আমি কোনও সিস্টেম ইভেন্টস উইন্ডো অবজেক্টটিকে একটি সাফারি উইন্ডো অবজেক্টে রূপান্তর করার কোনও উপায় জানি না যদিও এই জাতীয় হ্যাক বাদে:

tell application "System Events" to tell window 1 of process "Safari"
    set {x, y} to position
    set {w, h} to size
    set b to {x, y, x + w, y + h}
    set t to title
end tell
tell application "Safari"
    set found to missing value
    repeat with w in windows
        if bounds of w is b and name of w is t then
            set found to w
            exit repeat
        end if
    end repeat
    found
end tell

tell application "System Events" to value of attribute "AXIdentifier" of window 1 of process "Safari"এর সাথে মিলে না tell application "Safari" to id of window 1

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