All Projects → berlam → awesome-switcher

berlam / awesome-switcher

Licence: ISC license
Switch clients in Awesome WM with the familiar preview functionality

Projects that are alternatives of or similar to awesome-switcher

Collision
A window management module for AwesomeWM
Stars: ✭ 96 (+11.63%)
Mutual labels:  awesomewm
Tyrannical
Dynamic tagging configuration system for awesomeWM
Stars: ✭ 173 (+101.16%)
Mutual labels:  awesomewm
json-peek
Stringify JSON *just enough* to see what it is
Stars: ✭ 33 (-61.63%)
Mutual labels:  preview
Awesome Configs
My AwesomeWM configuration
Stars: ✭ 111 (+29.07%)
Mutual labels:  awesomewm
Awesome config
config for AwesomeWM
Stars: ✭ 163 (+89.53%)
Mutual labels:  awesomewm
Awesome Copycats
Awesome WM themes
Stars: ✭ 2,445 (+2743.02%)
Mutual labels:  awesomewm
Awesome Pulseaudio widget
PulseAudio widgtet for the Awesome Window Manager that uses DBus
Stars: ✭ 29 (-66.28%)
Mutual labels:  awesomewm
V2Switcher
极简V2Ray配置切换器,拯救多线用户
Stars: ✭ 24 (-72.09%)
Mutual labels:  switcher
Radical
An extensible menu subsystem for Awesome WM
Stars: ✭ 174 (+102.33%)
Mutual labels:  awesomewm
autohidewibox
Execute awesome wm commands on ModKey press/release
Stars: ✭ 18 (-79.07%)
Mutual labels:  awesomewm
The Glorious Dotfiles
A glorified personal dot files
Stars: ✭ 1,850 (+2051.16%)
Mutual labels:  awesomewm
Dotfiles
Config for vim sublime awesome xmonad etc.
Stars: ✭ 140 (+62.79%)
Mutual labels:  awesomewm
Vicious
Vicious is a modular widget library for the "awesome" window manager.
Stars: ✭ 242 (+181.4%)
Mutual labels:  awesomewm
Net widgets
Network widgets for Awesome WM
Stars: ✭ 103 (+19.77%)
Mutual labels:  awesomewm
awesome
my Awesome(window management) configuration for Arch/Ubuntu
Stars: ✭ 34 (-60.47%)
Mutual labels:  awesomewm
Dotfiles
~!Dotfiles
Stars: ✭ 63 (-26.74%)
Mutual labels:  awesomewm
Bling
Utilities for the awesome window manager
Stars: ✭ 188 (+118.6%)
Mutual labels:  awesomewm
svelte-link-preview
Svelte port of @dhaiwat10/react-link-preview
Stars: ✭ 12 (-86.05%)
Mutual labels:  preview
react-bones
💀 Dead simple content loading components for React and React-Native. 💀
Stars: ✭ 42 (-51.16%)
Mutual labels:  preview
dotfiles
My NixOS configuration featuring awesome and neovim
Stars: ✭ 40 (-53.49%)
Mutual labels:  awesomewm

awesome-switcher

This plugin integrates the familiar application switcher functionality in the awesome window manager.

Screenshot of awesome-switcher

Features:

  • Live previews while alt-tabbing AND/OR Opacity effects for unselected clients
  • Easily adjustable settings
  • No previews when modifier (e.g.: Alt) is released within some time-frame
  • Backward cycle using second modifier (e.g.: Shift)
  • Intuitive order, respecting your client history
  • Includes minimized clients (in contrast to some of the default window-switching utilies)
  • Preview selectable by mouse

Installation

Clone the repo into your $XDG_CONFIG_HOME/awesome directory:

cd "$XDG_CONFIG_HOME/awesome"
git clone https://github.com/berlam/awesome-switcher.git awesome-switcher

Then add the dependency to your Awesome rc.lua config file:

    local switcher = require("awesome-switcher")

Configuration

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

    switcher.settings.preview_box = true,                                 -- display preview-box
    switcher.settings.preview_box_bg = "#ddddddaa",                       -- background color
    switcher.settings.preview_box_border = "#22222200",                   -- border-color
    switcher.settings.preview_box_fps = 30,                               -- refresh framerate
    switcher.settings.preview_box_delay = 150,                            -- delay in ms
    switcher.settings.preview_box_title_font = {"sans","italic","normal"},-- the font for cairo
    switcher.settings.preview_box_title_font_size_factor = 0.8,           -- the font sizing factor
    switcher.settings.preview_box_title_color = {0,0,0,1},                -- the font color
    
    switcher.settings.client_opacity = false,                             -- opacity for unselected clients
    switcher.settings.client_opacity_value = 0.5,                         -- alpha-value for any client
    switcher.settings.client_opacity_value_in_focus = 0.5,                -- alpha-value for the client currently in focus
    switcher.settings.client_opacity_value_selected = 1,                  -- alpha-value for the selected client

    switcher.settings.cycle_raise_client = true,                          -- raise clients on cycle

Then add key-bindings. On my particular system I switch to the next client by Alt-Tab and back with Alt-Shift-Tab. Therefore, this is what my keybindings look like:

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

Please keep in mind that "Mod1" and "Shift" are actual modifiers and not real keys. This is important for the keygrabber as the keygrabber uses "Shift_L" for a pressed (left) "Shift" key.

Credits

This plugin was created by Joren Heit and later improved upon by Matthias Berla.

License

See LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].