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.


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.


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

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.


Cmd + W menutup windows.
daviesgeek

Selain itu, pengguna bertanya tentang aplikasi , bukan windows . Pada OS X, ada banyak perbedaan.
Daniel Beck
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.