Jiggle is a Gnome Shell extension that highlights the cursor position when the mouse is moved rapidly.
Please see the following URL to install it for Gnome: https://extensions.gnome.org/extension/3438/jiggle/
Setting | Description |
---|---|
Shake Threshold | How vigorous the cursor must shake for jiggling to be detected. |
Log Level | How much Jiggle should log to journalctl. |
Effect | Choose which effect is used when jiggling is detected. |
Show a larger cursor.
Setting | Description |
---|---|
Use System Cursor | When enabled, use the system cursor. Otherwise, Jiggle uses icons/jiggle-cursor.png. |
Hide Original Cursor | When enabled, Jiggle attempts to hide and show the real cursor during its animation. |
Growth Speed | How fast the cursor grows once jiggling is detected. |
Shrink Speed | How fast the cursor shrinks once jiggling is no longer detected. |
Set off fireworks.
Setting | Description |
---|---|
Burst Speed | How fast the firework particles fly. |
Spark Count | How many particles the fireworks have. |
Spark Trail | How far the particle trails are visible. |
Shine a spotlight on the cursor.
Setting | Description |
---|---|
Size | Size of the spotlight. |
Show Speed | How fast the spotlight fades in once jiggling is detected. |
Hide Speed | How fast the spotlight fades once jiggling is no longer detected. |
Leave a trail of cursors.
Setting | Description |
---|---|
Speed | Speed of the trail generation. |
Patches welcome.
Feel like building Jiggle from sources? Keep reading...
Jiggle effects use duck typing, and effects are expected to have the following methods:
Method | Description |
---|---|
render() |
Executed in a timed loop, for repainting the screen. |
run(x, y) |
Executed when the cursor moves, with the x and y screen coordinates. |
start() |
Executed when jiggling is first detected. |
stop() |
Executed when jiggling is no longer detected. |
update(settings) |
Executed if any of the preferences are changed. settings is a Gio.Settings instance. |
In addition, each effect package should also implement a new_effect
function that returns a new instance of the effect.
Tools required:
make
Any changes to the settings or UI xml will require recompilation.
DO NOT edit ui/gtk4.ui directly, as it is generated from ui/gtk3.ui!!!
make compile
Tests use GjsUnit, which is included here.
make test
Multiple systems can be tested via Docker:
make docker
Or, test a single system:
make docker_centos
make docker_debian
make docker_fedora
Please note that this can be very slow, as the images are built locally.
© 2020 Jeff Channell