By AyuanX, 22-Aug-2018
Gosture is a Linux X Window system productivity tool, written in Go language.
Gosture implements system-wide customizable mouse gestures as well as keyboard shortcuts.
- Prepare your Gosture configuration file at
~/.Gosture.cfg.
An example of configuration file is provided asGosture_Config_Example.txt.
You can use it as a starting point. E.g. runcp Gosture_Config_Example.txt ~/.Gosture.cfg - Tweak the configuration to your needs. (Check detailed instructions below.)
- Run Gosture in background and enjoy the mouse gestures and keyboard shortcuts. E.g. run
nohup ./Gosture &
After launching, you can control it through the icon in system tray.
Tip: you can add it into your X Window Startup Applications so that it automatically runs at your login.
The following operations are defined by default in the provided configuration example:
| Operation | Action |
|---|---|
| Mouse Middle Button | Trigger a mouse gesture |
| Gesture ↙ | Minimize active window |
| Gesture ↗ | Maximize / Restore active window |
| Gesture ↓→ | Close active window |
| Gesture ↑ | Scroll to top (Equivalent to Home key) |
| Gesture ↓ | Scroll to bottom (Equivalent to End key) |
| Gesture ← | Copy selection to clipboard (Equivalent to Ctrl+Insert) |
| Gesture → | Paste from clipboard (Equivalent to Shift+Insert) |
| Gesture ↑↓ | Snap window to top edge (Equivalent to Super+Up) |
| Gesture ↓↑ | Snap window to bottom edge (Equivalent to Super+Down) |
| Gesture ←→ | Snap window to left edge (Equivalent to Super+Left) |
| Gesture →← | Snap window to right edge (Equivalent to Super+Right) |
| Super+Alt+Z | Run gedit (Super key is also known as Windows key) |
| Super+Alt+X | Run terminal (Super key is also known as Windows key) |
| Super+Alt+C | Run calculator (Super key is also known as Windows key) |
Gosture configuration file ~/.Gosture.cfg is a standard JSON file.
| Option | Description |
|---|---|
mouse-gesture-enable |
true: enable mouse gesture; false: disable mouse gesture |
mouse-gesture-trigger |
can be a single [Mouse Button] like 2; or a [Modifier Key]-[Mouse Button] combination, like Control-2 |
| Mouse Button | Description |
|---|---|
1 |
Left Button |
2 |
Middle Button |
3 |
Right Button |
4 |
Scroll Up |
5 |
Scroll Down |
| Modifier Key | Description |
|---|---|
Shift |
Shift Key |
Lock |
Caps Lock Key |
Control |
Ctrl Key |
Mod1 |
Alt Key |
Mod2 |
Num Lock Key |
Mod3 |
(Usually not mapped to any physical key) |
Mod4 |
Super Key (also known as Windows Key) |
Mod5 |
AltGr Key (usually absent on US keyboard) |
- To get an acurate list of all modifier keys in your system, run
xmodmap. - To find a specific key name, run
xev.
You can also reference these documents:
http://xahlee.info/linux/linux_show_keycode_keysym.html
http://wiki.linuxquestions.org/wiki/List_of_Keysyms_Recognised_by_Xmodmap
All eight directions are supported; directions are mapped to digits on Num Pad.
| . | . | . |
|---|---|---|
7 (↖) |
8 (↑) |
9 (↗) |
4 (←) |
6 (→) |
|
1 (↙) |
2 (↓) |
3 (↘) |
- For example: gesture of "↑→" is
86; gesture of "↖↘" is73; gesture of "←↓→" is426.
Tip: Mixture of orthogonal stroke and diagonal stroke in one gesture (like "↗→" or "↙↓↘") is supported, but not recommended.
| Action | Description |
|---|---|
minwin |
Minimize active window |
maxwin |
Maximize active window / Restore it if already maximized |
closewin |
Close active window |
key,[key1],[key2],... |
Send a key combination. Each key is delimited by comma |
cmd,[executable],[dir] |
Run [executable], can be a program or script with arguments. [dir] is optional working directory |