Terminal: Permintaan fitur: drop down hot key ala quake / guake / tilda

Dibuat pada 10 Mei 2019  ·  106Komentar  ·  Sumber: microsoft/terminal

Hal kecil yang paling saya rindukan ketika saya masuk ke Windows adalah memiliki terminal hot key terpisah untuk masing-masing dari tiga monitor saya. Hal terdekat yang pernah saya percayai pada tuhan adalah ketika saya menyadari bahwa itu dapat diperoleh dan jika Anda dapat mewujudkannya di Windows, saya mungkin harus mencium Anda.

Area-User Interface Help Wanted Issue-Feature Product-Terminal

Komentar yang paling membantu

Modus gempa akan menjadi syarat bagi saya untuk beralih dari ConEmu. Namun, saya lebih memilih untuk selalu membuka instance yang sama terlepas dari monitor / desktop virtual mana yang saat ini menjadi fokus.

Secara pribadi saya menggunakan win + tilde untuk membuka ConEmu, tetapi jelas pintasannya harus dapat dikonfigurasi.

Semua 106 komentar

Jadi maksud Anda jika Anda memiliki tiga monitor (misalnya), Anda dapat menekan hotkey yang berbeda untuk menyebabkan terminal bergeser ke bawah gaya konsol gempa dari monitor mana pun yang Anda pilih?

Jadi maksud Anda jika Anda memiliki tiga monitor (misalnya), Anda dapat menekan hotkey yang berbeda untuk menyebabkan terminal bergeser ke bawah gaya konsol gempa dari monitor mana pun yang Anda pilih?

Tepat sekali. Saya tahu ini tampaknya agak aneh / tidak perlu / menarik perhatian untuk apa yang dimaksudkan sebagai terminal arus utama yang banyak digunakan, tetapi saya berjanji kepada Anda bahwa produktivitaslah yang benar-benar membuat drop down hot key bersinar.

Idealnya setiap monitor memiliki terminalnya sendiri yang dapat tetap terbuka secara bersamaan dengan yang lain.
Dalam nix menggunakan 3 contoh Tilda saya telah mengaturnya sehingga f1 turun, menutup, atau memilih jika terbuka tetapi tidak aktif monitor kiri. F2 melakukan layar tengah saya dan f3 melakukan hak saya. Saya dapat menggunakan tombol pintas ini untuk melompat di antara ketiga terminal ini jika sudah terbuka juga. Hasil akhirnya membuat perpindahan antar terminal dan aplikasi latar belakang lainnya menjadi mimpi alur kerja. Ini juga terlihat sangat keren jika aku mengatakannya sendiri.

Guake alternatif lain yang saya suka terbatas hanya pada satu jendela / instance pada satu waktu dan itu hanya turun pada monitor apa pun yang saat ini berada di mouse pada saat tombol pintas ditekan. Ini juga fitur yang sangat bagus tapi bukan yang saya cari. Saya tidak akan keberatan dengan pilihan dalam perilaku tetapi baris kode tidak tumbuh di pohon jadi dibuat untuk memilih saya lebih suka desain tilda.

Kami benar-benar manja terminal bijaksana di sisi nix hal dan itulah yang membuat upaya Microsoft untuk membangun terminal kaya fitur baru yang lebih canggih begitu menarik. Ini benar-benar terasa seperti Microsoft memperjuangkan waktu yang dihabiskan para pengembang dan pengembang masa depan (siswa di sini) dalam sistem operasi mereka dan jika Anda memasangkan WSL2 dengan terminal drop-down, saya tahu pasti saya akan menghabiskan lebih sedikit waktu untuk boot kembali dan seterusnya antara Mint dan 10.

Modus gempa akan menjadi syarat bagi saya untuk beralih dari ConEmu. Namun, saya lebih memilih untuk selalu membuka instance yang sama terlepas dari monitor / desktop virtual mana yang saat ini menjadi fokus.

Secara pribadi saya menggunakan win + tilde untuk membuka ConEmu, tetapi jelas pintasannya harus dapat dikonfigurasi.

Ya, satu contoh drop-down, itu harus turun di monitor di mana kursor mouse kita berada, dan harus fokus, tetapi seharusnya tidak muncul saat Anda melakukan Alt + Tab, jadi rasanya seperti dimasukkan ke dalam OS. Seperti guake.

@ cyberhck apakah Anda yakin itu harus di mana mouse berada, dan bukan di mana jendela yang saat ini difokuskan?

@Tokopedia
Perilaku default Guake adalah sedemikian rupa sehingga tombol pintas mengaktifkan terminal di tempat yang pernah digunakan monitor mouse seperti yang dijelaskan Cyberhck. Ia juga memiliki opsi untuk menetapkan monitor tertentu jika diinginkan. Ini terbatas hanya karena hanya satu contoh yang dapat berjalan pada satu waktu, sesuatu yang tidak memiliki masalah Terminal windows. Jika Terminal Windows dapat diatur, cara guake adalah dengan pilihan antara perilaku statis atau ikuti, yang diperlukan hanyalah pengaturan independen per instance untuk mencocokkan fungsionalitas guake (ikuti atau statis) dan tilda (beberapa instance).

Ya, kita dapat memiliki konfigurasi 3 arah, satu-satu monitor tertentu, satu di jendela mana pun yang difokuskan, dan satu di mana mouse ada, (juga cukup penting untuk memiliki opsi untuk menyembunyikan dari daftar aplikasi (alt + tab) jika mode ini diaktifkan, karena saya membayangkan pengguna tidak ingin melihatnya saat beralih antara IDE dan browser)

:)

@Jakul , alasan saya mengatakan di mana mouse berada adalah karena saat Anda menelusuri sesuatu, tetikus selalu berada di depan mata Anda, dan jika Anda menggunakan tombol pendek, sangat mudah untuk mengalihkan mata Anda. daripada harus menggerakkan mouse sepenuhnya.

+1

Harap jangan membalas utas dengan "+1" tanpa memberikan umpan balik tambahan yang berguna. Github memiliki +1 yang sangat bagus yang tidak melakukan ping ke semua orang di kotak masuk utas di sini:
image

Jadi maksud Anda jika Anda memiliki tiga monitor (misalnya), Anda dapat menekan hotkey yang berbeda untuk menyebabkan terminal bergeser ke bawah gaya konsol gempa dari monitor mana pun yang Anda pilih?

Perilaku default pada multi monitor untuk Guake adalah di mana pun mouse berada di mana terminal turun.

Namun Anda dapat mengaturnya untuk turun ke monitor apa pun yang Anda inginkan melalui pengaturan jika Anda tidak menginginkan perilaku ini.

Hal yang saya butuhkan dengan ini adalah kemampuan untuk menonaktifkan animasi dan menyembunyikan jendela sepenuhnya (dari taskbar, alt + tab, win + tab, dll.)

Opsi tambahan untuk tidak pernah menampilkan tombol taskbar juga saya inginkan, tetapi mungkin berada di luar cakupan untuk masalah ini

Saya suka proposal tersebut, dan itu adalah satu-satunya hal yang tidak akan digunakan setiap hari (setelah dirilis). Saya suka menggunakan ctrl + `di ConEmu dan bahkan tidak menggunakan terminal terintegrasi VSCode karena itu. Namun, saya tidak yakin apakah saya terlalu peduli tentang pengikatan kunci per ide monitor.

Juga, Apakah proposal ini termasuk memulai sebuah instance dari terminal jika tidak ada yang berjalan, mirip dengan istilah linux lainnya seperti dropdown terminal xfce dengan pintasan aplikasi ? Saya tidak keberatan jika itu Win + `sebagai pintasan sistem, mirip dengan Win + \

Itu bisa dilakukan dengan pintasan yang ada di suatu tempat dengan hotkey global terikat padanya dan pintasan itu menggunakan CLI untuk memanggil toggle jika beberapa contoh sudah berjalan. Membuatnya menjadi hotkey di seluruh sistem sepertinya ide yang buruk

Saya akan mempertimbangkan untuk mengembangkan di windows lebih banyak (saat ini 95% dilakukan di Linux) jika saya memiliki terminal yang bisa drop down seperti guake.

Saya terutama menggunakan cmder / conemu di windows juga dan ini juga alasan utama saya belum beralih, terutama karena saya menggunakan dua monitor dan (biasanya) 3 desktop, tanpa cara global untuk hanya memanggil terminal I dasarnya memiliki 6 tempat di mana jendela sebenarnya bisa, terdengar konyol, tapi itu mengganggu.

Juga, banyak dari Anda menyebutkan menggunakan pintasan keyboard untuk ini tetapi Anda semua harus mempertimbangkan untuk memetakannya pada tombol mouse khusus juga, dan jika memungkinkan, isyarat. Terima kasih nanti.

Senang melihat orang lain tertarik dengan gagasan terminal drop-down yang dapat dikonfigurasi. Jelas orang memiliki preferensi yang sangat berbeda tentang bagaimana drop-down ini berperilaku secara default, tetapi percaya sebagian besar preferensi semua orang menjadi mungkin selama

  1. Setiap mesin virtual dapat dikonfigurasi untuk mengikuti mouse atau mengikat ke satu monitor.
  2. Setiap instance dapat memiliki hot key-nya sendiri.

Maka tidak masalah apa yang Anda suka dalam bidang kemungkinan yang dapat dikonfigurasi.

Saya pribadi menggunakan kombinasi gempa dan tilda sehingga saya memiliki satu terminal yang terikat ke setiap layar dan satu terminal yang mengikuti mouse.

@NOFUNEVER Anda memiliki sebagian besar dari apa yang orang-orang minta dengan benar, tetapi @cyberhck dan @zakius mengidentifikasi beberapa fitur lain yang mungkin penting:

  • Tambahkan fokus jendela ke daftar opsi konfigurasi, selain memantau pengikatan / ikuti mouse.
  • Haruskah memiliki opsi yang dapat dikonfigurasi untuk tidak ditampilkan di alt-tab / taskbar?

