Komut dosyasılanabilir menü çubuğu simgeleri


8

Menü çubuğu durum alanına özel simgeler eklememin kolay bir yolu var mı? İdeal olarak Growl gibi bir şey (örneğin, sadece bir komutu yürütebileceğiniz), ancak bildirimler yerine, menü çubuğunda simgeleri görüntüler.

Daha çok beni çeşitli şeylerle ilgili uyarmak için kullanacağım sayılar çizmeye çalışıyorum. Örneğin, e-posta istemcimi belirli bir e-posta geldiğinde sayıları güncellemek için bir komut / AppleScript çalıştıracak şekilde yapılandırabilirim.

Bunun gibi bir şey:

img

Yanıtlar:


4

AppleScript içinden Cocoa Objective-C çağrıları kullanarak açıklayan bu iş parçacığı ile başlayan öneririz . Burada örnek bir Xcode projesi var .

Ve Başlat , işlevsel olarak bunu yapan AppleScript'te yazılmış tam bir uygulamadır. Xcode proje dosyası burada .

Temel öncül NSMenuItem örnekleri oluşturmak ve bunları sistemin NSStatusBar'ına eklemektir:

set statusMenu to (NSMenu's alloc)'s initWithTitle_("Launch")
-- (build and do stuff with the statusMenu here)
set sysStatusBar to NSStatusBar's systemStatusBar
set statusItem to sysStatusBar's statusItemWithLength_(32)
tell statusItem to setMenu_(statusMenu)
tell statusItem to setHighlightMode_(1)
set menuImage to NSImage's imageNamed_("icon.png")
tell statusItem to setImage_(menuImage)

AppleScript, Launch'un kaynak kodundan alıntı, Telif Hakkı © Lee Hanken


Bağlantılar 2018'de şimdi eksik
davidfrancis

3

Tamam, bunun için bir uygulama yaptım. GitHub'da: 0942v8653 / ScriptableStatusBar . Sadece uygulamayı çalışır durumda tutun sbarve öğeleri ayarlamak ve kaldırmak için aracı kullanın.

Benioku dosyasının dediği gibi:

sbar set face 😃 'Bye!:sbar remove face'

Durum çubuğunda bir yüz oluşturur. Menüde, oluşturduğu menüden kurtulmaya Bye!çalışan bir seçenek bulunur sbar remove face.


Derlenmiş bir sürümü https://github.com/0942v8653/ScriptableStatusBar/releases adresinden indirebilirsiniz .


Güzel, ama neden "io.github.0942v8653.ScriptableStatusBar" adındaki yerine tüm dağıtılmış bildirimlere kaydoyorsunuz?
Mateusz Szlosek

@MateuszSzlosek Güzel soru. Daha sonra düzelteceğim: P
0942v8653

1
@MateuszSzlosek Düzeltildi.
0942v8653

Uygulamanızın işlevselliği "BitBar" a çok benziyor (yukarıda belirtilmiştir); sizinki bir simgeye (BitBar'ın sahip olup olmadığından emin değilken) sahipken, diğeri hemen hemen her komut dosyası dilinin (std-out ile) sağ menü çubuğunda çıktısını çok kolay görüntülemesine izin verir. Ben (eski işletim sistemi sürümlerinde olduğu gibi) geçerli çalışma alanı sayısını "döndüren" bir elma komut dosyası "osascript" için kullanın. Komut dosyaları basitçe bir eklenti klasörüne yerleştirilir & EKSTRA! adların bir kısmı (örn. xx.3s.sh => 3 saniye) tekrar aralıklarını belirtir. Durum görüntüleme için ÇOK yararlı !!!
clemsam lang

2

RubyCocoa'yı da kullanabilirsiniz :

require "osx/cocoa"
include OSX

app = NSApplication.sharedApplication
statusitem = NSStatusBar.systemStatusBar().statusItemWithLength(NSVariableStatusItemLength)
statusitem.setTitle("aa")
app.run


0

Evet, Xcode'da bu amaç için bir Kakao uygulaması oluşturabilirsiniz. Hayır, applecript ile yapamazsınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.