Terminator: jendela tunggal, fokus pada peluncuran

8

Saya mengkonfigurasi Terminator untuk desktop saya. Saya menggunakan Ctrl+ Alt+ Tshortcut untuk meluncurkannya. Karena saya hanya ingin menjalankan instance tunggal, saya menggunakan run-one terminatorsebagai perintah launcher.

Sekarang jika instance Terminator sedang berjalan, instance baru tidak diluncurkan, tetapi instance yang ada tidak mendapatkan fokus .

Adakah ide bagaimana saya bisa mendapatkan jendela Terminator untuk mendapatkan fokus?

Tuan Hyde
sumber

Jawaban:

4

Coba instal wmctrl : sudo apt-get install wmctrl
sekarang perintah wmctrl -a STRINGmemberi fokus ke jendela yang berisi STRING dalam judulnya
sehingga perintah terakhir Anda adalah:

run-one terminator; wmctrl -a Terminator
Denis
sumber
Terima kasih untuk penunjuknya. Saya telah menemukan solusi yang bekerja cukup baik, terinci di bawah ini.
Tuan Hyde
8

Berikut adalah metode yang berfungsi tanpa run-oneasumsi wmctrltersedia:

wmctrl -xa terminator.Terminator || terminator

Ini mengasumsikan nama kelas jendela standar sedang digunakan. Anda dapat menjadi kreatif jika ingin dan menggunakan nama kelas khusus saat meluncurkan terminator. Ini akan memungkinkan Anda untuk menjaga pintasan terminator Anda terpisah dari instance terminator normal :

wmctrl -xa MyCustomTerminator.Terminator || terminator -c MyCustomTerminator

Ini hanya didasarkan pada jawaban Denis tanpa perlu run-one.

loleary
sumber
Adakah yang tahu cara membuatnya beralih fokus?
Joe Eifert
Solusi bagus Saya harus menggunakan bash -c 'wmctrl -xa terminator.Terminator || terminator'Ubuntu 18.10 menggunakan Gnome 3.30.1. Kalau tidak, jalan pintas hanya akan berfungsi setelah terminator sudah berjalan.
stebu92
1

Inilah hack yang telah saya tentukan menggunakan run-one dan xdotool

Di /home/(user)/my_scripts/single_terminator_instance.sh

#!/usr/bin/bash

# run a single instance of terminator
/usr/bin/run-one /usr/bin/terminator

# search for the terminator window and focus!!!
/usr/bin/xdotool search --onlyvisible --class terminator windowactivate

Kemudian

  1. Ubah perintah pintas Terminator Main Menuuntuk menunjuk ke skrip di atas
  2. Di pintasan Keyboard, Ctrl+ Alt+ Tmengaktifkan skrip

Saat mencari di i'net, saya juga berkesempatan untuk ini

Karena saya baru mengenal bash scripts, saya menyambut setiap penyempurnaan hack!

Tuan Hyde
sumber
Lebih mudah: /usr/bin/wmctrl -xa terminator:-) bukannya xdotool! Terima kasih, Denis.
Mr Hyde
kamu benar! cara yang benar adalahwmctrl -xa terminator
Denis
Saya mencoba solusi Anda, tetapi run-one tidak berfungsi di komputer saya dengan Terminator. Itu selalu meluncurkan contoh baru. Apakah Anda tahu mengapa? Terima kasih.
Tamás Barta
ps aux | grep terminatortidak mengembalikan apa pun. Proses ini berjalan sebagai x-terminal-emulator untuk saya, jadi itu mungkin penyebabnya. Saya melakukan pemeriksaan manual seperti ini: RUNNING = $ (ps aux | grep x-terminal-emulator | grep -v grep) jika [[-z $ RUNNING]]; kemudian x-terminal-emulator & fi
Tamás Barta
@ BartaTamás Apakah Anda menyelesaikan masalah Anda. Script saya hanya dua baris bash yang terpasang pada pintasan keyboard. Saya sekarang menggunakannya dengan gnome-terminal dan tmux, dan saya sangat senang dengan solusinya. Tapi itu juga bisa diandalkan dengan terminator. Mungkin pintasan keyboard yang sama ditetapkan dua kali (Ctrl + Alt + T). Hanya menebak!
Tn. Hyde