Sepertinya masih ada diskusi apakah ini harus memiliki beberapa contoh, seperti tilda (yang tidak pernah saya gunakan dan tidak dapat komentari), atau contoh tunggal, seperti Guake. Apakah saya melewatkan hal lain? Jika tidak, kita harus menyelesaikan pertanyaan itu dan mulai menulis spesifikasi.

( @zakius , Anda juga menyebutkan keinginan untuk menonaktifkan animasi tarik-turun. Alasan? Saya tidak melihat ada yang salah dengan itu, tetapi pembenaran akan membantu.)

Saya tidak suka animasi secara keseluruhan karena mereka mencuri fokus saya (jika ada sesuatu yang menggerakkan Anda secara naluriah melihatnya, dulu itu bisa menyelamatkan hidup Anda). Tetapi ada juga yang saya sebut blocking animations , yang harus Anda tunggu sebelum Anda dapat mengambil tindakan, mencegah Anda membaca teks atau mengeluarkan perintah input. Ini bahkan lebih mengganggu alur kerja karena Anda tidak punya pilihan lain selain menunggu, beberapa di antaranya dirancang untuk menandai eksekusi yang lambat, tetapi pada mesin yang cepat, hal itu memperlambat Anda.

Pendekatan terbaik adalah dapat memilih waktu animasi dengan 0 menonaktifkannya sepenuhnya

kami tidak ingin animasi seperti mac yang terlalu lambat, tetapi guake menyelesaikan animasinya dalam waktu kurang dari 100ms, saya rasa, jadi cepat, mungkin penundaannya juga bisa konfigurasi, 0 tanpa animasi. Animasi Guake tampak "pas", sangat cepat, namun Anda dapat melihat dari mana asalnya atau ke mana arahnya.

Menambahkan konfigurasi akan luar biasa, karena seseorang yang tidak menyukai animasi dapat menonaktifkannya, atau mengubahnya menjadi animasi yang lambat seperti mac, saya hanya melakukan 80ms atau 120ms.

Ahh betapa saya berharap ConEmu adalah solusi bagi saya, tidak berfungsi untuk semua orang, ini dibuat di atas Hotkey, dan apa pun di atas hot key terdeteksi sebagai trojan (alarm palsu).

Banyak orang menggunakan terminal untuk bekerja, dan pekerjaan mereka tidak mengizinkan mereka menginstal sesuatu yang dideteksi sebagai trojan. (sama seperti Qonsole) https://github.com/joedf/Qonsole/issues/9

Hal penting lainnya yang perlu dipertimbangkan saat menerapkan ini adalah drop-down akan muncul di virtual desktop yang sedang aktif. Saya sering menggunakan desktop virtual. Ketika saya pertama kali mulai menggunakan ConEmu, saya menemukan bahwa terminal drop-down akan selalu memindahkan saya kembali ke desktop 1 dan kemudian menampilkan drop-down. Saya akhirnya menemukan pengaturan untuk membuatnya berfungsi seperti yang diharapkan di ConEmu, dan sangat penting bahwa Terminal Windows berperilaku dengan cara yang sama.

Ya, itu seharusnya sudah jelas sebenarnya: D bayangkan menekan tombol pintas dan terminal muncul di yang pertama saat Anda berada di ruang kerja lain.

Jadi sampai tuan kami menambahkan ini ke terminal, saya telah membuat sepotong C # sederhana yang memperbaiki ini untuk saya sementara itu: https://github.com/flyingpie/windows-terminal-quake.

Itu melakukan drop-down Quake-style menggunakan CTRL + ~ dan CTRL + Q, yang tentu saja benar-benar dapat diubah. Saat ini melakukan drop layar penuh dan turun di layar + ruang kerja tempat mouse berada.

Jika ada yang tertarik, saya terbuka untuk saran dan / atau PR.

@lyingpie Itu

Saya hanya ingin mengulangi bahwa sementara tidak ada seorang pun di tim yang memiliki siklus untuk melakukan ini untuk 1.0, kami dengan senang hati akan meninjau kontribusi dari komunitas. Idealnya seseorang di komunitas akan dapat mengumpulkan saran dan komentar dari utas ini ke dalam Template Spesifikasi dan mengirimkan PR untuk spesifikasi itu. Setelah spesifikasi tersebut disetujui, kami akan dengan senang hati meninjau PR dengan perubahan kode yang diperlukan. Menurut saya, @flyingpie benar-benar telah memahami 90% dasar-dasarnya, sebagian besar akan memoles

Saya memiliki kasus penggunaan yang serupa. Saya tidak menggunakan gaya Quake, tapi saya sangat menyukai terminal yang selalu terbuka.

