Bildirim merkezinde olmayan uygulamalar için dock bildirim rozetini kaldır


12

Rozet bildirim simgesi ayarlayan ancak Ayarlar Bildirimler merkezinde bulunmayan rahatsız edici uygulamalar için rozet simgesini engellemenin bir yolu var mı?


Örneğin Spotify, her önemsiz olay için, uygulamada engellemenin bir yolu olmadan bir bildirim oluşturur.

Şahsen, uygulamaların ilk önce Bildirimler merkezinde olmadan nasıl bir rozet simgesi göstermesine izin verildiğini anlamıyorum.


Misal:

resim açıklamasını buraya girin


Ekran görüntünüzde olduğu gibi simgelerini rozetleyen uygulamalar, OS X'e Bildirim Merkezi'nin dahil edilmesinden çok önce geldi. Bunu yapmak için bildirim işlevselliğini kullanmaları gerekmiyor.
tubedogg


Ayrıca, bu şimdiye kadar bulduğum en iyi düzeltme: çalışırken çalışan uygulama durumunu gizle (rozeti de gizler): apple.stackexchange.com/questions/68915/…
y3sh

Yanıtlar:


27

Mühendisimi tersine çevirebildiğim bir çözümüm var. Makinemde Yosemite 10.10.4 (14E46) çalıştırarak test ettim. Paket kimliğini (uygulama paketinin Info.plist dosyasında) bulabilirseniz, uygulamayı bildirim tercihleri ​​bölmesinde görünmeye zorlamak için bu komut dosyasını kullanabilirsiniz.

# "Usernoted" seems to be the "user notifications daemon", so get it's PID.
pid=$(ps aux | grep -i [u]sernoted | awk '{print $2}')

# Find the sqlite3 database that this program has open. It's in a "private" folder (app sandboxing).
db="$(lsof -p $pid | grep com.apple.notificationcenter/db/db\$ | awk '{print $9}')"

# I got the bundleid from Spotify.app/Contents/Info.plist
bundleid="com.spotify.client"

# I use 0 as the flags because you can change all the settings in System Preferences
# 5 seems to be the default for show_count
# Grab the next-highest sort order
sql="INSERT INTO app_info (bundleid, flags, show_count, sort_order) VALUES ( '$bundleid', 0, 5, (SELECT MAX(sort_order) + 1 FROM app_info) );"

# Run the command
sqlite3 "$db" "$sql"

# Restart usernoted to make the changes take effect
killall usernoted

Bu noktada Sistem Tercihleri ​​-> Bildirimler'i açabilirsiniz ve az önce eklediğiniz uygulamayı listenin en altında bulabilirsiniz. Bu sayfadan simgenin işaretlenmesini etkinleştirebilir / devre dışı bırakabilirsiniz.


2
Çok akıllıca bir çözüm, teşekkürler Ryan! (Her ne kadar şimdi Spotify'ı bırakarak ve Apple Music'e geçerek 'düzelttim').
Jon Cox

1
Nihayet, bu korkunç el sıkışması için bir çözüm. Teşekkür ederim * 1000.
Josh Harrison

1
Sen adamsın.
Udi

1
Sadece bu çözümün hala işe yaradığını onaylamak istiyorum!
23tux

1
İhtiyacı yerine grep com.apple.notificationcenter/db/db\$sahip grep 'com.apple.notificationcenter/db2/db$'(bu zaten 3 yıllık olan Anlıyorum, muhtemelen öncesi) olarak Mac OS 10.14.1
Alex S

0

Benim gibi mac noobs olanlar için, yukarıdaki komut dosyasını oluşturmak ve çalıştırmak için:

1. TextEdit'i açın,
2. Düzenleyiciyi Düz Metin moduna getirin - Biçim> Düz Metin Yap.
(Bu adımı atlarsanız, komut dosyası olarak kaydetmenize izin vermez.)
3. Yukarıdaki komut dosyasını TextEdit penceresine yapıştırın
4. Dosyayı komut dosyası olarak kaydedin - Dosya> TextEdit'te Farklı Kaydet. Dosya adınızı ve ardından “.sh” dosya uzantısını girin ve ardından belgeyi Masaüstüne kaydedin.
5. Terminal uygulamasını açın
6. Terminal'de masaüstüne gidin - Terminali yazın (sonra enter tuşuna basın):

cd Masaüstü
7. Yeni oluşturduğunuz dosyanın izinlerini çalıştırabilmeniz için ayarlayın - Terminal'e yazın (sonra en tuşuna basın):
sudo chmod 700 file.sh
("File.sh" dosyasını komut dosyanızın adıyla değiştirin.)
8. Dosyayı çalıştırın - Terminal'e yazın:
./file.sh
(Yine, "file.sh" dosyasını komut dosyanızın adıyla değiştirin.)
9. Bildirimleri Sistem Tercihleri'nde açın. Spotify Uygulamasını bulabilmeli ve bildirimleri kapatabilmelisiniz.

Komut dosyası oluşturmak için kaynak: Terminal 101: Terminali Bash Komut Dosyaları ile Otomatikleştirin


1
Yürütülebilir bir kabuk komut dosyası oluşturma konusunda iyi bir öğretici, ancak yükseltilmiş çözüm için bir bash komut dosyasına ihtiyacınız yoktur. Terminali açın ve komutları yapıştırın. # İle başlayan satırları atla, çünkü bu bash dilinde bir yorumdur.
y3sh
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.