awesome_alttab icon indicating copy to clipboard operation
awesome_alttab copied to clipboard

Familiar Alt-Tab functionality in Awesome WM (3.5.5)

ATTENTION!!

This project is deprecated and will not be maintained anymore. I had a lot of fun creating this when I was still using Awesome, but those times have long come to an end. Luckily, and thanks to the powers of open-source, others have stepped up and taken over. Please refer to @berlam for an up-to-date and maintained fork:

https://github.com/berlam/awesome-switcher-preview

Thanks!!

PS. I apologize for not responding faster, and would like to thank @berlam for respecting this work even without copyright notices.


Integrate familiar Alt-Tab functionality in Awesome WM 3.5, tested only on 3.5.5

Features:

  • Live previews while alt-tabbing AND/OR Opacity effects for unselected clients
  • Easily adjustable settings
  • No previews when alt-tab is released within some time-frame
  • Backward cycle using shift
  • Intuitive order, respecting your client history
  • Includes minimized clients (in contrast to some of the default window-switching utilies)

INSTALLATION: 1) cd ~/.config/awesome git clone https://github.com/jorenheit/awesome_alttab.git alttab

  1. Import into rc.lua: local alttab = require("alttab")

  2. Optionally edit any subset of the following settings, the defaults are:

    alttab.settings.preview_box = true, -- display preview-box alttab.settings.preview_box_bg = "#ddddddaa", -- background color alttab.settings.preview_box_border = "#22222200", -- border-color alttab.settings.preview_box_fps = 30, -- refresh framerate alttab.settings.preview_box_delay = 150, -- delay in ms

    alttab.settings.client_opacity = false, -- set opacity for unselected clients alttab.settings.client_opacity_value = 0.5, -- alpha-value alttab.settings.client_opacity_delay = 150, -- delay in ms

  3. Add key-bindings: On my particular system, and I guess most, Shift-Tab is captured by the keygrabber as a single key, namely "ISO_LEFT_TAB". Therefore, this is what my keybindings look like:

    awful.key({ "Mod1", }, "Tab", function () alttab.switch(1, "Alt_L", "Tab", "ISO_Left_Tab") end
    ),

    awful.key({ "Mod1", "Shift" }, "Tab", function () alttab.switch(-1, "Alt_L", "Tab", "ISO_Left_Tab") end ),