Pengaturan ConEmu saya melakukan hal berikut yang tampaknya kurang dari wt.exe (dalam urutan kepentingan yang kasar):

  1. ConEmu saya benar-benar tidak berhenti kecuali saat dimatikan atau saat diminta secara eksplisit. Jika saya menutup tab terakhir, itu masih terbuka tanpa ada tab.
  2. Ini diluncurkan ke lokasi yang sama setiap saat. (0,0) di monitor kedua saya.
  3. Saya memiliki hotkey global untuk mengalihkan fokusnya (ctrl + `).
  4. Itu tidak muncul di bilah tugas. Ini memiliki ikon baki.
  5. Anda hanya dapat memulai satu contoh saja.
  6. Ini secara otomatis diluncurkan saat windows login. (penting untuk berikut ini)
  7. Ini adalah terminal default, secara otomatis menggunakan terminal lain (Yaitu Jika saya 'Menjalankan' wt.exe, lalu menjalankan cmd.exe, saya berharap wt.exe hanya akan membuka tab baru dengan tab cmd.exe baru) *

Semua itu kira-kira blocker bagi saya yang beralih ke wt.exe dari ConEmu.

Selain itu:

  • Beberapa orang pasti ingin selalu di atas.
  • Beberapa orang ingin meminimalkan fokus yang hilang, dan orang-orang tersebut umumnya ingin menonaktifkan animasi meminimalkan / memaksimalkan.
  • Beberapa ingin terminal untuk melompat ke monitor 'aktif' mereka setelah fokus.
  • Beberapa menginginkan beberapa contoh terminal? *

Ini semua adalah fitur berbeda yang harus memiliki spesifikasi IMO mereka sendiri. Saya bersedia menjalankan beberapa proses spesifikasi ini. @ zadjii-msft Apakah Anda mengetahui poin-poin berikut yang memiliki spesifikasi, tidak akan tercapai karena beberapa alasan, dll?

* Rumit?

Jadi Anda telah membuat daftar sejumlah masalah terpisah, biar saya lihat apakah saya dapat menautkan semuanya:

  1. # 2080 adalah spesifikasi WIP untuk fitur ini, yang akan berubah menjadi spesifikasi yang sangat besar pada saat selesai.
  2. # 1043 mungkin tidak membutuhkan spesifikasi TBH, hanya membutuhkan seseorang untuk melakukan pekerjaannya
  3. # 653 (masalah ini)
  4. Terus terang saya belum pernah mendengar permintaan untuk tidak memilikinya di bilah tugas sebelumnya. Jadi itu pasti tidak punya masalah sendiri. Memiliki ikon baki tampaknya diperlukan karena tidak memiliki ikon bilah tugas, jadi ini mungkin merupakan satu spesifikasi / tugas
  5. Ini berada di bawah # 2080
  6. # 2189
  7. # 492 melacak ini, tetapi kemungkinan besar diperlukan beberapa perubahan OS. Ini juga sering muncul di # 2080.
  8. Aku berani bersumpah ini punya masalahnya sendiri, tapi sepertinya tidak.
  9. Belum pernah mendengar permintaan ini sebelumnya, tapi terdengar rapi bagi saya
  10. Tampak samar-samar mirip dengan fitur TBH ini. Mungkin kita harus mempertimbangkan kedua skenario ini dalam spesifikasi ini?
  11. Tidak yakin apa yang Anda maksud tentang hal ini - maksud Anda panel, seperti # 1000?

Dari semua itu, # 1043, # 653, # 2189 semuanya bertanda "Butuh Bantuan" 😉

Saya menyebutkan 4. sebelumnya, dan untuk memastikan bahwa Terminal tidak muncul di Alt + Tab atau Win + Tab ketika jendela disembunyikan

Beberapa instance berarti banyak jendela yang mungkin tetapi tidak harus tersebar di beberapa layar atau desktop virtual yang saya asumsikan, tetapi itu akan membuat penanganan hotkey global jauh lebih kompleks atau bahkan tidak mungkin (saya pikir conemu menonaktifkan multi instance saat mengaktifkan mode quake)

Untuk 11 / "beberapa contoh berarti banyak jendela", maksud saya secara khusus adalah apa yang dijelaskan OP di sini: https://github.com/microsoft/terminal/issues/653#issuecomment -491389892

Saya tidak terlalu peduli tentang itu, tetapi ini adalah masalah terkait yang terpisah. Saya kira mereka ingin beberapa hotkey global untuk membuka / mengaktifkan / memfokuskan banyak instance dengan cara yang sama seperti saya menginginkan satu hotkey untuk item # 3 di daftar saya.

@kakius

Saya menyebutkan 4. sebelumnya, dan untuk memastikan bahwa Terminal tidak muncul di Alt + Tab atau Win + Tab ketika jendela disembunyikan

Beberapa instance berarti banyak jendela yang mungkin tetapi tidak harus tersebar di beberapa layar atau desktop virtual yang saya asumsikan, tetapi itu akan membuat penanganan hotkey global jauh lebih kompleks atau bahkan tidak mungkin (saya pikir conemu menonaktifkan multi instance saat mengaktifkan mode quake)

Beberapa contoh dinonaktifkan adalah apa yang terjadi pada ConEmu ketika dropdown gempa digunakan.
Hampir tidak mungkin untuk menangani perilaku itu dengan cara yang logis, Anda harus menggunakan tab Anda atau menggunakan multiplexer terminal jika Anda menginginkan sesuatu seperti beberapa contoh DENGAN dropdown gempa.

EDIT:
Anda mungkin bisa bekerja di sesuatu di mana jendela terminal pertama yang dibuka adalah master dan ini adalah jendela yang selalu dipanggil ke bawah saat menggunakan tombol pintas Quake.

Mungkin sulit untuk mengerjakannya dengan dukungan tab - yang mungkin itulah sebabnya tidak ada terminal lain yang saya tahu mendukung perilaku itu. Ada juga beberapa kasus tepi yang perlu dipertimbangkan dalam skenario itu seperti apa yang terjadi jika Anda menutup jendela master utama dan ada jendela sekunder yang masih terbuka - apakah tombol pintas akan terus mengabaikan jendela terminal sekunder ini, dll.

Untuk ConEmu saat Quake diaktifkan dan Anda mencoba membuka ConEmu lagi (Katakan dari pintasan desktop) itu tidak akan membuka jendela baru, melainkan hanya akan membawa fokus pada terminal yang sedang berjalan.

Anda mungkin bisa bekerja di sesuatu di mana jendela terminal pertama yang dibuka adalah master dan ini adalah jendela yang selalu dipanggil ke bawah saat menggunakan tombol pintas Quake.

ada juga kemungkinan mengizinkan untuk menjalankan satu instance per layar fisik per desktop virtual dan dengan cara ini hotkey utama akan selalu memunculkan instance di VD dan layar aktif Anda saat ini, tetapi itu cukup rumit, saya pikir menonaktifkan beberapa instance itu wajar

Saya pikir banyak contoh dapat diabaikan jika tab terus ditingkatkan dan jendela gaya gempa dapat dipanggil dari mana saja. Setidaknya untuk sekarang.

ada juga kemungkinan mengizinkan untuk menjalankan satu instance per layar fisik per desktop virtual dan dengan cara ini hotkey utama akan selalu memunculkan instance di VD dan layar aktif Anda saat ini, tetapi itu cukup rumit, saya pikir menonaktifkan beberapa instance itu wajar

Saya tidak akan mengabaikan banyak contoh sepenuhnya - terkadang sangat berguna untuk membuka terminal pada satu layar yang mengalirkan log atau menunjukkan beban sistem saat bekerja dalam terminal lain pada layar yang berdekatan.

Saya sebelumnya telah menggunakan desktop Ubuntu selama beberapa tahun terakhir (baru saja kembali ke Windows sejak WSL v2) dan karena Guake dan terminal Ubuntu sangat mirip dalam hal responsivitas, desain / tema UI dll. Saya sering membuka terminal default Ubuntu pada log pengamatan layar vertikal dan beban sistem saya.

Itu jelas cara mudah mengatasi masalah ini jika beberapa contoh dengan dropdown dinonaktifkan - Gunakan terminal yang berbeda.
Masalahnya adalah sebagian besar terminal di Windows benar-benar sampah (Oleh karena itu proyek ini c).

contoh tambahan dengan beberapa monitor dalam pikiran ketika saya menyarankan
Itu. Satu per monitor, masing-masing dengan tombol pintasnya sendiri. Saya menggunakan lanskap potret
potret diatur di rumah dan saat menjalankan mint memiliki guake berjalan di
center tetapi tidak menawarkan contoh tambahan yang dimiliki tilda jadi saya menggunakannya
monitor potret eksterior.

Pada hari Sen, 16 Sep 2019 pukul 14.00 nofunatall [email protected] menulis:

ada juga kemungkinan mengizinkan untuk menjalankan satu instance per
layar fisik per desktop virtual dan hotkey utama dengan cara ini akan selalu
memunculkan instance di VD dan layar aktif Anda saat ini, tapi itu saja
cukup rumit, menurut saya menonaktifkan beberapa contoh adalah hal yang wajar

Saya tidak akan mengabaikan banyak contoh sepenuhnya - terkadang ini sangat berguna
untuk membuka terminal pada satu layar yang mengalirkan log atau menunjukkan sistem
memuat saat bekerja dalam terminal lain pada layar yang berdekatan.

Saya sebelumnya telah menggunakan desktop Ubuntu selama beberapa tahun terakhir (hanya
kembali ke Windows sejak WSL v2) dan sejak Guake dan terminal Ubuntu
sangat mirip dalam hal daya tanggap, desain UI / tema, dll. Saya sering
memiliki terminal default Ubuntu terbuka di log menonton layar vertikal saya
dan beban sistem.

Itu jelas merupakan cara mudah mengatasi masalah jika banyak contoh dengan
dropdown dinonaktifkan - Gunakan terminal yang berbeda.
Masalahnya adalah sebagian besar terminal di Windows benar-benar sampah (Karenanya ini
proyek c).

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/microsoft/terminal/issues/653?email_source=notifications&email_token=ACAH5BIA5ZPETCBZK77LMVLQJ7XYVA5CNFSM4HL735C2YY3PNVWWK3TUL52HS4DFVREXG43VLQJ7XYVA6
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/ACAH5BM722EZEB5LQBXGW6TQJ7XYVANCNFSM4HL735CQ
.

Teman-teman, kami jelas memiliki dua masalah terpisah di sini. Bisakah kita mengedit yang ini menjadi tentang hotkey "Gaya gempa" (global / terminal tunggal)?

Kemudian masalah kedua, yang akan diblokir oleh yang satu ini, untuk mengaktifkan penetapan hotkey "Gaya gempa" khusus ke tampilan yang berbeda.

Yang pertama tampaknya lebih populer dan diinginkan. Aku ingin melihat yang kedua juga (keren ide @NOFUNEVER tidak pernah memikirkan fitur tersebut, tampaknya berguna), tetapi akan menyenangkan jika kita bisa menjernihkan topik sedikit.

Masalah OP sebenarnya lebih dari yang kedua, terlepas dari nama masalah ini. Terlepas dari itu, saya pikir memiliki hotkey yang membuka satu terminal sebagian besar diblokir oleh # 2080. Kami tidak dapat benar-benar memiliki hotkey yang membuka satu terminal hingga kami dapat menerapkan satu terminal.

https://github.com/microsoft/terminal/issues/653#issuecomment -520419611

Ini adalah rincian terbaik menurut saya.

@rlabrecque Ya, saya tahu bahwa masalah asli terkait dengan solusi yang lebih menarik, tetapi melihat komentar kebanyakan orang menyatakan keinginan untuk hanya "gempa", apalagi orang yang tertarik dengan tombol pintas khusus untuk tampilan apa pun.

Itu sebabnya saya mengusulkan untuk mengubah masalah ini menjadi yang terkait dengan gaya gempa dan mengekstrak permintaan fitur tindak lanjut ke masalah terpisah di mana kami juga dapat melacaknya.

Menurut saya ini perlu dipecah menjadi beberapa masalah untuk masing-masing dari berbagai fitur, dimulai dengan fitur hotkey-to-to-toggle-visibility fundamental. Itu bisa dilakukan tanpa fitur lainnya, bukan?

Dengan banyak masalah, akan lebih mudah untuk melihat apa permintaan untuk setiap twist tertentu pada resep dan memprioritaskan pengembangan. Sepertinya fitur minimum yang layak akan menggaruk gatal banyak orang.

Bukankah itu yang dijelaskan oleh https://github.com/microsoft/terminal/issues/653#issuecomment -520419611?

Bagi siapa saja yang menunggu ini untuk beralih dari conemu (seperti saya), dll. Anda dapat menggunakan autohotkey dan item taskbar yang disematkan sebagai solusinya.

skrip kunci otomatis:

^`::Send #5

Ini akan memetakan ctrl + `ke winkey + 5, mengubahnya sesuai kebutuhan Anda.

alat yang disediakan oleh flyingpie jauh lebih baik: tidak perlu menyematkan dan menyembunyikan tombol bilah tugas sepenuhnya, tetapi saya menggunakannya dengan aplikasi lain (karena Terminal juga melewatkan beberapa hal lain)

Mengambil solusi AutoHotKey sedikit lebih jauh:

#SC29::ToggleTerminal()

ShowAndPositionTerminal()
{
    WinShow ahk_class CASCADIA_HOSTING_WINDOW_CLASS
    WinActivate ahk_class CASCADIA_HOSTING_WINDOW_CLASS

    WinMove, ahk_class CASCADIA_HOSTING_WINDOW_CLASS,, -5, -10, A_ScreenWidth + 10, A_ScreenHeight * 0.7,
}

ToggleTerminal()
{
    WinMatcher := "ahk_class CASCADIA_HOSTING_WINDOW_CLASS"

    DetectHiddenWindows, On

    if WinExist(WinMatcher)
    ; Window Exists
    {
        DetectHiddenWindows, Off

        ; Check if its hidden
        if !WinExist(WinMatcher) || !WinActive(WinMatcher)
        {
            ShowAndPositionTerminal()
        }
        else if WinExist(WinMatcher)
        {
            ; Script sees it without detecting hidden windows, so..
            WinHide ahk_class CASCADIA_HOSTING_WINDOW_CLASS
            Send !{Esc}
        }
    }
    else
    {
        Run "c:\Users\kim\AppData\Local\Microsoft\WindowsApps\wt.exe"
        Sleep, 1000
        ShowAndPositionTerminal()
    }
}

Skrip ini mengikat win + ½ (pada keyboard Denmark, tombol kiri atas di bawah escape) ke fungsi yang memfokuskan instance terminal yang sedang berjalan, atau memulai instance baru jika tidak berjalan, dan mengubah ukuran serta memposisikannya "dengan benar". Jika terminal sudah dalam fokus itu menyembunyikan jendela (sehingga tidak muncul di alt + tab).

Saya memperbarui solusi @kimbirkelund sedikit, jadi untuk memperbaiki kesalahan ukuran jendela jika Anda tidak memasang bilah tugas di bagian bawah seperti yang saya lakukan.

Anda dapat menemukan kode di intisari saya di sini , atau menyalinnya langsung dari bawah:

; How much height of screen size the terminal window takes.
VRatio := 0.8
; The path to the Windows Terminal exe file.
WtPath = "%LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe"

#SC29::ToggleTerminal()

ShowAndPositionTerminal()
{
    ScreenX := GetScreenLeft()
    ScreenY := GetScreenTop()
    ScreenWidth := GetScreenWidth()
    ScreenHeight := GetScreenHeight()
    global VRatio

    WinShow ahk_class CASCADIA_HOSTING_WINDOW_CLASS
    WinActivate ahk_class CASCADIA_HOSTING_WINDOW_CLASS

    WinMove, ahk_class CASCADIA_HOSTING_WINDOW_CLASS,, ScreenX-5, ScreenY-10, ScreenWidth+10, ScreenHeight * VRatio,
}

ToggleTerminal()
{
    WinMatcher := "ahk_class CASCADIA_HOSTING_WINDOW_CLASS"

    DetectHiddenWindows, On

    if WinExist(WinMatcher)
    ; Window Exists
    {
        DetectHiddenWindows, Off

        ; Check if its hidden
        if !WinExist(WinMatcher) || !WinActive(WinMatcher)
        {
            ShowAndPositionTerminal()
        }
        else if WinExist(WinMatcher)
        {
            ; Script sees it without detecting hidden windows, so..
            WinHide ahk_class CASCADIA_HOSTING_WINDOW_CLASS
            Send !{Esc}
        }
    }
    else
    {
        global WtPath
        Run %WtPath%
        Sleep, 1000
        ShowAndPositionTerminal()
    }
}

; Gets the edge that the taskbar is docked to.  Returns:
;   "top"
;   "right"
;   "bottom"
;   "left"
GetTaskbarEdge() {
  WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,

  if (TW = A_ScreenWidth) { ; Vertical Taskbar
    if (TY = 0) {
      return "top"
    } else {
      return "bottom"
    }
  } else { ; Horizontal Taskbar
    if (TX = 0) {
      return "left"
    } else {
      return "right"
    }
  }
}

GetScreenTop() {
  WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,
  TaskbarEdge := GetTaskbarEdge()

  if (TaskbarEdge = "top") {
    return TH
  } else {
    return 0
  }
}

GetScreenLeft() {
  WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,
  TaskbarEdge := GetTaskbarEdge()

  if (TaskbarEdge = "left") {
    return TW
  } else {
    return 0
  }
}

GetScreenWidth() {
  WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,
  TaskbarEdge := GetTaskbarEdge()

  if (TaskbarEdge = "top" or TaskbarEdge = "bottom") {
    return A_ScreenWidth
  } else {
    return A_ScreenWidth - TW
  }
}

GetScreenHeight() {
  WinGetPos,TX,TY,TW,TH,ahk_class Shell_TrayWnd,,,
  TaskbarEdge := GetTaskbarEdge()

  if (TaskbarEdge = "top" or TaskbarEdge = "bottom") {
    return A_ScreenHeight - TH
  } else {
    return A_ScreenHeight
  }
}

Saya tidak ingin melanjutkan permintaan fitur ini keluar jalur, tetapi saya ingin membagikan perubahan yang saya buat pada pekerjaan yang telah dilakukan @wizcas dan @kimbirkelund . Belum pernah benar-benar menggunakan AHK sebelumnya jadi agak hackish tetapi singkatnya saya menambahkan menu dan file pengaturan sehingga Anda dapat mengubah yang berikut:

  • ketinggian terminal
  • opasitas terminal
  • jenis dan ukuran font terminal
  • skema warna

Semua ini tanpa mengkompilasi ulang file atau membuka file JSON dan mengeditnya secara manual. Ini menyimpan pengaturan non profile.json (misalnya ukuran terminal) dalam file settings.ini sendiri di direktori yang sama. Senang menerima perubahan jika ada yang ingin berkontribusi. Saya juga pada titik tertentu akan menambahkan pembuat tema di sini karena ini adalah sedikit tugas yang mengubah tema Monokai yang saat ini saya gunakan (dalam inti saya jika ada yang ingin mengeluarkannya). Berikut pratinjau kecil Menu Pengaturan:

image

EDIT: Screenshot diperbarui

Anda bisa mendapatkan kodenya di sini: https://gist.github.com/alenbasic/004c5abeb4cc0e0b31b7681371d48898

Salah satu masalah duplikat terkait yang disebutkan termasuk dukungan mode kontrol tmux, sesuatu yang saat ini hanya didukung oleh iTerm di Mac OS. Ini adalah bagian fungsionalitas yang sangat kuat, tetapi sepengetahuan saya, semua upaya untuk menerapkannya di terminal lain mati karena garpu yang tidak terawat. Ini akan luar biasa untuk memilikinya di luar Mac OS.

Saya melanjutkan dan memulai sebuah proyek, karena fitur ini. https://github.com/dotjosh/WinTermPlus

@dotjosh Itu tampak hebat! Apakah ada alasan mengapa Anda menerapkannya sebagai alat mandiri dan bukan PR? Seberapa besar upaya untuk menggabungkannya?

@dotjosh Itu tampak hebat! Apakah ada alasan mengapa Anda menerapkannya sebagai alat mandiri dan bukan PR? Seberapa besar upaya untuk menggabungkannya?

Saya kuat dalam C # / WPF dan saya bisa menyelesaikannya dengan cepat. Saya akan bersedia membantu menjelaskannya jika kami senang dengan perilakunya.

Sejujurnya saya pikir itu terlihat sangat keren. Saya pasti akan dengan senang hati mengulas PR itu.

Mungkin agak sulit untuk mem-port bit baki taskbar ke model yang lebih mirip UWP yang kita miliki (Anda mungkin perlu mengacaukan package.appxmanifest), tutorial ini tampak bagus . Mungkin akan lebih masuk akal untuk meletakkan pengaturan untuk ukuran untuk membuka jendela di dalam profiles.json , dan memiliki pengikatan yang ditentukan di sana juga (bahkan jika itu tidak benar-benar melakukan apa pun di TerminalApp, karena saya menganggap pengikatan harus didaftarkan dengan OS itu sendiri. Saya yakin ada cara untuk melakukannya di C ++, meskipun saya tidak tahu apa itu 😄

Hanya mengutip sesuatu yang saya katakan sebelumnya:

Saya hanya ingin mengulangi bahwa sementara tidak ada seorang pun di tim yang memiliki siklus untuk melakukan ini untuk 1.0, kami dengan senang hati akan meninjau kontribusi dari komunitas. Idealnya seseorang di komunitas akan dapat mengumpulkan saran dan komentar dari utas ini ke dalam Template Spesifikasi dan mengirimkan PR untuk spesifikasi itu. Setelah spesifikasi tersebut disetujui, kami akan dengan senang hati meninjau PR dengan perubahan kode yang diperlukan. Menurut saya @flyingpie @dotjosh telah benar-benar mendapatkan 90% dari dasar-dasarnya, sebagian besar akan memoles

Sejujurnya kami tidak benar-benar membutuhkan _everything_ di template spesifikasi yang diisi, saya hanya ingin memastikan bahwa kontribusi apa pun yang kami terima telah memikirkan kasus tepi di sini, dan dengan jelas mendefinisikan perilaku untuk kasus tersebut. Yaitu:

  • Apa yang terjadi jika pengguna belum membuka instans Terminal, dan mereka menekan tombol pintas global?
  • Apa yang terjadi jika pengguna membuka beberapa jendela Terminal? Yang mana yang terbuka? Apakah _tidak ada yang terjadi dalam kasus itu?

    • Dengan beberapa jendela terminal terbuka, dan satu terminal saat ini terfokus, apakah tombol pintas global menyembunyikan jendela aktif, atau memanggil jendela yang diminimalkan?

  • Dapatkah pengguna memilih agar jendela dimaksimalkan? Layar penuh?
  • Apa yang terjadi jika pengguna belum membuka instans Terminal, dan mereka menekan tombol pintas global?

Saya pikir itu tergantung pada apa sebenarnya contoh Terminal itu. Jika Terminal tidak berjalan, maka tidak ada yang terjadi. Saya tidak berpikir harus ada layanan atau sesuatu yang mengaitkan itu. Jika tidak ada shell yang tersisa di Terminal, itu akan tetap berjalan, menunggu shell baru dibuka. Keluar dari Terminal perlu lebih eksplisit.

  • Apa yang terjadi jika pengguna membuka beberapa jendela Terminal? Yang mana yang terbuka? Apakah tidak ada yang terjadi dalam kasus itu?
  • Dengan beberapa jendela terminal terbuka, dan satu terminal saat ini terfokus, apakah tombol pintas global menyembunyikan jendela aktif, atau memanggil jendela yang diminimalkan?

Saya pikir asumsi umum adalah mode ini hanya akan mengizinkan satu contoh terminal. Meluncurkan executable untuk kedua kalinya hanya akan memfokuskan terminal, mungkin meluncurkan shell default baru di dalamnya? (Mirip seperti fungsi aplikasi UWP. Buka Pengaturan, lalu fokuskan sesuatu yang lain, lalu buka Pengaturan lagi, hanya satu contoh.)

  • Dapatkah pengguna memilih agar jendela dimaksimalkan? Layar penuh?

Saya tidak mengerti mengapa tidak jika keduanya didukung saat ini. 👍 Tombol pintas akan berfungsi kurang lebih sama dengan meminimalkan / memulihkan dari yang diminimalkan dalam kedua kasus tersebut.

Bolehkah saya menyarankan untuk memulai dengan pengalaman pengguna terminal populer lainnya dan mengubahnya dari sana jika kurang optimal?

  • Apa yang terjadi jika pengguna belum membuka instans Terminal, dan mereka menekan tombol pintas global?

Tidak ada, karena terminal tidak berjalan. Selain itu, tombol pintas harus dilepaskan untuk digunakan oleh program lain dalam kasus ini. Beginilah perilaku ConEmu dan Terminator.

  • Apa yang terjadi jika pengguna membuka beberapa jendela Terminal? Yang mana yang terbuka? Apakah tidak ada yang terjadi dalam kasus itu?

Jika pengaturan contoh tunggal aktif: tidak ada banyak jendela yang terbuka.

Jika pengaturan instance tunggal tidak aktif, Terminator mengirimkan perintah ke semua instance dan semuanya beralih status. Ini mungkin solusi paling sederhana; tidak masuk akal untuk menggunakan mode gempa dengan banyak contoh dan dengan cara ini terminal tidak akan terjebak secara permanen dalam keadaan tersembunyi (terminator menyembunyikan jendela dari bilah tugas dalam keadaan tersembunyi).

ConEmu: mengaktifkan mode gempa memberlakukan mode instans tunggal dan menghilangkan kotak centang. Ini lebih masuk akal dari segi perilaku, tetapi memperkenalkan lebih banyak kerumitan.

Saya rasa tidak adanya mode contoh tunggal (# 2227) akan menghalangi penerapan fungsi ini.

  • Dengan beberapa jendela terminal terbuka, dan satu terminal saat ini terfokus, apakah tombol pintas global menyembunyikan jendela aktif, atau memanggil jendela yang diminimalkan?

Lihat di atas - keduanya. Ini mengubah status mereka.

  • Dapatkah pengguna memilih agar jendela dimaksimalkan? Layar penuh?

Baik di ConEmu dan Terminator ini tidak relevan dengan mode gempa, jendela akan dikembalikan ke keadaan apa pun sebelum disembunyikan. Jika itu layar penuh, itu mengembalikan ke layar penuh; sama untuk jendela yang dimaksimalkan dan yang tidak dimaksimalkan.

hanya menjadi sedikit rewel: tidak ada terminal populer yang menggunakan layar penuh aktual (eksklusif) tetapi dapat dibuat tanpa batas

dan saya pikir itu jauh lebih baik untuk usecase tersebut

Dari sudut pandang pengguna, perbedaan utama antara "layar penuh" dan jendela dimaksimalkan tampaknya bahwa "layar penuh" menutupi bilah tugas.
-------- Pesan asli -------- Dari: zakius [email protected] Tanggal: 15/11/2019 22:38 (GMT + 00: 00) Kepada: microsoft / terminal terminal @ noreply.github.com Cc: Igroeg Okiob [email protected] , Komentar [email protected] Perihal: Re: [microsoft / terminal] Permintaan fitur: drop down ala hot key
quake / guake / tilda (# 653) hanya sedikit rewel: tidak ada terminal populer yang menggunakan layar penuh aktual (eksklusif) tetapi dapat dibuat tanpa batas
dan saya pikir itu jauh lebih baik untuk usecase tersebut

—Anda menerima ini karena memberi komentar. Balas email ini secara langsung, lihat di GitHub, atau berhenti berlangganan.
[
{
"@context": " http://schema.org ",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": " https://github.com/microsoft/terminal/issues/653?email_source=notifications\u0026email_token = AB2TW7D3V347CBC62MCQ32TQT4QHVA5CNFSM4HL735C2YY3VPNVWWK3Y
"url": " https://github.com/microsoft/terminal/issues/653?email_source=notifications\u0026email_token = AB2TW7D3V347CBC62MCQ32TQT4QHVA5CNFSM4HL735C2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEG5YSA # issuecomment-554.556.488",
"name": "Lihat Masalah"
},
"description": "Lihat Masalah ini di GitHub",
"penerbit": {
"@type": "Organisasi",
"name": "GitHub",
"url": " https://github.com "
}
}
]

Tombol pintas bergaya konsol Quake (ConEmu) adalah suatu keharusan. Adakah yang bisa memasang Terminal ke ConEmu?

@dotjosh Itu tampak hebat! Apakah ada alasan mengapa Anda menerapkannya sebagai alat mandiri dan bukan PR? Seberapa besar upaya untuk menggabungkannya?

Saya kuat dalam C # / WPF dan saya bisa menyelesaikannya dengan cepat. Saya akan bersedia membantu menjelaskannya jika kami senang dengan perilakunya.

Kita! Bisakah kita meminta ini?

Saya ingin mengatakan suka apa yang Anda lakukan dengan Terminal baru. Dan saya benar-benar mengerti tidak bisa mendapatkan permintaan fitur karena tiket lain yang diprioritaskan. Ini terjadi pada setiap tim, tim saya juga tidak kebal terhadap ini.

Tetapi saya harus mengatakan kekurangan fitur ini adalah kegagalan PM dan agak menunjukkan bahwa mereka tidak sepenuhnya memahami dampak fitur ini pada begitu banyak pengguna. Ini apa, 2 penunjuk? mungkin 3?

Ini adalah fitur buah gantung rendah yang memiliki dampak besar. Saya suka kalian menerima PR publik, tetapi jika publik tidak melakukannya, tarik ini menjadi sprint. Tiket ini sudah dibuka selama setahun.

Bagi sebagian orang itu tidak penting sama sekali, bagi yang lain ini adalah pelanggar kesepakatan, meskipun saya bisa hidup tanpanya berkat beberapa solusi yang diposting di sini jadi secara pribadi saya akan memprioritaskan hal-hal yang tidak dapat dilengkapi dengan cara apa pun seperti # 574 (atau mungkin banyak lainnya, itu hanya dealbreaker kedua saya)

Baik. Anda berbicara tentang bagaimana kami gagal memprioritaskan ini dengan tepat, dan saya menghargai bahwa fitur ini penting bagi Anda. Namun, saya ingin bertanya: dengan empat insinyur di tim inti, fitur mana yang diselesaikan dalam tonggak sejarah berikut (kueri cakupan, ditambah fitur longgar) yang harus kita potong untuk memberi ruang bagi pengelolaan jendela khusus?

  • _ Fitur bertanda Fix-Committed dan ditutup _
  • aksesibilitas
  • tab di bilah judul
  • panel
  • validasi pengaturan
  • deteksi profil
  • semantik keluar yang dirasionalisasi
  • rendering yang tepat untuk ideograf CJK
  • masukan dukungan untuk pengguna keyboard non-US-ANSI
  • mengubah ukuran yang tidak menghapus riwayat Anda
  • Cari
  • (saya dapat terus mencantumkan fitur di sini)

Saya dapat melakukan rekayasa ke satu, mungkin dua fitur per pengembang per bulan. Sudah 10 bulan, dan sebagian besar waktu itu kami memiliki tim yang terdiri dari 2-3, bukan 4.

Jika Anda dapat mengidentifikasi hal-hal mana yang kami putuskan merupakan taruhan meja yang seharusnya tidak kami kirim, saya senang berdiskusi dengan Anda.

Saya tidak mengatakan fitur itu tidak penting sama sekali. Maksud saya adalah, ini adalah buah gantung rendah dengan hampir 300 jempol, beberapa tiket duplikat dibuat tentang itu dan tidak terlibat seperti sebagian besar fitur / perbaikan bug lain yang telah Anda daftarkan.

Saya tidak bermaksud meremehkan pekerjaan yang telah dilakukan di sini, sebaliknya menurut saya apa yang telah dicapai tim luar biasa. Baik tim maupun Anda layak mendapatkan pujian.

Mungkin saya sedikit kasar, jadi saya minta maaf untuk itu. Tapi saya masih berpikir bahwa maksud saya masih berlaku. Terserah Anda dan tim untuk memutuskan tentu saja, hanya dua sen saya.

Jika ini adalah hasil yang menggantung rendah, dengan senang hati saya akan meninjau PR dari anggota komunitas untuk menangani fitur ini 😉. Seperti saat ini, tim pengembang sedang dalam sprint pembekuan fitur dan perbaikan bug / poles selama beberapa bulan ke depan. Kami pasti akan melihat backlog kami untuk tugas yang akan dimulai setelah 1.0 mendarat, dan saya ingin memperjelas bahwa tim memahami bahwa pertanyaan ini populer.

menyematkannya ke bilah tugas dan menggunakan Win + 1 untuk mengaksesnya tidak apa-apa sebagai solusinya (meskipun saya sekarang menggunakan skrip kunci otomatis kimbirkelund dari https://github.com/microsoft/terminal/issues/653#issuecomment-541408854). Saya tidak berpikir ini harus menjadi prioritas.

Mungkin seseorang dapat mengkompilasi kimbirkelund atau skrip wizcas dan menyediakan biner bagi mereka yang tidak ingin memasang kunci otomatis?

ada solusi yang jauh lebih baik daripada menyimpannya di Taskbar, hal apa yang sebenarnya ingin kami hindari, tetapi seperti yang Anda katakan ada beberapa jadi meskipun penting, itu lebih rendah pada daftar prioritas daripada hal-hal yang tidak dapat dilengkapi dengan alat eksternal

Menambahkan dua sen saya ke diskusi, versi modifikasi saya dari skrip AutoHotKey disediakan oleh @kimbirkelund :

  • Tombol pintasnya adalah Ctrl + ~
  • Terminal diatur untuk tetap di atas
  • Satu hal yang saya pikir dapat berguna adalah ini: jika Anda membuka terminal dan Anda membuka jendela saat terminal ditampilkan, jika Anda menyembunyikan terminal, ia tidak tahu tentang "jendela baru" ini dan kembali ke yang lama dan aktif. Saya telah menggunakannya selama beberapa jam dan sepertinya berhasil

UPDATE: Saya memperbarui skrip saya sehingga jika Anda beralih ke jendela lain (alt + tab) misalnya, itu akan beralih ke jendela itu ketika Anda menyembunyikan terminal


Berikut skripnya semoga bermanfaat untuk yang lain 🙂:

#Persistent
SetBatchLines, -1
Process, Priority,, High

Gui +LastFound
hWnd := WinExist()

; Subscribe to win-create events to get the activated window
DllCall( "RegisterShellHookWindow", UInt,hWnd )
MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" )
OnMessage(MsgNum, Func("OnWin"))
Return

OnWin(event, hwnd)
{
  ; WinGetClass, winClass, ahk_id %lParam%
  WinGetClass, winClass, ahk_id %hwnd%
  if (winClass = "CASCADIA_HOSTING_WINDOW_CLASS")
  {
    global activatedWindow
    activatedWindow = -1
  }
  else
  {
    ; 1 is HSHELL_WINDOOWCREATED
    ; 4 is HSHELL_WINDOWACTIVATED
    if (event == 1 || event & 4)
    {
      global activatedWindow
      activatedWindow = -1
      activatedWindow = %hwnd%
    }
  }
}

; Toggle windows terminal using Ctrl,`
^`::ToggleTerminal()

ShowAndPositionTerminal()
{
  WinShow ahk_class CASCADIA_HOSTING_WINDOW_CLASS
  WinActivate ahk_class CASCADIA_HOSTING_WINDOW_CLASS

  WinMove, ahk_class CASCADIA_HOSTING_WINDOW_CLASS,, -5, -10, A_ScreenWidth + 10, A_ScreenHeight * 0.7,
  Winset, AlwaysOnTop, On, A
}

ToggleTerminal()
{
  global activatedWindow
  WinMatcher := "ahk_class CASCADIA_HOSTING_WINDOW_CLASS"

  DetectHiddenWindows, On

  if WinExist(WinMatcher)
  {
    DetectHiddenWindows, Off

    if WinExist(WinMatcher)
    {
      ; Script sees it without detecting hidden windows, so..
      WinHide ahk_class CASCADIA_HOSTING_WINDOW_CLASS
      if activatedWindow > 0
      {
        WinActivate, ahk_id, %activatedWindow%
        activatedWindow = -1
      }
      else
      {
        Send !{Esc}
      }
    }
    ; Check if its hidden
    else if !WinExist(WinMatcher) || !WinActive(WinMatcher)
    {
      ShowAndPositionTerminal()
    }
  }
  else
  {
    Run "%SCOOP%\apps\windows-terminal\current\WindowsTerminal.exe"
    Sleep, 1000
    ShowAndPositionTerminal()
  }
}

@ zadjii-msft apakah itu berarti PR tidak akan digabungkan selama beberapa / beberapa bulan?
Ini adalah hal pertama yang saya cari di Google ketika saya memasang terminal - yang juga terima kasih banyak karena telah membuat terminal yang sebenarnya. sangat tertarik

@ chazt3n Kami sangat

Saya tidak dapat benar-benar memberikan perkiraan kapan pun dari tanggal tersebut berada pada titik ini, sebagian besar hanya "setelah selesai"

Maaf jika ini sudah dibahas di atas karena saya tidak membaca utas lengkap secara detail. Dari perspektif perilaku; Saya pikir akan lebih baik jika kami diizinkan untuk memilih antara 'mode gempa' atau hanya jendela / tab yang ada di latar depan pada tombol pintas.

Saat ini saya menggunakan platform konsol lain yang hanya memberi saya kotak centang di pengaturan untuk 'latar depan aplikasi dengan Ctrl + ~' tetapi sebaliknya sepenuhnya menghormati ukuran dan status jendela saya yang ada.

Fitur ini sangat sangat sangat bagus untuk dimiliki karena kita sering memiliki begitu banyak jendela dan jendela terminal (mengingat hampir selalu tidak layar penuh) bisa hilang di latar belakang.

Bagian yang paling penting adalah kita tidak hanya memiliki jendela yang disesuaikan dengan lebar penuh tetapi juga mempertahankan bilah judulnya. Bilah judul juga harus tidak terlihat.

Maaf jika ini sudah dibahas di atas karena saya tidak membaca utas lengkap secara detail. Dari perspektif perilaku; Saya pikir akan lebih baik jika kami diizinkan untuk memilih antara 'mode gempa' atau hanya jendela / tab yang ada di latar depan pada tombol pintas.

Itu tersesat di item tersembunyi di utas, tetapi @flyingpie membagikan program C # untuk menambahkan fitur gaya gempa. Anda dapat menemukannya di sini , dan jika Anda melihat Toggler.cs pada baris 51 dan 72 Anda harus dapat mengubah perilakunya sehingga hanya menampilkan jendela di latar depan tanpa mengubah ukurannya. Saya belum mencobanya.

Saya beralih ke pendekatan ahk setelah beberapa saat, salah satu alasan utamanya adalah saya tidak harus menggunakan VS untuk membangunnya, tetapi setelah beberapa mengutak-atik saya mendapatkan hasil yang sangat bagus, dasarnya ada di suatu tempat di utas ini juga

perhatikan bahwa saya menggunakannya untuk Messenger sebagai gantinya karena WT merindukan beberapa hal lagi untuk saya

_Solusi alternatif hingga tersedia mode dropdown asli untuk Terminal. 😃_

Setelah beberapa minggu penggunaan, saya dapat merekomendasikan https://eugeny.github.io/terminus/

Terminal bagus dengan alias "mode gempa" (Pengaturan> "Dock terminal" disetel ke Top dan "Hotkeys"> "Toggl terminal window" ke Ctrl-` ).

