Plover plugin to monitor and control the currently active window and switch between windows quickly
Project description
Plover Application Controls
Plover plugin to monitor and control the currently active window and switch between windows quickly.
Can also be used by other plugins to track the currently active window.
Installation:
Navigate to the installation directory for Plover and open a terminal / command prompt.
Run:
<exe_name> -s plover_plugins install -e plover-application-controls
Restart Plover.
Configure > Plugins > Enable application_controls
.
Meta Actions:
The {:application_name}
meta outputs information about the currently active window. Argument can be app
, class
or
title
, or a combination of them with :
as a separator. title
should be consistent between platforms, whereas
class
and app
will depend across platforms and specific user installations. To find an application's app
or
class
, see meta actions. class
is only available on some Linux systems. When a property is unknown
UNKNOWN
will be output.
The following example will output UNKNOWN:Navigator:Mozilla Firefox
(output will vary between platforms and
installations).
Example:
{
"W*EUPB": "{:application_name:app:class:title}"
}
Commands:
The {PLOVER:application}
can be used to change or control the currently active window. It takes a subcommand as its
first argument, with further arguments separated by :
.
For example, {PLOVER:application:move:100:0}
will move the current window 100 pixels to the right.
Window Command | Description | Arguments |
---|---|---|
tab | Focuses the nth window in history | <n: int> [initial_sync: bool] |
cycle | Cycles n places through most recent windows. Chained through consecutive strokes | <n: int> [initial_sync: bool] |
stop_cycle | Terminates a cycle chain. See cycling behaviour | |
sync_history | See syncing | |
close | ||
minimize | ||
maximize | ||
restore | ||
hide | ||
show | ||
activate | ||
resize | Resize by a pixel offset | <x: int> <y: int> |
resize_to | Resize to a set pixel size | <x: int> <y: int> |
move | Move by a pixel offset | <x: int> <y: int> |
move_to | Move to a set pixel location | <x: int> <y: int> |
raise_window | ||
lower_window | ||
always_on_top | [value: bool] |
|
always_on_bottom | [value: bool] |
|
send_behind | ||
accept_input | [value: bool] |
Window Cycling Behaviour:
Keys given in brackets signify a modifier key being held for the key sequence within the brackets.
Alt + Shift + (Tab + Tab)
means holding Alt
and Shift
whilst hitting Tab
twice.
Translated Strokes | Equivalent keyboard input |
---|---|
{PLOVER:application:tab:+1} |
Alt + Tab |
{PLOVER:application:tab:+2} |
Alt + (Tab + Tab) |
{PLOVER:application:tab:-2} |
Alt + Shift + (Tab + Tab) |
{PLOVER:application:tab:+1} /{PLOVER:application:tab:+1} |
Alt + Tab ,Alt + Tab |
{PLOVER:application:cycle:+1} /{PLOVER:application:cycle:+1} |
Alt + (Tab + Tab) |
{PLOVER:application:cycle:+2} /{PLOVER:application:cycle:-1} |
Alt + Tab |
{PLOVER:application:cycle:+1} /normal translation /{PLOVER:application:cycle:+1} |
Alt + Tab ,normal translation ,Alt + Tab |
{PLOVER:application:cycle:+1}{PLOVER:application:stop_cycle} /{PLOVER:application:cycle:+1} |
Alt + Tab ,Alt + Tab |
Syncing:
If a new window appears in the background at any point without being focussed, the plugin will not be aware of its existence until a sync has been performed. Thus, without a sync, it will be impossible to cycle to the window.
The {PLOVER:application:sync_history}
command can be used to trigger a manual window sync. The initial_sync
argument
for the tab
and cycle
subcommands will trigger a sync if they are first in chain. For the tab
subcommand, this
means that a sync will always be performed before running the tab operation. For the cycle
subcommand, this means that
a sync will be performed before the first cycle stroke, but will not be performed for subsequently chained strokes.
Note: Syncs can be quite slow and may sometimes fail silently, causing Plover to hang entirely in rare cases. For this reason it is recommended to have a dedicated
sync_history
stroke to be used when a window cannot be found when cycling.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file plover-application-controls-1.2.1.tar.gz
.
File metadata
- Download URL: plover-application-controls-1.2.1.tar.gz
- Upload date:
- Size: 20.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cd29e03cf4a84f11739eed793170620a211470bca9fbf7d00fd76f8b5aecbe7 |
|
MD5 | d59cc149ca37391ac0d1f3e9dcbad915 |
|
BLAKE2b-256 | c9769fcfdb728fc3aa7dbbbdccccdfee5ca02bdb9378fe3771c9a3141c64570e |
File details
Details for the file plover_application_controls-1.2.1-py3-none-any.whl
.
File metadata
- Download URL: plover_application_controls-1.2.1-py3-none-any.whl
- Upload date:
- Size: 22.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e214462e1dc9bc8f199920ba0e6b4d7c7296def2466166fea5737424fa10743 |
|
MD5 | 21be53a3e3d1a9c106114001e7af8375 |
|
BLAKE2b-256 | 5fe373fd8c38380f4b7b6fc8e2484654fb3b68b020d2354af865b77c560f37fe |