Terminal: Tambahkan pengaturan untuk mengontrol Akrilik "Blur" selain opasitas

Dibuat pada 1 Jul 2019  ·  38Komentar  ·  Sumber: microsoft/terminal

Cukup banyak judulnya.

Saat ini kami hanya menggunakan jumlah blur default.

Area-Settings Area-TerminalControl Help Wanted Issue-Task Product-Terminal

Komentar yang paling membantu

Untuk klarifikasi, apakah ini memungkinkan transparansi jendela tanpa pemburaman (misalnya, bertindak seperti cmd dan PS)? Akan sangat menyenangkan bisa membaca teks di balik jendela.

Semua 38 komentar

Penggeser opasitas, dengan sakelar untuk mengaktifkan atau menonaktifkan Akrilik, juga akan berfungsi

Menarik tag triase. Ini adalah jumlah pekerjaan yang diketahui yang hanya perlu kita _do_.

Ini mungkin tidak mungkin ...

Ketika saya mengajukan masalah ini, saya keliru mengira ada properti "Blur" di AcrylicBrush, tapi sepertinya properti itu tidak terekspos sama sekali. Lihat halamannya di MSDN .

Dan melihat masalah ini , sepertinya hal ini tidak mungkin dilakukan, karena alasan keamanan.

Dalam hal ini, saya menginginkan dua properti independen untuk menetapkan nilai akrilik saat jendela berada di latar depan dan saat di latar belakang. Misalnya, saya ingin jendela berada pada 90% opacity saat jendela memiliki fokus, dan 70% opacity jika tidak.

Untuk klarifikasi, apakah ini memungkinkan transparansi jendela tanpa pemburaman (misalnya, bertindak seperti cmd dan PS)? Akan sangat menyenangkan bisa membaca teks di balik jendela.

Ketika saya mengajukan masalah ini, saya keliru mengira ada properti "Blur" di AcrylicBrush, tapi sepertinya properti itu tidak terekspos sama sekali. Lihat halamannya di MSDN.

Bukankah itu dikendalikan oleh TintOpacity ? https://docs.microsoft.com/en-us/windows/uwp/design/style/acrylic#custom -acrylic-brush

Saya rasa inilah yang kebanyakan orang (atau, setidaknya, saya) maksudkan ketika berbicara tentang mengubah level blur.

Saya telah menemukan (setidaknya satu) cara untuk mencapai efek ini, tetapi tidak melalui UWP. API era Vista yang benar-benar tua DwmEnableBlurBehindWindow , jika dipanggil pada Windows 10, mengubah latar belakang jendela menjadi hitam semi-transparan, tanpa buram. Betapa ironisnya diberi nama fungsinya, ya? AFAICT, ini tidak menghadirkan masalah keamanan apa pun, karena aplikasi tidak dapat membaca konten latar belakang yang ditampilkan, karena diproses sepenuhnya dalam dwm.exe.

Karena itu, bukankah kita dapat menggunakan SetLayeredWindowAttributes pada root HWND, seperti halnya conhostV2? Seperti yang saya pahami dari dokumennya, ini juga akan memengaruhi jendela anak. Jika ia melakukannya dengan cara yang tidak memuaskan, kita kemudian dapat menggunakan fungsi yang sama untuk menyetel alfa HWND anak ke 255 (buram), lalu bersihkan jendela anak dengan warna transparan untuk menghapus isi latar belakang default. Setelah itu kita bisa menggambar apapun yang kita inginkan di atas jendela background transparan. Ini mungkin memerlukan sedikit refactoring arsitektur Cascadia, tetapi saya tidak melihat alasan mengapa hal itu tidak dapat dilakukan. Semoga ini membantu!

Untuk menambahkan 2 sen saya, saya sangat menyukai jenis transparansi dan opsi blur yang dimiliki iterm2 di Mac. Anda memiliki transparansi biasa, dan Anda dapat menambahkan sedikit blur untuk mengurangi ketegangan mata tetapi tetap melihat wallpaper latar belakang atau apa pun dengan jelas.

Akriliknya terlihat jelek, dan benda di bawah jendela sama sekali tidak bisa dikenali.

@ zadjii-msft @ DHowett-MSFT Kami tidak dibatasi oleh API yang diterbitkan sebagai MSFT devs. Jika Anda menghubungi pengelola perpustakaan, Anda mungkin bisa menyelesaikan masalah ini, mereka membangun barang mereka dengan cara yang bodoh bukan berarti kita semua harus menerimanya, bukan?

Sebagai catatan, ini adalah fitur terakhir yang harus dimiliki untuk saya dan transparansi jendela tidak benar-benar dapat digunakan tanpanya. Setidaknya transparansi gambar latar belakang berfungsi, tetapi jauh lebih baik untuk dapat melihat aplikasi sebenarnya di bawah dan / atau desktop asli Anda. Terminus, Alacritty dan Conemu semuanya mengelola ini (meskipun dengan berbagai tingkat keberhasilan).

@ zadjii-msft @ DHowett-MSFT Kami tidak dibatasi oleh API yang diterbitkan sebagai MSFT devs. Jika Anda menghubungi pengelola perpustakaan, Anda mungkin bisa menyelesaikan masalah ini, mereka membangun barang mereka dengan cara yang bodoh bukan berarti kita semua harus menerimanya, bukan?

👆🏻 ini. begitu banyak ini.

Saya perhatikan bahwa https://github.com/goreliu/wsl-terminal menangani transparansi dengan baik (dan saya percaya seperti yang diinginkan sebagian besar orang di sini), jadi menyelidiki basis kode itu mungkin merupakan tempat yang masuk akal untuk memulai.

* EDIT *

Dan opsi transparansi benar-benar berasal dari proyek https://github.com/mintty/mintty yang mendasarinya

Saya ingin membaca apa yang ada di balik jendela, biasanya contoh kode di halaman web. Dalam hal itu, apakah lebih baik memiliki tombol pintas yang beralih antara transparansi buram dan non-buram? Aka, mematikan akrilik tetapi mempertahankan transparansi. Bisa push-and-hold atau toggle, akan menyenangkan untuk mencoba keduanya.

Komentar ini (https://github.com/microsoft/terminal/issues/1375#issuecomment-569483109) dari @JasonStein mungkin relevan dengan utas ini:

Hai teman-teman, saya penulis Notepads, beginilah cara saya membuat efek akrilik latar belakang "selalu aktif" untuk bilah judul dan badan jendela Aplikasi Notepads : : src / Notepads / Services / ThemeSettingsService.cs @ 12940ad # L253

Saya membuat sikat Akrilik sendiri menggunakan "AcrylicBackgroundSource.HostBackdrop" dengan bantuan pustaka UICompositionAnimations untuk membuat hidup saya lebih mudah (ref: Sergio0694 / UICompositionAnimations ).

Ini pada dasarnya membuat kuas dari awal menggunakan API komposisi (tekstur AcrylicBackgroundSource.HostBackdrop + Noise).

API AcrylicBrush bukan satu-satunya pilihan. Saya benar-benar ingin memiliki opsi untuk opacity non-blur, selain dari opsi akrilik. Aneh rasanya membuang fitur yang berguna dari cmd saat menjadikan Terminal Windows ini sebagai cmd-ng.

Transparansi tanpa blur sama sekali jika itu bisa dilakukan tanpa akrilik bahkan akan bagus jadi saya tidak perlu alt-tab mid command untuk mengecek ulang sesuatu.

Di mac dan Linux saya menggunakan terminal transparan sepanjang waktu karena saya sering membaca dokumen atau beberapa kode sumber di jendela di bawahnya saat saya mengetiknya sangat berguna.

Mengontrol keburaman akan menjadi ide yang ideal. (di mac saya menggunakan blur 3% hanya untuk membuat teks terminal menonjol tanpa membuat teks di belakangnya sulit dibaca.)

Untuk klarifikasi, apakah ini memungkinkan transparansi jendela tanpa pemburaman (misalnya, bertindak seperti cmd dan PS)? Akan sangat menyenangkan bisa membaca teks di balik jendela.

Persis! Bahkan, saya tidak akan mempertimbangkan untuk beralih ke Terminal Windows (sebanyak yang saya suka) sampai ini diterapkan. Saya terus memeriksa kembali, tetapi kecewa melihat itu masih belum dilakukan.

Fitur ini sangat berguna bagi mereka yang memiliki monitor tunggal atau real estate layar terbatas. Saya hampir selalu memiliki beberapa halaman web atau teks lain di belakang terminal saya yang ingin saya baca saat berada di terminal. Saya menyesuaikan transparansi / opasitas saya dengan tepat untuk menjadikan ini pengalaman yang nyaman sehingga saya masih dapat membaca terminal saya dengan baik.

Harap terapkan secepatnya. Saya tidak sabar untuk menggunakan WT dan telah mengikutinya sejak rilis Alpha pertama.

Sebagai bonus, harus ada juga boolean untuk mengubah apakah transparansi / opasitas juga harus diterapkan ke teks di Terminal. Ini akan memastikan bahwa teks di terminal tetap hidup dan terlihat agar lebih dapat dibedakan dari teks lain di jendela di belakang terminal.

Jika blur akan disebut sebagai Akrilik, saya tidak berpikir itu harus menyimpang dari konstruksi visual permukaan Akrilik lainnya di luar opasitas (yang bervariasi dengan Kuas Akrilik)

Jika Anda mulai memisahkan berbagai lapisan seperti jumlah Noise, Luminosity, atau Blur - ini bukan lagi "Akrilik" tetapi kumpulan efek lapisan komposisi.

Saya terus memeriksa kembali

kabar baik! Anda akan mendapatkan email saat kami menutup bug ini: smile: untuk lebih baik atau lebih buruk

Saya harus mengulangi apa yang dikatakan orang lain; Saat ini saya menggunakan instalasi msi PowerShell Core sebagai shell utama saya. Sebagai komponen yang sangat besar dari pekerjaan saya, saya berada di konsol ini dengan layar setengah atau layar penuh pada ultra-lebar sepanjang hari dan harus dapat melihat hal-hal dengan jelas di bawahnya.

Saya menyukai ide tersebut dan menghargai upaya yang dilakukan Microsoft ke dalam beberapa utilitas admin di Windows tetapi, pada titik ini, Terminal baru ini hanyalah hal baru yang tidak dapat menggantikan konsol asli. Silakan lihat tangkapan layar di bawah ini; kedua jendela diletakkan di tempat yang sama di halaman ini. Yang satu hebat dan yang lainnya tidak dapat digunakan, saya tidak perlu menunjukkan yang mana.

image

Terminal baru ini hanyalah hal baru

Saya menghargai kritik baik Anda terhadap proyek yang telah kami kerjakan selama satu setengah tahun terakhir, tetapi bisakah Anda _not_?

Saya berempati dengan perasaan Anda; ini bukan tempat yang menyenangkan, tetapi juga menempatkan diri Anda dalam perspektif basis pengguna (sebagian besar pelanggan yang membayar) yang telah menunggu ini selama satu setengah tahun. Saya ingin menggemakan pemikiran lain yang tampaknya merasuki komunitas terkait produk ini dan saya ingin setidaknya memberikan tangkapan layar agar konstruktif karena tidak ada orang lain yang melakukannya hingga saat ini. Tanpa benar-benar melihat apa masalahnya, akan mudah untuk mengabaikan masalah tersebut sebagai masalah kecil atau merengek, tetapi saya harap Anda menyadari bahwa konsol atas di tangkapan layar saya jelas tidak berfungsi. Saya berharap bisa diperbaiki.

  1. Jangan khawatir, semua orang di tim adalah pengguna harian Terminal. Kita semua adalah basis pengguna sama seperti pelanggan eksternal kita.
  2. Sebagai catatan, Terminal baru diumumkan April lalu, jadi kalian baru menunggu 13 bulan 😉
  3. Kami telah menyelidiki masalah ini untuk sementara waktu sekarang. Kami memahami bahwa ini bukan masalah grafis yang sepele, tapi sayangnya, ini bukan masalah yang secara teknis sepele untuk diperbaiki 😕

@ zadjii-msft Saya memahami bagian ketiga, itulah sebabnya saya memposting tangkapan layar untuk menggambarkan apa yang dikeluhkan semua orang dalam utas masalah ini dan lainnya. Saya menghargai kalian yang bekerja untuk membuat produk keren dengan pendekatan OS yang lebih agnostik, saya harap ini terus berjalan tanpa terlalu banyak sakit kepala untuk Anda.

"Misi kami adalah memberdayakan setiap orang dan setiap organisasi di planet ini untuk mencapai lebih banyak." - Microsoft

Sayangnya, Terminal baru ini agak mengganggu. Itu pasti hadir dengan beberapa fitur luar biasa, seperti tab! LUAR BIASA !!! Namun, sebagai pengembang kami harus menerima yang baik dengan yang buruk, dan terkadang kami tidak menyadari bahwa ada fitur yang hilang yang akhirnya menjadi sangat penting bagi pengguna hingga setelah peluncuran. 🤦🏼‍♂️ Ini adalah perangkat lunak gratis, jadi saya sangat berterima kasih untuk itu dan komitmen luar biasa untuk Open Source dari Microsoft dalam beberapa tahun terakhir (terutama sejak Satya mengubah perusahaan). Pada saat yang sama, transparansi terminal apa pun adalah suatu keharusan dalam buku saya. Efek Akrilik cukup meyakinkan, tetapi tidak semua orang akan baik-baik saja dengan blur, termasuk saya, terutama dengan real estat layar terbatas. 🥰

Pertahankan kerja bagus tim Terminal Windows!

Saya benar-benar akan senang jika tim Microsoft menambahkan fitur ini, pertanyaannya adalah, bagaimana kita bisa meminta fitur ini untuk disertakan di rilis berikutnya? Saya cukup yakin ini bisa tercapai, terima kasih atas semua pekerjaan yang telah Anda capai dengan terminal ini sejauh ini. Ya, ini bukan masalah teknis, ini adalah persyaratan baru untuk terminal.

Saya _love_ memilikinya di rilis berikutnya, tetapi seperti yang telah saya uraikan panjang lebar di https://github.com/microsoft/terminal/issues/603#issuecomment -626830075, ini _adalah masalah teknis yang tidak memiliki solusi yang mudah, jadi saya tidak bisa berkomitmen untuk menambahkannya di rilis tertentu.

terkesan sejauh ini dengan upaya dan menantikan blur yang dapat dikonfigurasi ini (atau bahkan hanya semi-transparansi polos tanpa akrilik!) akhirnya ditambahkan .. tetapi sampai saat itu akan melekat dengan wsltty.

Transparansi adalah suatu keharusan untuk jendela terminal, karena sebagian besar pengguna listrik perlu sering melihat melalui jendela. Blur sebagian besar hanya kosmetik sedangkan transparansi adalah alat yang sebenarnya.

@harounhajem bukan hal yang sama yang dibahas di utas ini - tugas di utas ini adalah tentang mengontrol seberapa banyak Terminal mengaburkan latar belakang dengan mengaktifkan akrilik. Saya berasumsi bahwa "Blur" adalah properti di AcrylicBrush , padahal sebenarnya bukan.

Sejujurnya, ini mungkin penipuan # 603 pada saat ini, tetapi saya membiarkannya terbuka karena setidaknya ada 22 orang lain yang sudah mengikuti utas ini untuk mendapatkan penyelesaian.

Lol @ zadjii-msft dia benar-benar melewatkan intinya. Dan tampaknya dia menghapus komentarnya. 😅
Tapi ya banyak dari kita menunggu hari kita bisa menggunakan aplikasi terminal ini. 👀

Tidak yakin apakah ini harus menjadi masalah terpisah atau tidak. Saya juga sangat menginginkan opsi untuk mempertahankan opasitas saat Terminal bukan jendela aktif, atau lebih baik lagi, opsi untuk menggunakan nilai opasitas alternatif saat tidak aktif.

Untuk saat ini, saya memiliki pintasan untuk mengatur jendela aktif ke ~ 80% opacity, yang bekerja sangat bagus dengan Akrilik blur karena saya bisa melihat apa yang ada di belakang tetapi efek blur membantu teks terminal tetap cukup mudah dibaca.

Akrilik WT disetel menjadi 0.8 , sedangkan fungsi AutoHotKey menyetel opasitas menjadi 200 (200/255).

Untuk saat ini, saya memiliki pintasan untuk mengatur jendela aktif ke ~ 80% opacity, yang bekerja sangat bagus dengan Akrilik blur karena saya bisa melihat apa yang ada di belakang tetapi efek blur membantu teks terminal tetap cukup mudah dibaca.

Akrilik WT disetel menjadi 0.8 , sedangkan fungsi AutoHotKey menyetel opasitas menjadi 200 (200/255).

Saya ingin sekali membaca lebih lanjut tentang penyiapan Anda untuk itu jika Anda ingin berbagi. Kedengarannya seperti sesuatu yang menurutku berguna.

Fungsi AutoHotKey:

#^Esc::
  WinGet, TransLevel, Transparent, A
  If (TransLevel = OFF) {
    WinSet, Transparent, 180, A
  } Else {
    WinSet, Transparent, OFF, A
  }
return

Ini mengubah jendela aktif antara opasitas penuh dan opasitas 180/255. Pintasannya adalah Win+Ctrl+Esc .
Untuk Terminal Windows cukup atur "acrylicOpacity" menjadi sesuatu antara 0.7 dan 0.9 , tergantung pada warna latar belakang Anda (lebih gelap = lebih transparan). Saya menggunakan:

"background" : "#560152",
"acrylicOpacity" : 0.75,

@narfanar Terima kasih banyak untuk ini! Saya memiliki terminal transparan di Windows sekarang!

Ini tidak berfungsi untuk saya sebagaimana adanya, untuk beberapa alasan versi windows saya tidak memahami pengaturan OFF , jadi saya mengubahnya sedikit:

; Toggle window transparency.
#^Esc::
WinGet, TransLevel, Transparent, A
If (TransLevel = 255) {
    WinSet, Transparent, 205, A
} Else {
    WinSet, Transparent, 255, A
}
return

Fungsi AutoHotKey:

OMG Terima kasih banyak! Tidak pernah terpikir olehku bahwa AHK bisa melakukan ini. Mengutak-atik pengaturan akrilik untuk mendapatkan jumlah keburaman yang diinginkan tampaknya berhasil. Masih sedikit lebih mengganggu daripada blur yang Anda dapatkan di terminal mac tetapi itu berhasil.

Dapat menggunakan terminal ini sebagai terminal utama saya sekarang ty @narfanar

Apakah halaman ini membantu?
0 / 5 - 0 peringkat