Itu dibangun di atas Electron jadi ini bukan "ringan", tapi bekerja dengan lancar dengan WSL2.

Saya menikmati mengaturnya ke bagian pertama bilah tugas saya dan menggunakan WIN + 1 untuk membukanya.

Satu-satunya masalah saya adalah saya tidak selalu bisa membukanya di admin yang sama dengan WSL yang sangat pincang. JADI klik kanan, klik kanan, buka sebagai admin - WIN + 1 sejak saat itu.

@ chazt3n Jika Anda ingin membuka di admin menggunakan keyboard itu akan menjadi:
WIN + ALT + 1 untuk membuka menu klik kanan untuk item taskbar itu.
Tombol Menu (di sebelah tombol CTRL Kanan) atau SHIFT + F10
Pilih "buka sebagai admin" dengan tombol panah dan enter.

@ chazt3n @SamHasler tidak perlu melakukannya dengan cara yang sulit.
Jika Anda menahan Shift saat membuka aplikasi, Anda mendapatkan salinan kedua.
Jika Anda menahan Shift dan Ctrl saat Anda membuka aplikasi, aplikasi akan terbuka lebih tinggi.
_Itu benar baik dari menu mulai, dialog jalankan, atau bilah tugas, dan apakah Anda membukanya dengan keyboard atau dengan mengklik ..._

