semvec/pypi-packages huggingface dataset:
plover-per-application-state 1.3.1
Plover plugin to make translation state function per application window and tab
Requires Python: >=3.7
Keywords: plover plover_plugin

# Plover Per-Application State
Plover plugin to make translation state function per application window and tab.

> **DISCLAIMER:** This plugin is still WIP and *will* cause Plover to function incorrectly under some circumstances.

## Installation
- Navigate to the installation directory for Plover and open a terminal / command prompt.

- > Run: `<exe_name> -s plover_plugins install -e plover-per-application-state`

    The [plover-application-controls](https://github.com/Pipatooa/plover-application-controls) plugin should be 
    installed automatically as a dependency.


- Restart Plover.

- Configure > Plugins > Enable both `application_controls` and `per_application_state`.

To disable the plugin at any point, disable `per_application_state`.

Disabling `application_controls` will prevent the plugin from being able to detect the currently active window.

## Important Dictionary Setup:

Any dictionary entries which result in a window being switched will need to be modified to include
`{PLOVER:per_application_state:prevent_merge}` at the start of the translation. This is to ensure that the plugin
correctly reloads state when the window is switched.

For example `{#Control(tab)}` will need to be modified to `{PLOVER:per_application_state:prevent_merge}{#Control(tab)}`.

This is NOT required for any `{PLOVER:application:}` commands from 
[plover-application-controls](https://github.com/Pipatooa/plover-application-controls).

## Commands:

The `{PLOVER:per_application_state}` command can be used to control state management. It takes a subcommand as its first 
argument, with further arguments separated by `:`.

For example, `{PLOVER:per_application_state:clear_all}` will clear all state.

| Window Command | Description                                                                               | Arguments | 
|----------------|-------------------------------------------------------------------------------------------|-----------|
| clear          | Clear the translation state for the current window tab                                    |           |
| clear_all      | Clears the current and stored translation states for all windows                          |           |
| clear_window   | Clears the current and stored translation states for the current active window            |           |
| prevent_merge  | Temporarily prevents state from being merged when a title changes as a result of a stroke |           |
plover-application-dictionary 2.0.3
Plover dictionary entries based on the currently focussed application
Requires Python: >=3.7
Keywords: plover plover_plugin

# Plover Application Dictionary
Plover dictionary entries based on the current focussed application.

This plugin has two dictionary types `.ad` and `.mad`, for defining single or multiple application dictionaries 
respectively. The first is not readonly, allowing for entries to be added through Plover, but `.mad` dictionaries are
readonly. Both have to be edited to change which applications the entries within the dictionary 

## Installation
- Navigate to the installation directory for Plover and open a terminal / command prompt.

- > Run: `<exe_name> -s plover_plugins install -e plover-application-dictionary`

    The [plover-application-controls](https://github.com/Pipatooa/plover-application-controls) plugin should be 
    installed automatically as a dependency.


- Restart Plover.

- Configure > Plugins > Enable `application_controls`.

Disabling `application_controls` will prevent the plugin from being able to detect the currently active window.

## Dictionaries:

Dictionaries can match applications using three properties, `app`, `class` and `title`. `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
[plover-application-controls meta actions](https://github.com/Pipatooa/plover-application-controls#meta-actions). 
`class` is only available on some Linux systems.

Matching supports full Regex. An empty string will match anything.

The following is an example dictionary which only activates when Discord or Firefox is active. Implementation from
system to system may vary.

#### Example.ad:
```json
{
  "app": "",
  "class": "discord|Navigator",
  "title": "",
  "entries": {
    ...
  }
}
```

The following is an example dictionary which defines separate entries depending on the user being messaged on Discord.

#### Example.mad:
```json
[
  {
    "app": "",
    "class": "discord",
    "title": "@User1 - Discord",
    "entries": {
      ...
    }
  },
  {
    "app": "",
    "class": "discord",
    "title": "@User2 - Discord",
    "entries": {
      ...
    }
  }
]
```