Skip to content

Commit

Permalink
Visualizer fallback ti xdg-open
Browse files Browse the repository at this point in the history
  • Loading branch information
trezorg committed May 20, 2024
1 parent ce9b616 commit c23ec38
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 22 deletions.
32 changes: 11 additions & 21 deletions internal/visualizer/term/term.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,16 @@ import (
"github.com/BourgeoisBear/rasterm"
)

type Mode string
type GraphicMode string

const (
Sixel Mode = "sixel"
Iterm Mode = "iterm"
Kitty Mode = "kitty"
Unknown Mode = "unknown"
Sixel GraphicMode = "sixel"
Iterm GraphicMode = "iterm"
Kitty GraphicMode = "kitty"
Unknown GraphicMode = "unknown"
)

func getMode() Mode {
func Mode() GraphicMode {
if rasterm.IsKittyCapable() {
return Kitty
}
Expand Down Expand Up @@ -59,42 +59,32 @@ func showImage(w io.Writer, r io.Reader) error {
return err
}

switch getMode() {
switch Mode() {
case Iterm:

// WEZ/ITERM SUPPORT ALL FORMATS, SO NO NEED TO RE-ENCODE TO PNG
err = rasterm.ItermCopyFileInline(w, reader, ln)

case Sixel:

if iPaletted, bOK := img.(*image.Paletted); bOK {
err = rasterm.SixelWriteImage(w, iPaletted)
} else {
slog.Debug("not paletted image, skipping")
err = fmt.Errorf("not paletted image, skipping")
}

case Kitty:

if format == "png" {
// fmt.Println("Kitty PNG Local File")
// eF := rasterm.KittyWritePNGLocal(w, fpath, rasterm.KittyImgOpts{})
// fmt.Println("\nKitty PNG Inline")
if err = rasterm.KittyCopyPNGInline(w, reader, rasterm.KittyImgOpts{}); err != nil {
return err
}
// err = errors.Join(eI, eF)
} else {
if err = rasterm.KittyWriteImage(w, img, rasterm.KittyImgOpts{}); err != nil {
return err
}
}

default:
return nil

}

fmt.Println("")
if err == nil {
fmt.Println("")
}
return err
}

Expand Down
6 changes: 5 additions & 1 deletion pkg/translator/linguleo.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,11 @@ func New(version string, options ...Option) (Lingualeo, error) {
case Default:
client.Visualizer = browser.New()
case Term:
client.Visualizer = term.New()
if term.Mode() == term.Unknown {
client.Visualizer = browser.New()
} else {
client.Visualizer = term.New()
}
default:
err = fmt.Errorf("unknown visualize type: %s", client.VisualiseType)
}
Expand Down

0 comments on commit c23ec38

Please sign in to comment.