Hotkey global untuk menampilkan / menyembunyikan aplikasi tertentu di OS X? [duplikat]

10

Kemungkinan Duplikat:
Luncurkan aplikasi OS X dengan pintasan keyboard

Apakah mungkin untuk mendefinisikan hotkey global untuk menampilkan / menyembunyikan aplikasi tertentu di OS X?

Sebagai contoh, saya ingin dapat menampilkan / menyembunyikan Safari dengan Cmd+ Space.

Roman Dolgiy
sumber
Terkait dengan Meluncurkan aplikasi OS X dengan pintasan keyboard - Pengguna Super . Saya mengedit jawaban saya untuk pertanyaan itu untuk memasukkan aplikasi pihak ketiga yang mendukung pemicu gaya tayang atau sembunyikan. Saya juga menambahkan AppleScript untuk menunjukkan atau menyembunyikan aplikasi.
Lri

Jawaban:

7

Buka Automator , pilih untuk membuat Layanan , konfigurasikan agar tidak menerima input dalam aplikasi apa pun .

Dari perpustakaan, klik dua kali Utilitas »Jalankan AppleScript dan masukkan berikut ini ke dalam area teks besar:

on run {input, parameters}

    tell application "System Events"
        set names to name of application processes
        if names contains "Safari" then
            tell application process "Safari"
                if visible then
                    set visible to false
                else
                    # use the following to simply have it reappear:
                    set visible to true
                    # use the following to focus Safari:
                    tell application "Safari" to activate
                end if
            end tell
        else
            display dialog "Safari is not running"
        end if
    end tell

    return input
end run

Simpan di bawah nama apa pun. Tetapkan pintasan keyboard di Preferensi Sistem »Keyboard» Pintasan Keyboard »Layanan . Ingatlah untuk menonaktifkan pintasan Spotlight Cmd-Space.

Daniel Beck
sumber
2
Alih-alih display dialog, Anda bisa juga tell application "Safari" to activatemeluncurkannya jika tidak berjalan.
Daniel Beck
3

Simpan di AppleScript Editor dan Tetapkan pintasan untuk menjalankan skrip di OS X

tell application (path to frontmost application as text)
    if name is "TextEdit" then
        set bid to id
        tell application "System Events" to tell (process 1 where bundle identifier is bid)
            set visible to false
        end tell
    else
        tell application "TextEdit"
            reopen
            activate
        end tell
    end if
end tell
  • Jika aplikasi yang ditargetkan saat ini adalah yang paling depan, sembunyikan
  • Kalau tidak aktifkan saja
Lri
sumber
Perilaku skrip ini adalah sebagai berikut: Jika TextEdit adalah aplikasi paling depan, ia akan disembunyikan, jika tidak maka akan dibawa ke depan. Jadi skrip ini tidak akan menyembunyikan aplikasi jika terlihat tetapi tidak di bagian depan, melainkan membawanya ke depan.
Daniel Beck
Perilaku cerdas. Saya baru saja melewatkan penjelasan bagaimana cara pintas berperilaku di pos Anda - saya pikir ini akan membantu.
Daniel Beck
Terima kasih! Saya telah menandai jawaban Daniel karena dia yang pertama.
Roman Dolgiy
-3

CMD + W akan menyembunyikan windows. Ini berfungsi secara global. Namun Untuk kembali ke mereka Anda harus mengklik ikon dermaga. Namun di browser itu akan menutup tab.

Aleksandr Vysockij
sumber
Cmd + W menutup windows.
daviesgeek
Selain itu, pengguna bertanya tentang aplikasi , bukan windows . Pada OS X, ada banyak perbedaan.
Daniel Beck