A highly customizeable Hyprland overlay that enables you to never move your hands away from the keyboard.
- Hyprland
- ydotool(make sure to start the ydotoold process or my app won't work)
- Cairo
- GTK3
- GTK Layer Shell
- PyGObject
Custom keybinds will be supported shortly
- DEL - Force quit the app
- ESC - Return to the initial position and close the overlay
- Return - Confirm the new position and close the overlay
- 0-9 - Enter a digit
- B/b/Backspace - Delete a digit
- +/= - Switch to positive direction
- -/= - Switch to negative direction
- I/i - Invert direction
- X/x - Jump on the X axis in the set direction
- Y/y - Jump on the Y axis in the set direction
- R/r - Move to the center of the screen
- D/d - Reset delta
- U/u - Undo the last position change
- H/h/← - Move left
- J/j/↓ - Move down
- K/k/↑ - Move up
- l/l/→ - Move right
Config file should be located in ~/.config/hypr/hyprmouse.conf
Some of the things to keep in mind:
- All of the following values are valid for bools:
True
/true
,False
/false
- All the colors must be provided as HEX values, # is not required
- Keep the fps relatively low, it can have a huge impact on the performance
- Spaces don't matter,
key=value
is just as fine askey = value
- Font will be retrieved from your gtk settings but you can overwrite it and adjust the size
Example provided below contains all the options
show_ui = True
- bool - Will the UI be shownshow_background = True
- bool - Will the background be shownshow_grid = True
- bool - Will the grid be shownshow_dots = True
- bool - Will the dots be shownshow_numbers = True
- bool - Will the numbers be shownfollow_mouse = False
- bool - Will the UI be relative to the cursordefault_delta = 10
- int - Default movement deltareset_on_jump = False
- bool - Whether to reset dir and delta when jumpingset_dir_on_move = True
- bool - Whether to set dir when movingtoggle_dir = True
- bool - Pressing the same sign twice will toggle the directionreset_delta_to_default = True
- bool - Whether to reset delta to thedefault_delta
or 0clear_delta_on_initial_input = True
- bool - Whether to clear delta on initial number inputclear_delta_on_input_after_move = True
- bool - Whether to clear delta on number input after movingreset_pos_on_start = False
- bool - Will the cursor be moved to the middle on startformat = x, y
- string - How will the coordinates be formattedfont = Cascadia Code
- string - Font that the UI will usefont_size = 30
- int - Font sizebackground_color = #000000
- string - Color of the backgroundgrid_color = #5E81AC
- string - Color of the griddot_color = #EBCB8B
- string - Color of dotstext_color = #ECEFF4
- string - Color of the texttext_outline_color = #2E3440
- string - Color of the text outlinefps = 60
- int - Framerate at which the app will be redrawnbackground_opacity = 0.5
- float - Opacity of the backgroundspacing = 400
- int - Spacing between grid linesgrid_thickness = 1
- float - Thickness of grid linesdot_radius = 3
- float - Radius of dotstext_outline_thickness = 1
- float - Thickness of the text outline(I would advise against going above 2)text_y_offset = 0
- float - Y offset applied to text
- Vaxry
For making Hyprland and majority of tools this app is based on - "the fuck is an overlay"
For suggesting an approach for making an overlay and pointing me in the right direction
For letting me know that hyprctl cursorpos exists