window focus awesome-wm

window - impresionante: alt+tab simplemente cambia entre dos aplicaciones



focus awesome-wm (6)

De forma predeterminada, el cliente establece el foco en la ventana anterior que tenía el foco. Cuando alt + tab y cambia las ventanas, la ventana anterior es ahora la ventana original. Por lo tanto, se desplaza entre dos ventanas.

Para arreglar esto, necesitarás cambiar lo siguiente:

En el valor predeterminado de rc.lua, la sección que controla el ciclo de ventanas se ve así:

awful.key({ modkey, }, "Tab", function () awful.client.focus.history.previous() if client.focus then client.focus:raise() end end),

Para recorrer todas las ventanas, y no solo las anteriores, cambie el código anterior a lo siguiente:

awful.key({ modkey, }, "Tab", function () -- awful.client.focus.history.previous() awful.client.focus.byidx(-1) if client.focus then client.focus:raise() end end), awful.key({ modkey, "Shift" }, "Tab", function () -- awful.client.focus.history.previous() awful.client.focus.byidx(1) if client.focus then client.focus:raise() end end),

Eso pasará por las ventanas cuando presione Alt+Tab , y en orden inverso cuando presione Alt+Shift+Tab . (Las dos líneas que comienzan con -- son comentarios, por lo que no afectan el resultado).

Para recorrer cada cliente en una etiqueta, incluso las minimizadas, puede encontrar útil esta función:

awful.key({ modkey, }, "Tab", function () for c in awful.client.iterate(function (x) return true end) do client.focus = c client.focus:raise() end end),

Tenga en cuenta que ninguna de estas soluciones considera el historial de ningún tipo, y en su lugar cambiará a la ventana que tuvo el enfoque menos recientemente (es decir, no considera el orden en el que se enfocó la ventana).

Acabo de instalarlo como wm. Cuando hago alt + tab usando impresionante, solo cambia dos aplicaciones, no es posible activar las otras ... ¿alguna idea?


En los enlaces predeterminados, Mod + Tab realiza ciclos entre las dos últimas aplicaciones utilizadas. Estaba buscando Mod + j o Mod + k (orden inverso).


Hay una biblioteca para la impresionante vista previa impresionante-switcher. Esto implementa un comportamiento de tabulación alternativa similar al que se esperaría de otros sistemas operativos y administradores de ventanas. Se desplaza por las ventanas en el orden en el que se enfocaron más recientemente. Se desplaza por todos los clientes en el conjunto de etiquetas seleccionado para una pantalla. Incluye cliente minimizado. Intento no desordenar el historial hasta que se realice una selección. No altero mucho la pila. Mantener presionado Alt mantiene el interruptor de vista previa / alt-tab arriba.

Puede obtenerlo aquí: https://github.com/berlam/awesome-switcher-preview


He creado un módulo para esto: https://github.com/blueyed/awesome-cyclefocus

Admite diferentes métodos de Alt-Tab (consulte el archivo README) y puede configurarse fácilmente a su gusto a través de filtros que se aplican mientras recorre las ventanas, por ejemplo, para filtrar solo ventanas con la misma clase de WM, o en la misma pantalla / etiqueta .


He hecho algo similar con mi configuración que Chris proporcionó en su solución. Sin embargo, en lugar de cambiar el enfoque a través de todas las ventanas, en realidad, las alterna entre la pila maestra y la esclava. En otras palabras, todos rotan visiblemente en la pantalla:

awful.key({ modkey, "Shift" }, "Tab", function () awful.client.cycle(false) awful.client.focus.byidx(0,awful.client.getmaster()) -- Added 2013-03-01 end), awful.key({ modkey, }, "Tab", function () awful.client.cycle(true) awful.client.focus.byidx(0,awful.client.getmaster()) -- Added 2013-03-01 end),

Todavía tengo que ajustar eso un poco, ya que me gustaría enfocar para (al menos parecer que) permanecer en la ventana maestra durante la operación del ciclo. Todavía me estoy familiarizando con la Awesome Lua API cuando encontré aweful.client.cycle que lo hace tan fácil. :)

Me di cuenta de que simplemente estaría de acuerdo con esta solución actual, ya que este es uno de los primeros recursos que investigué y abordó mi pregunta similar. Espero eso ayude.