الوصول إلى أيقونة قفص الاتهام بزر الماوس الأيمن فوق عناصر القائمة مع Applescript
-
26-09-2019 - |
سؤال
هل هناك أي طريقة للحصول على Applescript للوصول إلى عناصر القائمة التي تظهر عند النقر بزر الماوس الأيمن على أيقونة قفص الاتهام؟
على وجه التحديد ، إليك ما أريد القيام به:
يمكنني استخدام Google Chrome كمتصفح الويب الخاص بي على MacOS X Snow Leopard. أنا مدمن لاختصار لوحة المفاتيح ، وأستخدم QuickSilver لإنشاء اختصارات لوحة المفاتيح لأي شيء يمكنني. واحدة من أكثر الأشياء شيوعًا التي أقوم بها هي فتح نافذة متصفح ويب جديدة. لكنني أستخدم المساحات بشكل متكرر لتقسيم المهام التي أعمل عليها حاليًا ، وعندما أفتح متصفح ويب أو صفحة ويب مع مشغل Quicksilver ، تتحول المسافات إلى المساحة الأخيرة التي استخدمتها Chrome وتفتح علامة تبويب جديدة ، والتي غالبًا ما يصرفني لساعات لأنه يقودني إلى مساحة مختلفة وبالتالي مهمة مختلفة. يمكنني إصلاح ذلك بالنقر بزر الماوس الأيمن على أيقونة Google Chrome والنقر فوق خيار "النافذة الجديدة" ، والذي يفتح نافذة جديدة على المساحة الحالية. ولكن في Applescript ، لفعل أي شيء مع Google Chrome ، فإن أول شيء يجب علي فعله هو تنشيطه ، مما يعيدني إلى المشكلة الأصلية! هل يمكن لأي شخص أن يفكر في حل لهذه المشكلة أو Applescript أو غير ذلك؟ لقد أصبحت مشكلة خطيرة. مرة أخرى عندما استخدمت Firefox ، قمت بحل المشكلة عن طريق تغيير عنصر التفضيل الذي يقول "دائمًا فتح الروابط المنبثقة في نافذة جديدة" أو شيء من هذا القبيل ، والذي كان نوعًا من نهج مطرقة التزلج ، لكنه نجح. يمكنني دائمًا العودة إلى Firefox ، لكنني اعتقدت أنني سأطرح سؤالي هنا أولاً. أي شخص لديه أي أفكار؟
المحلول 2
لأي شخص مهتم ، أعتقد أن لدي حلًا معقولًا لهذه المشكلة ، لكنه لا ينطوي على النقر بزر الماوس الأيمن على أيقونات قفص الاتهام.
أولاً ، يجب عليك إلغاء تحديد "عند التبديل إلى تطبيق ما ، قم بالتبديل إلى مساحة مع Windows Open للتطبيق" في جزء تفضيلات SPACES لتفضيلات النظام. ثم كتبت Applescript التالية:
tell application "Google Chrome" to activate
tell application "System Events"
tell process "Google Chrome"
try
set var to get name of window 1
on error
set var to "no window exists!!!"
end try
end tell
end tell
if var is "no window exists!!!" then
tell application "System Events"
tell process "Google Chrome"
click menu item "New Window" of menu "File" of menu bar 1
end tell
end tell
else
tell application "System Events"
tell process "Google Chrome"
click menu item "New Tab" of menu "File" of menu bar 1
end tell
end tell
end if
أقوم بتشغيل هذا التفاح باستخدام شرارة, ، مما يسمح لي بتعيين مفتاح اختصار له.
إنه بطيء بعض الشيء ، لا سيما عندما يكون النظام تحت الحمل ، ولكن عادة لا يستغرق وقتًا أطول من ثانية أو نحو ذلك. كما أنه يتجنب المشكلة التي كنت أواجهها مع Firefox ، حيث سأنتهي مع العشرات من النوافذ مفتوحة في نهاية اليوم.
نصائح أخرى
لست متأكدًا مما إذا كنت لا تزال مهتمًا ولكن ...
tell application "Dock"
activate
end tell
tell application "System Events"
tell process "Dock"
set frontmost to true
activate
tell list 1
perform action "AXShowMenu" of UI element "Google Chrome"
delay 1
repeat 4 times -- count number of items to the one you want
key code 126 -- up arrow
-- key code 125 -- down arrow
end repeat
delay 1
repeat 2 times
key code 36 -- return key
end repeat
end tell
end tell
end tell
تحتوي التصميمات الليلية للكروم الآن على دعم Applescript ، وهذا يجب أن يجعله في Chrome قبل وقت طويل. هذا يعني أنه يمكنك الآن القيام به:
tell application "Chromium"
make new window
activate
end tell
بدلاً من ذلك ، يمكنك أيضًا استدعاء هذا الخيار الخفي:
defaults write com.apple.dock workspaces-auto-swoosh -bool NO
killall Dock
كما أن له تأثير إيجابي بالنسبة لي على أنه لم يعد يتم إلقاؤك على أجهزة الكمبيوتر المكتبية عند تبديل التطبيقات. ببساطة قم بـ CMD+N مع Chrome كتطبيق نشط.
راجع للشغل يمكنك الانتقال إلى المساحات مباشرة مع FN+1 و FN+2 وما إلى ذلك. إذا قمت بإعداده بدلاً من ⌃1 ، ⌃2 ، .