Krótka odpowiedź
Niestety Apple musi jeszcze włączyć funkcję przeciągania i upuszczania ikon paska narzędzi innych firm. Bez preferencji wydawanych przez programistę jedynym sposobem na ich uporządkowanie jest otwarcie aplikacji w określonej kolejności, przy czym te otwarte jako pierwsze pojawią się po prawej stronie. Czasami niektórzy dostawcy piszą kod, który zmusza ikonę do pojawienia się na jednym lub drugim końcu, co daje zerową kontrolę nad jego pozycją.
Długa odpowiedź
Istnieją dwa typy ikon na pasku menu OS X:
- MenuExtra : prywatna klasa Apple do opracowywania własnych ikon menu.
- StatusItem : Klasa przeznaczona dla programistów zewnętrznych do tworzenia ikon menu.
MenuExtras
Prywatna klasa Apple ma wiele wbudowanych dodatków, w tym:
- Jeśli klikniesz je dwukrotnie (w wyszukiwarce), załadują się do paska menu i otworzą się automatycznie podczas logowania.
- Możesz kliknąć je klawiszem Command (w pasku menu) i przeciągnąć, aby zmienić ich kolejność.
- Aby je usunąć, możesz kliknąć z wciśniętym klawiszem Command i przeciągnąć je poza pasek (podobnie jak elementy dokowania).
Niestety Apple oficjalnie nie sankcjonuje rozwoju MenuExtras innych firm. Podany powód jest taki, że działają one jako wtyczki w SystemUIServer, a wadliwy kod może spowodować niestabilność w podstawowej części systemu operacyjnego.
StatusItems
Klasa dla programistów nie zapewnia takiej funkcjonalności po wyjęciu z pudełka (od 10.6 Snow Leopard) i niestety obecnie nie ma klas open source, które pozwalałyby na wykorzystanie komercyjne.
W związku z tym programiści zazwyczaj wykonują następujące czynności, w kolejności występowania ogólnego:
- Zignoruj ten problem razem
- Wymuś zaprogramowaną pozycję
- Podaj kilka podstawowych preferencji; lub
- Muszą napisać własne klasy, aby powielić funkcjonalność MenuExtra
Aby wyświetlić listę dostępnych MenuExtras, przejdź w Finderze do:
/System/Library/CoreServices/Menu Extras
Aby przejrzeć listę darmowych i komercyjnych StatusItems, odwiedź:
Elementy paska menu Super OS X.
Mam nadzieję że to pomoże. :) M.