Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: use kitty image protocol in ghostty #405

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mfontanini
Copy link
Owner

This detects ghostty and uses the kitty graphics protocol on it by default. I don't have access to ghostty yet so I can't test this but based on this article TERM_PROGRAM=ghostty is the way to detect this. If it implements the protocol correctly, this should work out of the box.

@fredrikaverpil could I ask for your help here? :)

@fredrikaverpil
Copy link

fredrikaverpil commented Dec 15, 2024

Hey @mfontanini absolutely. I just ran cargo install --git https://github.com/mfontanini/presenterm , as per the docs to build a new ~/.cargo/bin/presenterm.

But it doesn't look like that made a difference... 🤔

Build log
❯ cargo install --git https://github.com/mfontanini/presenterm
    Updating git repository `https://github.com/mfontanini/presenterm`
  Installing presenterm v0.9.0 (https://github.com/mfontanini/presenterm#ec192d14)
    Updating crates.io index
   Compiling proc-macro2 v1.0.92
   Compiling unicode-ident v1.0.14
   Compiling libc v0.2.168
   Compiling serde v1.0.216
   Compiling cfg-if v1.0.0
   Compiling memchr v2.7.4
   Compiling autocfg v1.4.0
   Compiling fnv v1.0.7
   Compiling strsim v0.11.1
   Compiling ident_case v1.0.1
   Compiling itoa v1.0.14
   Compiling rustversion v1.0.18
   Compiling byteorder v1.5.0
   Compiling crossbeam-utils v0.8.20
   Compiling simd-adler32 v0.3.7
   Compiling regex-syntax v0.8.5
   Compiling shlex v1.3.0
   Compiling cc v1.2.4
   Compiling ryu v1.0.18
   Compiling aho-corasick v1.1.3
   Compiling quote v1.0.37
   Compiling syn v2.0.90
   Compiling pkg-config v0.3.31
   Compiling adler2 v2.0.0
   Compiling serde_json v1.0.133
   Compiling prettyplease v0.2.25
   Compiling miniz_oxide v0.8.0
   Compiling crossbeam-epoch v0.9.18
   Compiling lock_api v0.4.12
   Compiling onig_sys v69.8.1
   Compiling regex-automata v0.4.9
   Compiling crc32fast v1.4.2
   Compiling rayon-core v1.12.1
   Compiling tinyvec_macros v0.1.1
   Compiling once_cell v1.20.2
   Compiling hashbrown v0.15.2
   Compiling equivalent v1.0.1
   Compiling heck v0.5.0
   Compiling signal-hook v0.3.17
   Compiling powerfmt v0.2.0
   Compiling utf8parse v0.2.2
   Compiling bitflags v1.3.2
   Compiling rustix v0.38.42
   Compiling parking_lot_core v0.9.10
   Compiling anstyle-parse v0.2.6
   Compiling indexmap v2.7.0
   Compiling deranged v0.3.11
   Compiling tinyvec v1.8.0
   Compiling flate2 v1.0.35
   Compiling regex v1.11.1
   Compiling darling_core v0.20.10
   Compiling crossbeam-deque v0.8.5
   Compiling errno v0.3.10
   Compiling signal-hook-registry v1.4.2
   Compiling getrandom v0.2.15
   Compiling num-traits v0.2.19
   Compiling thiserror v1.0.69
   Compiling smallvec v1.13.2
   Compiling colorchoice v1.0.3
   Compiling num-conv v0.1.0
   Compiling log v0.4.22
   Compiling either v1.13.0
   Compiling is_terminal_polyfill v1.70.1
   Compiling scopeguard v1.2.0
   Compiling anstyle v1.0.10
   Compiling anstyle-query v1.1.2
   Compiling caseless v0.2.1
   Compiling heapless v0.8.0
   Compiling time-core v0.1.2
   Compiling time v0.3.37
   Compiling anstream v0.6.18
   Compiling serde_derive v1.0.216
   Compiling zerocopy-derive v0.7.35
   Compiling darling_macro v0.20.10
   Compiling darling v0.20.10
   Compiling bon-macros v3.3.0
   Compiling zerocopy v0.7.35
   Compiling thiserror-impl v1.0.69
   Compiling mio v1.0.3
   Compiling ppv-lite86 v0.2.20
   Compiling rand_core v0.6.4
   Compiling unicode-normalization v0.1.24
   Compiling serde_derive_internals v0.29.1
   Compiling fdeflate v0.3.7
   Compiling quick-xml v0.32.0
   Compiling hash32 v0.3.1
   Compiling schemars v0.8.21
   Compiling color_quant v1.1.0
   Compiling option-ext v0.2.0
   Compiling minimal-lexical v0.2.1
   Compiling deunicode v1.6.0
   Compiling clap_lex v0.7.4
   Compiling quick-error v2.0.1
   Compiling semver v1.0.24
   Compiling base64 v0.22.1
   Compiling stable_deref_trait v1.2.0
   Compiling same-file v1.0.6
   Compiling weezl v0.1.8
   Compiling zune-core v0.4.12
   Compiling thiserror v2.0.7
   Compiling byteorder-lite v0.1.0
   Compiling bon v3.3.0
   Compiling image-webp v0.2.0
   Compiling gif v0.13.1
   Compiling zune-jpeg v0.4.14
   Compiling onig v6.4.0
   Compiling walkdir v2.5.0
   Compiling clap_builder v4.5.23
   Compiling slug v0.1.6
   Compiling bitflags v2.6.0
   Compiling plist v1.7.0
   Compiling bincode v1.3.3
   Compiling nom v7.1.3
   Compiling schemars_derive v0.8.21
   Compiling dirs-sys v0.4.1
   Compiling png v0.17.15
   Compiling rayon v1.10.0
   Compiling signal-hook-mio v0.2.4
   Compiling rand_chacha v0.3.1
   Compiling parking_lot v0.12.3
   Compiling serde_with_macros v3.11.0
   Compiling clap_derive v4.5.18
   Compiling strum_macros v0.26.4
   Compiling thiserror-impl v2.0.7
   Compiling bytemuck v1.20.0
   Compiling unsafe-libyaml v0.2.11
   Compiling unicode_categories v0.1.1
   Compiling fastrand v2.3.0
   Compiling presenterm v0.9.0 (/Users/fredrik/.cargo/git/checkouts/presenterm-430e1a37a4636f24/ec192d1)
   Compiling lazy_static v1.5.0
   Compiling typed-arena v2.0.2
   Compiling dyn-clone v1.0.17
   Compiling entities v1.0.1
   Compiling unicode-width v0.1.14
   Compiling comrak v0.31.0
   Compiling syntect v5.2.0
   Compiling console v0.15.8
   Compiling clap v4.5.23
   Compiling strum v0.26.3
   Compiling image v0.25.5
   Compiling serde_yaml v0.9.34+deprecated
   Compiling serde_with v3.11.0
   Compiling tempfile v3.14.0
   Compiling crossterm v0.28.1
   Compiling rand v0.8.5
   Compiling ansi-parser v0.9.1
   Compiling directories v5.0.1
   Compiling merge-struct v0.1.0
   Compiling itertools v0.13.0
   Compiling os_pipe v1.2.1
   Compiling hex v0.4.3
   Compiling unicode-width v0.2.0
   Compiling tl v0.7.8
    Finished release [optimized] target(s) in 1m 11s
  Installing /Users/fredrik/.cargo/bin/presenterm
   Installed package `presenterm v0.9.0 (https://github.com/mfontanini/presenterm#ec192d14)` (executable `presenterm`)
$ echo $TERM_PROGRAM
ghostty

$ ~/.cargo/bin/presenterm examples/demo.md
image

@mfontanini
Copy link
Owner Author

Hmm interesting... I'll have to wait until it's publicly available then :(. Thanks for trying it out!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants