Cegah fokus mencuri di WM Luar Biasa, terutama dari Skype


8

Ketika saya menggunakan KDE dengan WM Luar Biasa dan mendapatkan pesan baru di Skype, Plasma Desktop mencuri fokus. Ini membuat saya gila karena saya tidak bisa terus mengetik di jendela saya saat ini. Apakah ada cara untuk mencegah hal ini untuk jendela yang terbuka?

Tampaknya mencuri fokus seperti itu dicegah oleh Awesome WM atau Plasma, tetapi pengalih jendela dari Plasma masih menyoroti jendela. Oleh karena itu, bilah kontrol Plasma (yang ada di bagian bawah) tidak tersembunyi dan karenanya mencuri fokus itu sendiri.

Ketika saya melakukan killall plasma-desktop, mencuri fokus berhenti. Namun, saya juga membunuh plasma-nmdan hal-hal lain yang ingin saya gunakan.

Jawaban:


1

Masalah sebenarnya bukanlah Skype mencuri fokus. Skype hanya memberi tahu pengelola jendela bahwa ia memiliki beberapa aktivitas. Kemudian Awesome WM menunjukkan tag (virtual desktop) sebagai aktivitas. Tetapi kemudian panel Plasma KDE masih berisi daftar windows yang aktif. Dalam widget KDE itu, jendela dengan aktivitas diubah dan Awesome WM kemudian menempatkan fokus ke panel Plasma KDE.

Saya menghapus daftar jendela dari panel Plasma dan tidak pernah terganggu lagi.


0

KDE

Tidak bisakah Anda beralih ke "klik untuk fokus" di KDE untuk menyelesaikan ini?

   ss dari kde

Luar biasa

Saya memang menemukan Wiki ini yang membahas apa yang terdengar seperti masalah Anda dan itu menawarkan solusi ini. Topik wiki berjudul: Plugin solusi yang mencuri fokus keyboard .

xdotool

Ada bug yang sudah lama ada di firefox yang memungkinkan plugin (Flash, Acrobat, dll) mencuri semua pintasan keyboard untuk jendela. Ini adalah solusi sederhana untuk mengembalikan fokus keyboard ke jendela tingkat atas:

kode

   -- Escape from keyboard focus trap (eg Flash plugin in Firefox)
    awful.key({ modkey, "Control" }, "Escape", function ()
         awful.util.spawn("xdotool getactivewindow mousemove --window %1 0 0 click --clearmodifiers 2")
    end),

CATATAN: Pemecahan masalah ini xdotoolharus diinstal.

gerakkan mouse

Misalnya, gunakan Gerakkan Mouse untuk memindahkan penunjuk tetikus ke lokasi yang aman (area mana pun tanpa tautan atau elemen Flash yang disematkan), kemudian panggil fungsi di bawah ini untuk mensimulasikan klik mouse (yang mengembalikan fokus).

kode

-- Simulate mouse click
local function simulateClick()
    root.fake_input("button_press", 1)
    root.fake_input("button_release", 1)
end

-- Bind it to a key
    awful.key({ modkey, }, "n", function() simulateClick() end),

Referensi

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.