Skip to content
This repository has been archived by the owner on Feb 13, 2020. It is now read-only.
/ firegrid Public archive

Click anywhere with only a few key strokes

License

Notifications You must be signed in to change notification settings

foliea/firegrid

Repository files navigation

Firegrid

Build Status

Firegrid strives to make pointer-driven interfaces easier and faster for users to operate. It allows you to move the pointer and click quickly to most points on the screen with only a few key strokes.

How so?

You select a piece of the screen. The sceen is initialy entirely covered with a grid. Each key will select a tile of the grid and create another grid inside. Once a selected tile is precise enough, the mouse pointer will move to the tile center and a mouse click will be triggered.

More images here.

Is it fast?

On most screens, three key strokes will trigger a click. The initial grid format is calculated according to the screen ratio, which means that two screens with the same ratio will get the same grid (e.g a 1080p and a 4k screen) and the same number of required key strokes.

Supported platforms

Firegrid only works on Linux in X11. Firegrid is written with Qt 5 so it should not be hard to port it in Wayland or even over MacOS / Windows.

Installation

On Archlinux

Firegrid is available in the AUR: firegrid

You can install it using makepkg like this:

$ git clone https://aur.archlinux.org/firegrid.git
$ cd firegrid
$ makepkg -si
$ cd ..
$ rm -r firegrid

Or you could use an AUR helper:

e.g: With yaourt

$ yaourt -S firegrid

Build from sources

To build firegrid from sources, you only need Docker.

Run the following command:

$ sh scripts/build.sh

You will then find the firegrid binary in the bin directory:

$ ./bin/firegrid

Configuration

Firegrid configuration file resides in $HOME/.config/firegrid/firegrid.toml.

A configuration file sample is available here.

This file must follow the TOML specification.

Development

To hack on firegrid, you can run a Docker container with every dependency required to build, run the application and launch the test suite:

$ sh scripts/hack.sh

N.b: If you get the following error: QXcbConnection: Could not connect to display, you need to install xhost and run the following command: xhost + before running the script.

Inside the container you can:

  • Build the binary with: make
  • Install crystal shards: make dependencies
  • Compile and run the application with: make dev
  • Launch the test suite with: make test

Contributing

Before sending a pull request, please checkout the contribution guidelines.

Authors

Licensing

Firegrid is licensed under the MIT License. See LICENSE for full license text.