Skip to content

Latest commit

 

History

History
80 lines (53 loc) · 1.57 KB

README.md

File metadata and controls

80 lines (53 loc) · 1.57 KB

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 -Dmax-instances=100 -Doptimize=ReleaseSafe run

--max-instances (Default: 100)

Controls how many characters can be rendered in a single draw call. Higher values typically improve performance but may cause issues on:

  • Older GPUs
  • Drivers with strict shader array limits

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 :)