Git Product home page Git Product logo

iswitchw's Introduction

iswitchw

fast keyboard-driven window switching via AutoHotKey

When iswitchw is triggered, the titles of all visible windows are shown in a popup. Start typing to narrow possible matches -- hit enter at any point to activate the top match. Matches are narrowed using an approximate/'fuzzy' filtering method similar to tools like Ido and CtrlP.

Built and tested using:

  • AutoHotkeyL v1.1.11.01 on Windows 7 (x64).
  • AutoHotKeyL v1.1.22.02 Unicode 64 on Windows 8.1 (x64).

Usage

iswitchw strives to be as intuitive as possible.

  • Ctrl + Space activates iswitchw
  • Esc cancels at any time
  • Tab to advance the selected window match
  • Up/Down arrow keys move through the matches
  • Left/Right arrow keys move the insert cursor in the search box
  • Home/End move the insert cursor or match selection depending on context
  • Ctrl + Delete/Backspace removes a word from the search
  • Ctrl + Left/Right arrow keys skip forward/backward by the word
  • Click a title to activate a window with the mouse
  • Any other typing should be passed through to the search

By default, iswitchw is restricted to a single instance and hides itself from the tray. Run the script again at any time to replace the running instance. If you want to quit the script entirely, activate iswitchw with Win + Space and then press Alt + F4.

If you want iswitchw to run when Windows starts, make a shortcut to the iswitchw.ahk file in the folder %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup. See here also.

Options

User configurable options are presented at the top of the ahk script.

Example

iswitchw in action

Todo

  • Tweak scoring algorithm to work better with long window titles
  • Add better explanations/examples for configuration options
  • Move hotkey binding and options into ini file

History

Original inspiration provided by the creators of the iswitchb package for the Emacs editor.

2004/10/10, CREATED by keyboardfreak [link]
2008/07/03, MODIFIED by ezuk [link]
2011/06/11, MODIFIED by jixiuf [link]
2013/08/23, MODIFIED by dirtyrottenscoundrel [link]
2014/05/30, MODIFIED by tvjg [link]

My thanks to the previous contributors to this script. Without your work to lean on and learn from, I would have never started. My primary goals were to remove accumulated cruft and publish a version that could be easily forked. Previous implementations depended heavily on subroutines storing shared program state in undesignated globals.

Gui and global variables (including user configurable options) were trimmed to a more reasonable minimum. Window icon display code was fixed for 64-bit versions of Windows. Approximate search matching a la ido/CtrlP was added. Code length was reduced significantly. When possible, I attempted to avoid old style AHK idioms (e.g. EnvAdd, a%index%) in favor of code that would be more readable to the majority of programmers.

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.