Dengan kata lain, tumbuk seluruh sudut keyboard sebelum Anda menekan 1: Ctrl + Shift + Win + 1 akan membuka salinan baru yang ditinggikan.

@Jaykul Ketika saya memberi tahu orang-orang tentang pengubah elevator ajaib, mereka selalu mengatakan "whattttt"

Saya sebenarnya sedang mengerjakan proyek seperti ini dan ingin sekali berkolaborasi dengan siapa pun yang tertarik untuk membantu. Saya harus memiliki rilis alfa pada akhir akhir pekan yang mendukung CMD, PowerShell, dan WSL dengan fungsionalitas gaya drop-down.

Saya tertarik untuk mengembangkan guake / yakuake dan apa yang mereka lakukan dengan beberapa ide tambahan seperti NOFUNEVER yang dijelaskan dengan dapat menggunakan beberapa monitor sekaligus tetapi saya tidak yakin seperti apa tampilannya.

Ini BELUM siap untuk pengujian tetapi saya harus memiliki alpha siap untuk pengujian pada akhir akhir pekan jika ada yang tertarik untuk berkolaborasi, silakan kirimi saya di mwayne. [email protected]. Seseorang yang pandai membuat tema aplikasi dan bekerja dengan Kontrol di C # akan sangat membantu.

