1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
*lead* provides hot-corners for your desktop, notably for openbox, awesome, i3 and other window managers.
This fork adds support for specifying an interval to wait before the action is triggered. There may be more improvements in the future.

> Despite the screenshot, the sensors are only 1px in size and invisible.
### Features
- hot corners: sensors in the corners of the screen
- hot sides: sensors on center/middle edge of the screen
- freely configurable action for each sensor
- each screen is individually configurable
# Get it
- clone the repository with `$ git clone https://github.com/mlde/lead`
**or**
- download as zip and extract it
# Build it
*lead* uses [clang](http://clang.llvm.org/) as compiler, [g++](https://gcc.gnu.org/) as linker and [make](https://www.gnu.org/software/make/) as build-tool.
To build *lead* open a terminal in the root folder of the repository and:
$ make
### Dependencies
- Qt5Widgets
- Qt5Gui
- Qt5Core
# Install it
To install *lead* open a terminal in the root folder of the repository and:
$ sudo make install
# Configure it
On the first run lead will look into these dirs for a conf-file. The first one found will be used.
~/.config/lead/lead.conf
/etc/xdg/lead/lead.conf
If none of these exists, it will create `~/.config/lead/lead.conf` with default values for each screen, ie:
[eDP1]
bottom=
bottomLeft=
bottomRight=
left=
right=
top=
topLeft=
topRight=
Sensors have their own sections in the configuration, so if you want to add an action to a corner you can do so:
[eDP1]
bottomLeft=SensorName
[SensorName]
enterAction=chromium
exitAction=firefox
enterDelay=5000
exitDelay=1000
Delays are configured in miliseconds and dictate the amount of time the mouse has to be in the sensor to trigger the specific action.
In the case of exitDelay, this delay affects how much time the mouse has to be in the sensor for it to trigger the exitAction when the mouse moves out of the sensor.
The configuration file is monitored and changes are applied automatically.
# Use it
*lead* provides the binary `lead` which creates sensors for each configured corner or side.
Start *lead* as background process:
$ lead &
# Uninstall it
To uninstall *lead* open a terminal in the root folder of the repository and:
$ sudo make uninstall
# Drawbacks
I didnt want to poll the mouse, so i created sensors which works with events. The sensors are transparent, but need a running compositor like compton for that. Without a compositor, they are black.
# TODO
Improvements that need to be made:
- Error checking of the conf file; e.g. check that an integer was set for the interval
Possible new features:
- Custom regions
|