GithubHelp home page GithubHelp logo

blz777 / awesome-switcher Goto Github PK

View Code? Open in Web Editor NEW

This project forked from berlam/awesome-switcher

0.0 0.0 0.0 2.53 MB

Switch clients in Awesome WM with the familiar preview functionality

License: ISC License

Lua 100.00%

awesome-switcher's Introduction

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.

awesome-switcher's People

Contributors

andron avatar bakulf avatar berlam avatar jjk96 avatar jorenheit avatar psliwka avatar skeen avatar troglobit avatar wyv3rn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.