https://github.com/usrcletus/winuake

Tolong mudahkan saya, ini dalam tahap yang sangat kasar lol.

Sangat senang melihat fungsi ini berhasil. Sangat senang dengan cara kerja Terminal Windows (ini adalah salah satu dari sedikit aplikasi terminal Windows yang tidak tersedak dan mati pada uji kecepatan "cmatrix"!). Harap sertakan (bila Anda bisa :)), setelah Anda terbiasa dengan fungsi ini, Anda tidak dapat hidup tanpanya.

Fitur ini sangat menghemat waktu.
Benar-benar menantikan Windows Terminal 2.0

Sangat banyak fitur watned, akan benar-benar membuat peralihan lingkungan antara Linux dan Windows menjadi jauh lebih baik.

Sangat banyak fitur watned, akan benar-benar membuat peralihan lingkungan antara Linux dan Windows menjadi jauh lebih baik.

yang membutuhkan beberapa emulator terminal Linux untuk memiliki semua fitur conemu, Windows sudah memiliki semuanya

Tim merilis peta jalan dan masalah ini ada di sana 🥳 Meskipun memiliki prioritas 3 dalam skala dari 0 hingga 2 😢

Maaf, skala kami sebenarnya mencapai 3. Ups! :tersenyum:

Namun tampaknya isu ini belum tentu akan dirilis dalam waktu 1 tahun. Sangat buruk. Saya sangat tertarik untuk menggunakan terminal baru tetapi tanpa fitur hot key, itu terlalu rumit dibandingkan dengan guake di linux.

Senang itu setidaknya masuk daftar. :) - WSL2 Docker telah membuat Windows menjadi driver harian yang lebih bisa dilakukan, fitur ini hanya akan mendorongnya lebih jauh saat mendarat.

Saya setuju bahwa ini adalah fitur yang berguna, dan saya akan sangat membutuhkannya jika saya menggunakan Windows.
Namun, semua fungsi yang disebutkan harus ditangani oleh pengelola jendela, bukan terminal.

Secara teknis itu akan menjadi optimal jika WM mengizinkannya, Anda akan dapat menangani semua dan setiap jendela dengan mudah tetapi kecil kemungkinan kita akan mendapatkannya segera. Taruhan terbaik adalah menambahkannya ke PowerToys

Tidak perlu. Itu hanya berarti bahwa staf Microsoft tidak akan mengerjakannya.
Siapapun dapat mengirimkan fitur tersebut sebagai PR.

Jika ada yang menginginkan solusi AutoHotkey yang sangat sederhana, lihat intinya: https://gist.github.com/atruskie/99a498ac43b91deb91eab4069b6047b9

Ini bukanlah solusi yang tepat, tetapi dapat melakukan pekerjaan tanpa banyak usaha.

#NoEnv
#SingleInstance force
SendMode Input
DetectHiddenWindows, on
SetWinDelay, 0

#`::
    terminal := WinExist("ahk_exe WindowsTerminal.exe")
    if (terminal) 
    {
        active := WinActive("ahk_id " terminal)
        if (active)
            WinMinimize, ahk_id %active%
        else
            WinActivate, ahk_id %terminal%
    }
    else
        Run, wt.exe
Return

@ Defcon0 Saya hanya meletakkannya sebagai entri pertama di bilah tugas saya dan menggunakan WIN + 1, sejujurnya sedikit lebih nyaman bagi saya karena saya dapat meletakkannya di mana saja di layar.

@Jaykul juga menyediakan satu langkah pembukaan di admin

Jika ada yang menginginkan solusi AutoHotkey yang sangat sederhana, lihat intinya: https://gist.github.com/atruskie/99a498ac43b91deb91eab4069b6047b9

Ini bukanlah solusi yang tepat, tetapi dapat melakukan pekerjaan tanpa banyak usaha.

#NoEnv
#SingleInstance force
SendMode Input
DetectHiddenWindows, on
SetWinDelay, 0

#`::
    terminal := WinExist("ahk_exe WindowsTerminal.exe")
    if (terminal) 
    {
        active := WinActive("ahk_id " terminal)
        if (active)
            WinMinimize, ahk_id %active%
        else
            WinActivate, ahk_id %terminal%
    }
    else
        Run, wt.exe
Return

Saya menulis inti seperti ini beberapa waktu lalu: https://gist.github.com/sharunkumar/af7ba56e3cce8238ae9c986c619e8d1c

yang satu ini beralih kembali ke jendela aktif tempat Anda berada, sebelum Anda beralih ke WT

global PreviousActiveWindow

#`::
DetectHiddenWindows, On
if (WinExist("ahk_class CASCADIA_HOSTING_WINDOW_CLASS")) {
    if(WinActive("ahk_class CASCADIA_HOSTING_WINDOW_CLASS")) {
        WinActivate, ahk_id %PreviousActiveWindow%
    } else {
        WinGet, PreviousActiveWindow, , A ; 'A' for currently active window
        WinActivate, ahk_class CASCADIA_HOSTING_WINDOW_CLASS
    }
} else {
    TerminalLink = %localappdata%\Microsoft\WindowsApps\wt.exe
    if FileExist(TerminalLink) {
        WinGet, PreviousActiveWindow, , A ; 'A' for currently active window
        Run, %TerminalLink%
    } else {
        MsgBox, Windows Terminal not installed
    }
}
Return

Saya menemukan repositori ini untuk aplikasi sederhana yang menambahkan gempa ke terminal:
https://github.com/flyingpie/windows-terminal-quake

Berfungsi cukup baik untuk kasus penggunaan saya.

Saya menemukan ini dapat dengan mudah dicapai dengan menggunakan Keyboard Manager PowerToy dan pintasan Windows Key + NUM yang disebutkan di atas untuk meluncurkan aplikasi yang disematkan ke bilah tugas Anda. Cukup sematkan Terminal Windows ke bilah tugas Anda (milik saya ada di posisi 6) dan kemudian buka alat Manajer Keyboard PowerToys. Saya telah menggunakan WIN + ` dengan Cmder dan _remapped_ shortcut WIN + ` menjadi WIN + 6 . Sekarang, setiap kali saya melakukan WIN + ` Terminal Windows akan tampil di depan atau akan meluncurkan contoh baru jika belum berjalan (yang bahkan lebih baik daripada yang biasa dilakukan Cmder).

image

tidak, itu bukan hal yang sama
Minimalkan! = sembunyikan jendela
jendela bersembunyi membuatnya keluar dari jalan Anda sepenuhnya

Anda benar, ini tentu saja bukan mode gempa - maaf atas kebingungannya. Saya menemukan masalah ini hanya mencari cara agar pintasan global khusus membawa Terminal ke latar depan yang merupakan pemecah kesepakatan bagi saya karena saya terbiasa dengan perilaku itu dari Cmder. Secara pribadi, saya belum merasa perlu mode Quake jadi solusi pintasan ini mengisi celah dan saya pikir saya akan meneruskannya.

Ini adalah permintaan fitur yang paling banyak disukai dan telah dibuka selama lebih dari setahun ??

Bagaimana sih ini belum diterapkan?

Hei, saya hanya memposting beberapa catatan penelitian di sini, karena saya tidak ingin kehilangannya.

RegisterHotKey sepertinya tidak melakukan apa pun dalam eksperimen saya. Mungkin aku salah melakukannya? Mungkin XAML Island memakan pesan WM_HOTKEY bahkan sebelum sampai ke wndproc kita? Tampaknya tidak ada umpan balik tentang fungsi itu, jadi saya tidak yakin seberapa berguna hal itu dalam "mode multi instance".

SendMessage(_window.get(), WM_SETHOTKEY, VK_OEM_3, 0) sebenarnya _did_ berfungsi. Ia bahkan mengembalikan 2 jika ada jendela lain dengan hotkey yang sudah disetel, yang bagus. Itu akan melakukan segalanya untuk kita - ketika tombol ditekan _di mana saja_ pada sistem, itu akan mengaktifkan jendela Terminal, bahkan jika diminimalkan. Tidak yakin tentang "diminimalkan ke bilah tugas", tetapi kemajuan sedang berlangsung.

Sayangnya, tidak mudah untuk memiliki Jendela Terminal kedua menunggu jendela pertama ditutup, dan kemudian mengambil hotkey. Plus, siapa yang mendapat hotkey jika ada 3 jendela WT yang terbuka? Jadi sekarang, hanya jendela pertama yang akan mendapatkan hotkey yang ditugaskan padanya, dan kemudian jendela berikutnya yang dibuat _ tidak akan_ mendapatkan hotkey yang ditugaskan padanya, sampai jendela pertama ditutup. Kemudian, jendela WT _next create_ akan mendapatkan hotkey. Itu pasti canggung.

Pemuatan ulang pengaturan mungkin juga akan menghasilkan jendela _random_ WT mendapatkan hotkey yang ditetapkan.

Ada banyak pertanyaan di utas ini, jadi saya akan mencoba dan merangkumnya, tetapi belum meresepkan solusi holistik.

  • Tekan tombol pintas di mana saja untuk mengaktifkan jendela Terminal tunggal di mana pun itu (memerlukan mode instans tunggal, serta dukungan tombol pintas global)
  • Tekan tombol pintas di mana saja untuk mengaktifkan jendela Terminal tunggal _pada monitor saat ini_. Jika sebelumnya tidak ada di monitor itu, pindahkan ke sana. (membutuhkan mode single-instance, serta dukungan hotkey global)
  • Tekan hotkey untuk mengaktifkan jendela terminal "terdekat". (Ini mungkin membutuhkan beberapa IPC seperti apa yang # 5000 sedang kerjakan)
  • Minimalkan ke baki, tekan hotkey untuk mengaktifkan jendela terminal tunggal / jendela terminal terdekat (# 5727)
  • Terminal tidak muncul di tampilan alt + tab, tekan hotkey untuk mengaktifkan jendela terminal tunggal / jendela terminal terdekat (Saya tidak yakin ini berbeda dari yang di atas
  • ketika Terminal dipanggil menggunakan hotkey, minta "geser" dari atas (Tidak yakin apakah hal ini dimungkinkan dengan metode SendMessage(WM_SETHOTKEY) atas.)

    • Demikian pula, geser keluar saat menonaktifkan?

Wow, saya yakin saya melewatkan beberapa skenario yang tercakup dalam 95 komentar di utas ini, tetapi pengaturannya sudah berantakan.


EDIT 17-Ags-2020: Oh, hei, beginilah cara PowerToys menghubungkan keyboard untuk pesan global, ayo lakukan itu.
https://github.com/microsoft/PowerToys/blob/49b56d9b52bdfedd6ad1404bd0b20e884d2b574b/src/modules/shortcut_guide/shortcut_guide.cpp#L150 -L173

Menurut pendapat saya, meminimalkan ke baki terdengar seperti fitur yang berbeda.

Memiliki multi-instance dan memiliki instance berbeda yang dipanggil pada tampilan berbeda terdengar seperti iterasi kedua dari fitur ini.

Saya pikir akan lebih baik untuk pertama-tama berkonsentrasi pada skenario yang lebih sederhana, seperti contoh tunggal yang dipanggil melalui slide-in pada hotkey dan geser-keluar pada hotkey yang sama. Jika ada multi-instance, mungkin harus ada aturan mana yang akan dipanggil kemudian

IMO, karena WT memiliki banyak tab, skenario terbaik adalah satu contoh dan dipanggil di mana mouse berada, jika ada beberapa desktop atau monitor virtual. Seperti Guake.

Hai @ zadjii-msft - Saya telah melihat beberapa area serupa juga dan saya ingin mengkonsolidasikan penelitian bersama dengan berbagi beberapa pemikiran implementasi. Membaca materi, saya tidak bisa memastikan apakah saya ketinggalan di mana tim mencari cara untuk memanfaatkan fitur UAP / UWP yang mungkin relevan jadi semoga ini belum diinjak!

Pertama, registrasi hot key. Saya menemukan penelitian WM_HOTKEY yang Anda lakukan melengkapi rute pendaftaran hotkey UWP yang diuraikan di sini . Apakah ini pendekatan yang sudah Anda pertimbangkan? Saya pikir ini bisa menjadi pendekatan yang bagus, karena menu konteks explorer "luncurkan terminal windows di sini" telah diterapkan, menghilangkan kebutuhan untuk membangun / menguji AppService / IPC (# 5000) karena kita dapat dengan mudah memperluas dan meningkatkan apa yang sudah ada di sana .

Sementara menggali ke dalam ini, saya datang di ini jawaban SO mungkin relevan menguraikan sebuah mendekati yang menempel ke Windows.UI.Core.CoreDispatcher.AcceleratorKeyActivated untuk menerima pemberitahuan bila combo tombol khusus ditekan misalnya, CTRL+~ . Apakah ini sesuatu yang mungkin bisa diterapkan?

Berbicara tentang model proses ...

Sayangnya, tidak mudah untuk memiliki Jendela Terminal kedua menunggu jendela pertama ditutup, dan kemudian mengambil hotkey. Plus, siapa yang mendapat hotkey jika ada 3 jendela WT yang terbuka? Jadi sekarang, hanya jendela pertama yang akan mendapatkan hotkey yang ditugaskan padanya, dan kemudian jendela berikutnya yang dibuat _ tidak akan_ mendapatkan hotkey yang ditugaskan padanya, sampai jendela pertama ditutup. Kemudian, jendela WT _next create_ akan mendapatkan hotkey. Itu pasti canggung.
Pemuatan ulang pengaturan mungkin juga akan menghasilkan jendela _random_ WT mendapatkan hotkey yang ditetapkan.

Ada benang merah dengan tantangan ini yang, setelah dicabut dari persamaan, akan membuat segalanya lebih jelas dan sederhana. Benang merah itu adalah logika dan kompleksitas yang terlibat dalam manajemen instance wt - saya pikir sebagian besar sisanya adalah dampak dari tantangan inti tersebut. Seperti banyak tantangan, yang satu ini mungkin paling baik diselesaikan dengan memecahnya menjadi tantangan yang lebih kecil. Di sini, menurut saya, memperkenalkan perantara membuat WT tidak perlu mengetahui apa pun tentang manajemen instans, apalagi menangani pendaftaran dan pengikatan hot key global (misalnya, aplikasi tidak dalam fokus). Ini menarik bagi saya dari sudut pandang SRP, dan bagi saya tampaknya pekerjaan untuk menyediakan menu konteks explorer "luncurkan Terminal Windows di Sini" sejalan dengan ini secara konseptual, jika tidak dalam kenyataan. TriggerEvent ekstensi desktop UWP dapat digunakan oleh layanan IPC untuk meneruskan Tindakan berseri (perintah) untuk menjalankan instance wt atau diurai dan diteruskan sebagai argumen peluncuran untuk proses wt baru

Proses yang menangani tombol pintas global akan menjadi aplikasi baki sistem _ dan_ menjadi proses mode satu-instance (kemungkinan besar aplikasi WinForms) yang berisi komponen NotifyIcon bersama dengan menu konteks ikon baki sistem dan komponen operator. Ini memiliki efek samping yang positif dari meniadakan kebutuhan untuk menambahkan banyak pengaturan baru dan rumit + logika ke basis kode WT, karena wt tidak perlu tahu apa-apa tentang apa yang disebut "mode gempa": smile :

  • Tekan tombol pintas di mana saja untuk mengaktifkan jendela Terminal tunggal di mana pun itu (memerlukan mode instans tunggal, serta dukungan tombol pintas global)

Menu konteks aplikasi systray dapat memiliki flyout yang menampilkan daftar profil wt yang dapat diklik pengguna untuk memilih profil yang akan digunakan saat dipanggil "dalam gaya Mode Quake". Ini mungkin default ke profil pertama yang terdaftar jika tidak ditentukan. Jika ada rencana / spesifikasi untuk mengimplementasikan logika internal untuk mendapatkan daftar profil dan detailnya, desain akan mendapatkan keuntungan dari kemampuan untuk digunakan di luar proses wt.exe (seperti dalam, aplikasi notifyicon tidak harus menggandakan fungsionalitas untuk memuat daftar profil dan semacamnya jika memungkinkan). Karena aplikasi systray mengelola instance, wt tidak perlu mengimplementasikan mode instance tunggal itu sendiri. Repo PowerToys menunjukkan

Meringkas postingan yang sudah padat info:

Sebagian besar kekhawatiran berbutir hilang atau sangat berkurang dengan pendekatan ini jika Anda memikirkannya. Ketika saya mundur selangkah dan melihat keseluruhan, saya merasa bahwa fitur ini lebih dekat untuk menjadi kenyataan daripada yang kita duga!

  • Tekan tombol pintas di mana saja untuk mengaktifkan jendela Terminal tunggal _pada monitor saat ini_. Jika sebelumnya tidak ada di monitor itu, pindahkan ke sana. (membutuhkan mode single-instance, serta dukungan hotkey global)
  • Tekan hotkey untuk mengaktifkan jendela terminal "terdekat". (Ini mungkin membutuhkan beberapa IPC seperti apa yang # 5000 sedang kerjakan)
  • Minimalkan ke baki, tekan hotkey untuk mengaktifkan jendela terminal tunggal / jendela terminal terdekat (# 5727)
  • Terminal tidak muncul di tampilan alt + tab, tekan hotkey untuk mengaktifkan jendela terminal tunggal / jendela terminal terdekat (Saya tidak yakin ini berbeda dari yang di atas
  • ketika Terminal dipanggil menggunakan hotkey, minta "geser" dari atas (Tidak yakin apakah hal ini dimungkinkan dengan metode SendMessage(WM_SETHOTKEY) atas.)

    • Demikian pula, geser keluar saat menonaktifkan?

Sumber daya untuk NotifyIcon, WinForms, dan WPF:
http://www.abhisheksur.com/2012/08/notifyicon-with-wpf-applications.html
https://www.codeproject.com/articles/36788/wpf-xaml-notifyicon-and-taskbar-system-tray-popup
https://mcguirev10.com/2019/01/27/system-tray-icons-wpf-net-core-preview.html

HTH!

EDIT:
Membaca spesifikasi model proses draf, tampaknya Anda juga telah mengidentifikasi pendekatan proses terpisah . Saya kira bagian dari "raja" bisa sebagian atau mungkin (?) Secara keseluruhan dimainkan oleh IPC / appservice

Saya membuat utilitas cepat & kotor yang mendaftarkan hotkey global untuk beralih ke jendela Terminal Windows terakhir. Saya pikir ini akan menjadi solusi yang bagus sebelum implementasi resmi.

https://github.com/Inndy/TerminalSummoner

Saya memodifikasi solusi kunci otomatis dari https://github.com/ehpc/quake-windows-bash untuk pengalaman pengguna yang sedikit lebih baik. Saya belum melihat solusi @Inndy jadi mungkin lebih baik.

Skrip saya ada di sini: https://github.com/rengler33/dotfiles/blob/master/C/Users/Rub/wt-quake-like.ahk

Menggunakan hotkey Ctrl + `

  1. Jika terminal windows tidak diluncurkan, itu akan meluncurkannya *
  2. Jika diluncurkan tetapi diminimalkan, itu dipulihkan
  3. Jika aktif, itu diminimalkan
  4. Jika tidak (artinya sudah dipulihkan tetapi tidak fokus), bawalah ke fokus

