Hypr mouse control for Hyprland
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2024-07-21 23:48:59 +02:00
.idea Init 2024-03-06 18:34:50 +01:00
hyprmouse.conf Added a few new config options and made some optimization, lots of qol changes 2024-07-01 14:11:19 +02:00
Hyprmouse.py Fixed a bug where hex_string wasn't cast to a string 2024-07-21 23:48:59 +02:00
Icon.kra Added the icon 2024-03-12 09:14:52 +01:00
Icon.kra~ Added the icon 2024-03-12 09:14:52 +01:00
Icon.svg Added the icon 2024-03-12 09:14:52 +01:00
LICENSE Init 2024-03-06 18:51:54 +01:00
README.md Added all the new config options to README.md 2024-07-01 14:28:22 +02:00

Hyprmouse

Hyprmouse

Control the mouse with your keyboard using Vim Motions

A highly customizeable Hyprland overlay that enables you to never move your hands away from the keyboard.

Requirements

Binds

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

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 as key = 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 shown
  • show_background = True - bool - Will the background be shown
  • show_grid = True - bool - Will the grid be shown
  • show_dots = True - bool - Will the dots be shown
  • show_numbers = True - bool - Will the numbers be shown
  • follow_mouse = False - bool - Will the UI be relative to the cursor
  • default_delta = 10 - int - Default movement delta
  • reset_on_jump = False - bool - Whether to reset dir and delta when jumping
  • set_dir_on_move = True - bool - Whether to set dir when moving
  • toggle_dir = True - bool - Pressing the same sign twice will toggle the direction
  • reset_delta_to_default = True - bool - Whether to reset delta to the default_delta or 0
  • clear_delta_on_initial_input = True - bool - Whether to clear delta on initial number input
  • clear_delta_on_input_after_move = True - bool - Whether to clear delta on number input after moving
  • reset_pos_on_start = False - bool - Will the cursor be moved to the middle on start
  • format = x, y - string - How will the coordinates be formatted
  • font = Cascadia Code - string - Font that the UI will use
  • font_size = 30 - int - Font size
  • background_color = #000000 - string - Color of the background
  • grid_color = #5E81AC - string - Color of the grid
  • dot_color = #EBCB8B - string - Color of dots
  • text_color = #ECEFF4 - string - Color of the text
  • text_outline_color = #2E3440 - string - Color of the text outline
  • fps = 60 - int - Framerate at which the app will be redrawn
  • background_opacity = 0.5 - float - Opacity of the background
  • spacing = 400 - int - Spacing between grid lines
  • grid_thickness = 1 - float - Thickness of grid lines
  • dot_radius = 3 - float - Radius of dots
  • text_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

Thanks

- Vaxry

For making Hyprland and majority of tools this app is based on - "the fuck is an overlay"

- outfoxxed

For suggesting an approach for making an overlay and pointing me in the right direction

- PoutineBurgerMan

For letting me know that hyprctl cursorpos exists