/Seto

Hardware accelerated keyboard driven screen selection tool for wayland compositors

Primary LanguageZigGNU General Public License v3.0GPL-3.0

Seto

Hardware accelerated keyboard driven screen selection tool.

preview.mp4

Building

  1. Install dependencies:
  • zig
  • wayland
  • libxkbcommon
  • libGL
  • freetype
  • fontconfig
  • ydotool (optional: tests)
  • scdoc (optional: man pages)
  1. Clone the repository:
git clone https://github.com/unixpariah/seto.git
cd seto
  1. Build and run
zig build -Doptimize=ReleaseSafe run

Configuration

Configuration can be done using lua. By default, seto will look for config at ~/.config/seto/config.lua.

You can also specify a custom path to your configuration directory:

seto -c <PATH>

Run man 5 seto for more information

Examples

Select single point and print it to stdout:

seto

Select region instead of single point:

seto -r

Take screenshot with grim

grim -g $(seto -r) - | wl-copy -t image/png

Output just x and y positions move mouse, and click using ydotool (specific syntax for escaping newline works in bash and zsh but may not in other shells):

ydotool mousemove -a $(seto -f $'%x %y\n') && ydotool click 0xC0

Took a lot of inspirations from slurp :)