* Catatan: skrip ini juga menggunakan pintasan Windows yang saya suka gunakan yang menambahkan beberapa opsi saat membuka
https://github.com/rengler33/dotfiles/blob/master/C/Users/Rub/wt.exe.lnk
Tapi bisa diganti dengan hanya meluncurkan BashHandle bukannya Shortcut

Saya memodifikasi solusi kunci otomatis dari https://github.com/ehpc/quake-windows-bash

Terima kasih untuk itu.

Saya terinspirasi oleh skrip @ rengler33 dan melakukan beberapa modifikasi untuk pengaturan 3 layar saya sendiri:
https://gist.github.com/oryon-dominik/562970f77f2ad4d9bd57bea58ddc8ef5
Skrip memunculkan Terminal Windows di layar aktif. (CTRL + CIRCUMFLEX)
Animasi buruk dan sedikit berkedip, jadi ini lebih merupakan solusi.

Saya sangat menantikan penerapan fitur ini secara resmi ..

Saya juga ingin beralih dari ConEmu ke Terminal Windows, tetapi saya juga kehilangan Quake Style. Jika ada yang tertarik - Saya membuat aplikasi kecil, yang menyimpan dan menarik jendela terminal windows (Anda dapat menambahkan aplikasi lain untuk memiliki Gaya Quake ini jika Anda mau).

Periksa repo saya dan semua fitur di sini: https://github.com/rzym-on/termial-tray

Saya sangat berharap, fitur ini akan muncul secara default pada suatu saat. Untuk saat ini, silakan gunakan solusi kecil saya.

Saya juga ingin beralih dari ConEmu ke Terminal Windows, tetapi saya juga kehilangan Quake Style. Jika ada yang tertarik - Saya membuat aplikasi kecil, yang menyimpan dan menarik jendela terminal windows (Anda dapat menambahkan aplikasi lain untuk memiliki Gaya Quake ini jika Anda mau).

Periksa repo saya dan semua fitur di sini: https://github.com/rzym-on/termial-tray

Saya sangat berharap, fitur ini akan muncul secara default pada suatu saat. Untuk saat ini, silakan gunakan solusi kecil saya.

Terima kasih untuk ini. Apakah ada cara untuk menyesuaikan kecepatan animasi kemunculan jendela Terminal Windows .. dengan cara yang sama dengan ConEmu?

@mkanet Saya ingin mengarahkan diskusi tentang proyek orang lain ke repo mereka , dan menjaga utas ini tetap fokus pada masalah yang ada. Terima kasih!

Ide lain itu bisa menjadi parameter untuk perintah wt.exe seperti: -T, --toggle
Jika contoh terminal tidak ada, buka yang baru
Else (Jika aktif minimalkan Else restore / aktifkan)

Ini seperti logika AutoHotKey di atas tetapi di dalamnya wt.exe dan dapat diakses oleh pintasan .lnk / pemetaan kunci global / windows taskbar Win + Number dll

Akan luar biasa jika Anda tidak memerlukan aplikasi pihak ketiga lain untuk ini. Dan saya juga kecanduan Ctrl + `

Apakah halaman ini membantu?
0 / 5 - 0 peringkat