Add injection backends

This commit is contained in:
Thales Maciel 2026-02-06 11:50:30 -03:00
parent a7f50fed75
commit 9ee301fbeb
7 changed files with 290 additions and 4 deletions

View file

@ -11,8 +11,10 @@ import (
"strings"
"syscall"
"lel/internal/clip"
"lel/internal/config"
"lel/internal/daemon"
"lel/internal/inject"
"lel/internal/ui"
"lel/internal/x11"
@ -63,7 +65,16 @@ func main() {
}
defer x.UngrabHotkey(mods, keycode)
d := daemon.New(cfg, x, logger)
backend, err := inject.NewBackend(cfg.InjectionBackend, inject.Deps{
Clipboard: inject.ClipboardWriterFunc(clip.WriteClipboard),
Paster: inject.NewXdotoolPaster(nil),
Typer: inject.NewXdotoolTyper(nil),
})
if err != nil {
logger.Fatalf("backend error: %v", err)
}
d := daemon.New(cfg, x, logger, backend)
sockPath := filepath.Join(runtimeDir, "ctl.sock")
if err := os.RemoveAll(sockPath); err != nil {
@ -221,10 +232,21 @@ func handleConn(logger *log.Logger, conn net.Conn, d *daemon.Daemon, cfg *config
return
}
backend, err := inject.NewBackend(newCfg.InjectionBackend, inject.Deps{
Clipboard: inject.ClipboardWriterFunc(clip.WriteClipboard),
Paster: inject.NewXdotoolPaster(nil),
Typer: inject.NewXdotoolTyper(nil),
})
if err != nil {
_, _ = fmt.Fprintf(conn, "reload error: %v\n", err)
return
}
*mods = newMods
*keycode = newKeycode
*cfg = newCfg
d.UpdateConfig(newCfg)
d.UpdateBackend(backend)
_, _ = fmt.Fprintf(conn, "reloaded\n")
default: