cmd

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package cmd implements shotty's CLI command handlers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type App

type App struct {
	Tools  *ext.Tools
	Config *config.Config
}

App holds shared dependencies for all commands.

func NewApp

func NewApp() *App

NewApp creates an App with default (real) dependencies.

func (*App) BuildCurrentStatus

func (a *App) BuildCurrentStatus() (*WaybarStatus, error)

BuildCurrentStatus reads state and returns the current waybar status.

func (*App) RecordPause

func (a *App) RecordPause(ctx context.Context) error

RecordPause toggles pause on the current recording.

func (*App) RecordScreen

func (a *App) RecordScreen(ctx context.Context, delaySec int, audio bool, audioDevice string) error

RecordScreen starts recording the full screen.

func (*App) RecordSelect

func (a *App) RecordSelect(ctx context.Context, delaySec int, audio bool, audioDevice string) error

RecordSelect prompts for region selection then starts recording.

func (*App) RecordStop

func (a *App) RecordStop(ctx context.Context) error

RecordStop stops the current recording.

func (*App) RecordToggle

func (a *App) RecordToggle(ctx context.Context, delaySec int, audio bool, audioDevice string) error

RecordToggle starts a region recording if idle, stops if recording.

func (*App) ScreenClipboard

func (a *App) ScreenClipboard(ctx context.Context, delaySec int) error

ScreenClipboard captures the focused screen to clipboard.

func (*App) ScreenFile

func (a *App) ScreenFile(ctx context.Context, delaySec int) error

ScreenFile captures the focused screen to file.

func (*App) SelectClipboard

func (a *App) SelectClipboard(ctx context.Context, delaySec int) error

SelectClipboard captures a selected region to clipboard.

func (*App) SelectEdit

func (a *App) SelectEdit(ctx context.Context, delaySec int) error

SelectEdit captures a selected region, opens it in satty for editing.

func (*App) SelectFile

func (a *App) SelectFile(ctx context.Context, delaySec int) error

SelectFile captures a selected region to file.

func (*App) WaybarStatusCmd

func (a *App) WaybarStatusCmd(follow bool) error

WaybarStatus outputs waybar-compatible JSON. With follow=true, it polls every second and prints on change.

func (*App) WindowClipboard

func (a *App) WindowClipboard(ctx context.Context, delaySec int) error

WindowClipboard captures the focused window to clipboard.

func (*App) WindowFile

func (a *App) WindowFile(ctx context.Context, delaySec int) error

WindowFile captures the focused window to file.

type WaybarStatus

type WaybarStatus struct {
	Text    string `json:"text"`
	Tooltip string `json:"tooltip"`
	Class   string `json:"class"`
	Alt     string `json:"alt"`
}

WaybarStatus is the JSON structure expected by waybar's custom module.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL