Fitur & Shortcut

Setiap aksi yang dapat dijalankan daemon, kombinasi tombol default-nya, dan pengaturan untuk mengubahnya, karena di sini pengaturan memang melekat pada tiap fitur.

Ditulis untuk Wira Desk 0.3.0

Dokumentasi ini sengaja tidak punya bagian “kustomisasi” tersendiri. Settings memiliki lima panel (General, Shortcuts, Mouse, VM & Exceptions, About), dan setiap kendali di dalamnya milik satu fitur. Jadi setiap fitur di bawah ini membawa pengaturannya sendiri, tepat di tempat Anda membutuhkannya.

Pindah di antara Window

Win+` berpindah di antara window milik aplikasi yang sedang aktif saja: window Chrome 1 → window Chrome 2 → … Alt+Tab mencampur window semua aplikasi menjadi satu; shortcut ini mengerjakan hal yang tidak dikerjakan Alt+Tab.

Ketukan tetap di monitor dan virtual desktop yang sedang Anda pakai, jadi window yang Anda taruh di layar lain tidak tiba-tiba mengambil fokus.

Ketuk, atau Tahan

Ketuk dan Anda langsung pindah ke window berikutnya di monitor ini. Tahan shortcut-nya dan overlay visual switcher terbuka, lengkap dengan thumbnail langsung dari window aplikasi tersebut di semua monitor pada virtual desktop ini, jadi Anda cukup memilih tanpa perlu menghitung.

PengaturanLokasiDefault
Shortcut utamaShortcuts → SwitchingWin+`
Shortcut cadanganShortcuts → SwitchingAlt+`
Enable Visual Switcher OverlayGeneralAktif
Hold Delay ThresholdGeneral300 ms (rentang 100 sampai 500)
Shortcut cadangan disediakan untuk komputer yang shortcut utamanya bentrok dengan sesuatu yang sudah Anda pakai. Keduanya bisa dipetakan ulang dan masing-masing bisa dimatikan sendiri. Perlu diketahui, Window Hopper bawaan PowerToys juga memakai Alt+`. Fitur tersebut mati secara default, tetapi patut diingat kalau Anda menjalankan keduanya.

Snapping

Ada tiga kelompok, semuanya memakai lapis Ctrl+Alt yang tidak dipakai Windows. Tidak perlu menggambar zona dulu di editor, dan tidak perlu aplikasi tray kedua yang terus berjalan.

Setengah Layar

Ctrl+Alt+←/→/↑/↓ melakukan snap window ke 50% area kerja di tepi tersebut. Ukurannya tetap, selalu tepat setengah.

Sepertiga Layar

Ctrl+Alt+1/2/3 melakukan snap window ke sepertiga kiri, tengah, atau kanan. Inilah kebutuhan FancyZones bagi siapa pun yang hanya menginginkan pembagian sepertiga.

Persentase Anda Sendiri, per Tepi

Ctrl+Alt+Shift+←/→/↑/↓ melakukan hal yang sama dengan persentase pilihan Anda, dan keempat tepi masing-masing punya angkanya sendiri. Kiri 60% dan kanan 40% adalah dua pengaturan yang berbeda, bukan satu pembagian. Jadi editor di kiri pada 60 bisa berpasangan dengan browser di kanan pada 40 tanpa salah satunya menjadi “sisanya”.

PengaturanLokasiDefault
Persentase: kiri / kananShortcuts → Snap to custom, langsung di barisnyaMasing-masing 67
Persentase: atas / bawahShortcuts → Snap to custom, langsung di barisnyaAtas 33, bawah 67
Semua shortcut di atasShortcuts, dikelompokkan menurut tujuan snapping-nyaLihat tabel
Panel Shortcuts dikelompokkan menurut tujuan snapping sebuah aksi (Switching, Snap to half, Snap to third, Snap to custom, Resize, move & arrange), dan nama kelompok tidak diulang di barisnya. Di bawah Snap to custom, sebuah baris cukup bertuliskan “Snap to left edge”.

Pindah & Atur Window

AksiDefaultFungsinya
MaximizeCtrl+Alt+EnterLayar penuh di monitor tempat window itu berada.
Pindah ke monitor berikutnyaCtrl+Alt+Shift+EnterUkuran dan posisi relatif window tetap sama di layar yang baru.
Overlapping stackCtrl+Alt+Shift+STiga window dengan lebar yang Anda tentukan, sengaja saling menumpuk, untuk monitor kecil yang tetap ingin menampilkan window ketiga.

Persentase lebar tumpukan ada langsung di baris Overlapping Stack, di samping shortcut aksi tersebut dan tombol aktif/nonaktifnya. Panel Layout sudah tidak ada: pengaturan yang milik satu aksi kini tinggal bersama aksi tersebut.

Jika Anda memasang dua aksi pada kombinasi yang sama, Maximize kini berada di belakang semua varian snap dalam urutan penyelesaian bentrokan. Pada pengaturan default tidak ada yang bentrok, jadi sebagian besar pemasangan tidak akan merasakan bedanya.

Mematikan Salah Satunya

Setiap shortcut yang bisa dipetakan ulang punya kendali aktif/nonaktif sendiri. Mematikan satu shortcut melepas kombinasinya dari hook keyboard sepenuhnya, sehingga kombinasi tersebut sampai ke aplikasi yang sedang aktif tanpa perubahan, persis seperti ketika Wira Desk tidak terpasang. Kombinasi yang tersimpan tidak ikut terhapus, jadi saat aksi itu dinyalakan lagi Anda tidak perlu memasukkannya ulang.

Navigasi Mouse

Aplikasi suite dari vendor dibuat untuk memetakan ulang tombol yang sebenarnya sudah dilaporkan oleh mouse. Wira Desk membacanya langsung dari aliran input Win32 standar, WM_XBUTTONDOWN dan WM_MOUSEHWHEEL, jadi tidak ada driver, tidak ada aplikasi konfigurasi, dan tidak bergantung pada satu produsen.

Ada empat input, dan secara default keempatnya menjalankan aksi milik Windows sendiri: aksi yang sudah biasa dicari jempol Anda.

InputDefaultLokasi
Enable Mouse NavigationAktifPanel Mouse
Tombol jempol 1 (Back)Virtual desktop sebelumnyaPanel Mouse
Tombol jempol 2 (Forward)Virtual desktop berikutnyaPanel Mouse
Tilt wheel ke kiriShow desktopPanel Mouse
Tilt wheel ke kananTask ViewPanel Mouse

Dua Puluh Aksi yang Bisa Dipasang sebagai Gantinya

Salah satu aksi berikut bisa menggantikan fungsi sebuah tombol:

  • Desktop dan shell: virtual desktop berikutnya, virtual desktop sebelumnya, Task View, show desktop.
  • Switching: pindah ke window berikutnya.
  • Snap to half: kiri, kanan, atas, bawah.
  • Snap to third: kiri, tengah, kanan.
  • Snap to custom: kiri, kanan, atas, bawah.
  • Arrange: maximize, Overlapping stack, pindah ke monitor berikutnya.
  • Passthrough: mengembalikan tombol ke Windows tanpa diubah.
Tilt wheel cenderung memantul. Ada dua penyaring di depannya (jeda 150 ms di antara ketukan yang diterima, lalu masa tenang 400 ms), jadi satu sentilan menjadi satu perintah, bukan tiga.

Pengecualian VM & Remote Desktop

Di dalam mesin virtual atau sesi jarak jauh, shortcut global biasanya justru mengganggu: kombinasi yang Anda tekan ditujukan untuk sistem tamu, bukan komputer host. Panel VM & Exceptions berisi daftar window yang menerima ketukan tombol mentah tanpa dicegat.

Default Saat Dipasang

Executable yang diteruskanmstsc.exe · vmconnect.exe · vmware.exe · VirtualBoxVM.exe · MobaXterm.exe
Window class yang diteruskanVMwareUnityWindow

Nama proses dan window class diatur terpisah, karena sebagian klien lebih tepat dikenali dengan cara yang satu dan sebagian lagi dengan cara yang lain: window VMware dalam mode Unity dikenali dari class-nya, bukan dari nama prosesnya.

File Config

Semua pengaturan di atas disimpan dalam satu file: %APPDATA%\WiraDesk\config.toml. File ini ditulis secara atomik lewat penukaran file .tmp, sehingga penyimpanan yang terputus tidak bisa meninggalkan file setengah jadi.

[general]
auto_start = false
check_updates = true

[switcher]
shortcut = "win+backtick"
shortcut_enabled = true
fallback_shortcut = "alt+backtick"
fallback_shortcut_enabled = true
visual_enabled = true
visual_hold_delay_ms = 300

[snapping]
snap_half_left = "ctrl+alt+left"
snap_half_left_enabled = true
snap_percent_left = "ctrl+alt+shift+left"
percent_left = 67
snap_third_left = "ctrl+alt+1"
snap_maximize = "ctrl+alt+enter"

[layout]
stack_width_percent = 50
stack_shortcut = "ctrl+alt+shift+s"
move_next_monitor_shortcut = "ctrl+alt+shift+enter"

[vm_bypass]
bypass_processes = ["mstsc.exe", "vmconnect.exe", "vmware.exe", "VirtualBoxVM.exe", "MobaXterm.exe"]
bypass_classes = ["VMwareUnityWindow"]

[mouse]
enabled = true
thumb_back = "prev_virtual_desktop"
thumb_forward = "next_virtual_desktop"
tilt_left = "show_desktop"
tilt_right = "task_view"

Anda boleh mengeditnya secara manual. Pemuatan ulang berlaku semua atau tidak sama sekali: file yang tidak terbaca, rusak, atau tidak valid membuat konfigurasi sebelumnya tetap berlaku dan hanya menulis satu peringatan ke log, alih-alih berjalan dengan konfigurasi setengah jadi. Setiap isian punya nilai default, jadi file yang hanya berisi sebagian tetap bisa dimuat dan otomatis mendapat nilai yang belum ada.

Tidak ada nilai konfigurasi yang pernah menjadi path atau baris perintah. Setiap isian bertipe, dan batas inilah yang mencegah penulisan berbahaya ke file ini berubah menjadi eksekusi. Lihat Keamanan → Catatan desain.

Dua Hal Lain di Settings

Spatial Preservation LockPanel General. Menjaga posisi window saat susunan monitor berubah, alih-alih membiarkan Windows menata ulang window tersebut.
Show Unresponsive WindowsPanel General. Tetap memasukkan window yang tidak merespons ke dalam putaran, bukan menyembunyikannya, karena kemungkinan besar window yang macet itulah yang ingin Anda datangi.