Metadata-Version: 2.1
Name: spacemenu
Version: 0.4
Summary: A spacemacs menu inspired gtk module
Home-page: https://github.com/pm-coelho/spacemenu
Author: pmcoelho
Author-email: pmcoelho@protonmail.com
License: GPLv3+
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: X11 Applications
Classifier: Environment :: X11 Applications :: GTK
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/markdown
Requires-Dist: pycairo
Requires-Dist: PyGObject

# SpaceMenu

## Description
SpaceMenu is a python module inspired by the [spacemacs](http://spacemacs.org) "space menu". 
Designed to be used as a laucher for i3wm

## Dependencies
gtk-3.0

## Installation
```bash
pip install spacemenu
```

## Usage

### Window
The class Window represents the menu window itself

```python
from spacemenu import Window
window = Window(root, options)
```

##### Parameters
root -> A dictionary with the desired display information in the following schema:
```
{
  "label": 'title of the window',
  "branches": [
    {
      "label": "label for the first branch",
      "branches": [],
      "leaves": []
    }
  ],
  "leaves": [
    { "label": "label for leaf 1", "command": "shell command to be executed""}
  ]
}
```
so, a branch can contain other branches or leaves, and each leaf executes a command.


options -> Options can either be a dictonary or an Options object
```
{
  "margin": 10,
  "column_spacing": 1,
  "row_spacing": 1,
  "max_columns": 5,
  "row_height": 35,
  "margin_left": 0,
  "margin_right": 0,
  "margin_bottom": 0,
  "font": "italic bold 12px Georgia, serif",
  "background_color": "#ffffff"
  "button_background_color": "#ffffff"
  "button_text_color": "#000000"
  "branch_background_color": "#ffffff",
  "branch_text_color": "#ffffff",
  "branch_text_shortcut_color": "#ff0000",
  "branch_text_separator_color": "#00ff00",
  "branch_text_label_color": "#0000ff",
  "leaf_background_color": "#ffffff",
  "leaf_text_color": "#000000",
  "leaf_text_shortcut_color": "#ff0000",
  "leaf_text_separator_color': "#00ff00",
  "leaf_text_label_color": "#0000ff"
}
```
note: any undefined values will be set to the Gtk theme default

#### Methods
draw() -> draw the window

### Options
#### Outer Shape
  * margin_left: Sets outer left margin (in px)
  * margin_right: Sets outer right margin (in px)
  * margin_bottom: Sets outer bottom margin (in px)

#### Inner Shap
  * inner_margin: Inner margin for the window
  * column_spacing: Spacing between each column
  * row_spacing: Spacing between each row
  * max_columns: Maximum number of columns to display
  * row_height: The height of the buttons in each row
  * font: Font to be used by the labels

#### Colors
  * background_color: The color for the window background (#rrggbb)
  * button_background_color: The color for the button background (#rrggbb)
  * button_text_color: The color for the text of the buttons(#rrggbb)

## TODO
  * allow externally defined shortcuts

## License
GPL-3.0-or-later 


