warpd config

Posted on:October 27, 2023

Warpd is an executable package availiable across all operating systems, that provides a modal keyboard driven interface to manipulate the mouse. The keybinds it provides mimic default vim motions, allowing for a suprisingly efficent addition to any vim user’s workflow.

Why install this tool?

If you’re a vim user, and you’re not already using a tiling window manager, what are you doing? If you’re sadly in this group of developers, I would strongly urge you to give this tool a try. Mapping the Warpd command to an easily accessible keybind will give you a semi-close experience to what most good window managers provide out of the box.

Now, as linux user myself (daily driving POP!_OS), I must admit that this tool isn’t something I use very often. Most applications in my setup, are configured to have vim bindings. I use vimium along with firenvim for my browser, ranger for my file manager, and various other tools to use vim motions in every place I can. Having a window manager that uses vim motions on top of all that, allows for me to smoothly navigate through my machine almost all of the time. However, there is still times where even all that isn’t enough. This is where adding warpd into my toolbelt has urged me to show it some love. While it may sound like a rather niche tool, its functionality has provided me a never failing safety net of vim comfort. It makes it extremely simple to connect a bluetooth mouse, and it signficantly eases the jarring situation of working on a dev station that doesn’t have a tiling window manager.

If you want to try out this tool, install it here.

Then navigate over to ~/.config/warpd/ and write a config file.

Here’s mine below:

drag_button: 1
buttons: Return - backspace
buttons: i space tab
oneshot_buttons: i space tab
oneshot_buttons: Return - backspace

cursor_color: #00cef5
cursor_size: 10


indicator: bottomleft
indicator_color: #5b00f5
indicator_size: 15

screen: Super_L
screen: s
screen_chars: lh

grid: C-f
grid_exit: C-c

decelerator: Control_L
accelerator: Shift_L

top: g
middle: m
bottom: G
start: H
end: L

hint: f

hint_fgcolor: #c0c6e2
hint_bgcolor: #797fd4
hint_size: 25
hint_border_radius: 10
hint_exit: KP_Enter
hint_chars: adh;roipmnquwt

hist_back: u
hist_forward: C-r

copy_and_exit: y

scroll_down: C-d
scroll_up: C-u

exit: C-c

speed: 180

This config is tailored pretty heavily to my own neovim keybinds. To customize it more to your liking see it’s manpage, as well as the following commands:

warpd --list-options
warpd --list-keys