From: Eli Zaretskii <eliz@gnu.org>
To: Tomas Hlavaty <tom@logand.com>
Cc: jao@gnu.org, emacs-devel@gnu.org
Subject: Re: Implementing image support for kitty terminal
Date: Fri, 09 Sep 2022 08:43:45 +0300 [thread overview]
Message-ID: <835yhxdrvy.fsf@gnu.org> (raw)
In-Reply-To: <875yhxeiqq.fsf@logand.com> (message from Tomas Hlavaty on Thu, 08 Sep 2022 22:03:41 +0200)
> From: Tomas Hlavaty <tom@logand.com>
> Cc: jao@gnu.org, emacs-devel@gnu.org
> Date: Thu, 08 Sep 2022 22:03:41 +0200
>
> On Thu 08 Sep 2022 at 22:30, Eli Zaretskii <eliz@gnu.org> wrote:
> >> From: Tomas Hlavaty <tom@logand.com>
> >> Cc: emacs-devel@gnu.org
> >> Date: Thu, 08 Sep 2022 21:15:37 +0200
> >>
> >> The problem is, that that capability is not available in tty emacs:
> >
> > Yes, it _is_ available. We just suppress it.
>
> Interesting, is it possible to somehow "un-suppress" it?
Yes, by changing the C code not to do that.
> >> (image-size (create-image "/tmp/a.jpg"))
> >> => (error "Window system frame should be used")
> >
> > This is us deliberately failing image-size early on, because we don't
> > want complications down the road, and because we know images cannot be
> > displayed on TTY frames.
>
> I am asking emacs to tell me the size of the image.
> I am not asking emacs to display it.
But the code involved reuses some subroutines that are used for
display as well, and those signal an error.
It is never a problem with the current code because only GUI frames
can display images. To get TTY frames be capable of some of that
functionality, we need changes on the C level (and perhaps also in
Lisp), but those changes are rather mechanical -- find out which code
signals the error and modify it to do that on some new condition, or
not at all.
> >> Would it be possible to fix that?
> >
> > I don't see why it would be hard. E.g., this works just fine in a -nw
> > session:
> >
> > (create-image "/tmp/a.jpg")
>
> Why does create-image work and image-size does not?
See above.
> Also this returns:
>
> (image :type jpeg :file "/tmp/a.jpg" :scale 1 :transform-smoothing t)
>
> which does not tell me image width and height that I'd like to know.
Of course. create-image isn't supposed to return the size. It was
just an example to show to you that some image-related functionality
does work on TTY frames; I didn't say that create-image is enough to
get the size.
> > Emacs already knows how to compute the size of an image.
>
> So how do I get the size of an image?
>
> My tty emacs does not know that, I get this error:
>
> (image-size (create-image "/tmp/a.jpg"))
> => (error "Window system frame should be used")
See above.
> Maybe tty emacs already knows how to compute the size of an image, but I
> have not figured a way of asking my tty emacs to share that information
> with me. Is there a way?
See above: you need changes on the C level.
next prev parent reply other threads:[~2022-09-09 5:43 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-07 15:50 Implementing image support for kitty terminal Jose Antonio Ortega Ruiz
2022-09-07 17:10 ` Tomas Hlavaty
2022-09-07 18:11 ` Eli Zaretskii
2022-09-07 18:49 ` Jose A Ortega Ruiz
2022-09-07 19:41 ` Eli Zaretskii
2022-09-07 20:09 ` Jose A Ortega Ruiz
2022-09-08 6:51 ` Eli Zaretskii
2022-09-07 20:11 ` Stefan Monnier
2022-09-08 5:30 ` Eli Zaretskii
2022-09-08 12:47 ` Gerd Möllmann
2022-09-08 13:54 ` Eli Zaretskii
2022-09-08 14:03 ` Gerd Möllmann
2022-09-08 14:24 ` Gerd Möllmann
2022-09-08 16:04 ` Eli Zaretskii
2022-09-09 4:59 ` Gerd Möllmann
2022-09-09 12:19 ` Stefan Monnier
2022-09-09 12:53 ` Eli Zaretskii
2022-09-09 12:59 ` Gerd Möllmann
2022-09-09 13:17 ` tomas
2022-09-09 14:10 ` Gerd Möllmann
2022-09-09 14:20 ` Eli Zaretskii
2022-09-09 14:27 ` Gerd Möllmann
2022-09-09 15:12 ` Stefan Monnier
2022-09-10 7:52 ` Gerd Möllmann
2022-09-10 14:13 ` Optimizing tty display update (was: Implementing image support for kitty terminal) Stefan Monnier
2022-09-10 14:17 ` Gerd Möllmann
2022-09-10 14:25 ` Eli Zaretskii
2022-09-10 14:29 ` Gerd Möllmann
2022-09-10 15:14 ` Optimizing tty display update Stefan Monnier
2022-09-11 10:21 ` Gerd Möllmann
2022-09-11 1:09 ` Po Lu
2022-09-11 4:44 ` Gerd Möllmann
2022-09-11 5:32 ` VCS forensics (was: Optimizing tty display update) Eli Zaretskii
2022-09-11 5:51 ` VCS forensics Gerd Möllmann
2022-09-10 16:54 ` Optimizing tty display update Lars Ingebrigtsen
2022-09-10 8:06 ` Implementing image support for kitty terminal Kyaw Thu Soe
2022-09-09 13:27 ` Stefan Monnier
2022-09-08 16:00 ` Eli Zaretskii
2022-09-09 4:58 ` Gerd Möllmann
2022-09-07 18:56 ` Tomas Hlavaty
2022-09-07 19:51 ` Eli Zaretskii
2022-09-08 18:30 ` Tomas Hlavaty
2022-09-08 18:45 ` Eli Zaretskii
2022-09-08 19:45 ` Tomas Hlavaty
2022-09-08 20:33 ` Jose A Ortega Ruiz
2022-09-08 20:29 ` Jose A Ortega Ruiz
2022-09-08 20:52 ` Tomas Hlavaty
2022-09-08 21:47 ` Jose A Ortega Ruiz
2022-09-08 22:21 ` Óscar Fuentes
2022-09-08 22:46 ` Tomas Hlavaty
2022-09-09 5:48 ` Jose A Ortega Ruiz
2022-09-08 22:43 ` Tomas Hlavaty
2022-09-08 23:32 ` Jose A Ortega Ruiz
2022-09-09 1:43 ` Po Lu
2022-09-09 5:52 ` Jose A Ortega Ruiz
2022-09-09 7:25 ` Po Lu
2022-09-09 6:06 ` Eli Zaretskii
2022-09-09 6:21 ` Jose A Ortega Ruiz
2022-09-09 6:43 ` Eli Zaretskii
2022-09-09 14:56 ` Jose A Ortega Ruiz
2022-09-09 15:20 ` chad
2022-09-09 15:34 ` Jose A Ortega Ruiz
2022-09-10 2:56 ` Tomas Hlavaty
2022-09-10 3:35 ` Visuwesh
2022-09-10 6:01 ` Tomas Hlavaty
2022-09-10 6:51 ` Po Lu
2022-09-10 19:52 ` Tomas Hlavaty
2022-09-09 15:25 ` Stefan Monnier
2022-09-09 16:15 ` Eli Zaretskii
2022-09-10 0:45 ` Jose A Ortega Ruiz
2022-09-10 6:15 ` Eli Zaretskii
2022-09-09 1:41 ` Po Lu
2022-09-09 5:53 ` Jose A Ortega Ruiz
2022-09-22 17:31 ` Memory problems update (was: Implementing image support for kitty terminal) Jose Antonio Ortega Ruiz
2022-09-23 0:29 ` Memory problems update Po Lu
2022-09-23 1:11 ` Jose A Ortega Ruiz
2022-09-23 6:08 ` Eli Zaretskii
2022-09-23 21:46 ` Jose A Ortega Ruiz
2022-09-23 21:57 ` Jose A Ortega Ruiz
2022-09-23 23:32 ` Jose A Ortega Ruiz
2022-09-24 0:20 ` Po Lu
2022-09-24 12:59 ` Jose A Ortega Ruiz
2022-09-23 5:33 ` Memory problems update (was: Implementing image support for kitty terminal) Eli Zaretskii
2022-09-23 22:01 ` Jose A Ortega Ruiz
2022-09-24 6:25 ` Eli Zaretskii
2022-09-24 6:33 ` Memory problems update Po Lu
2022-09-24 12:53 ` Jose A Ortega Ruiz
2022-09-09 1:40 ` Implementing image support for kitty terminal Po Lu
2022-09-09 5:56 ` Jose A Ortega Ruiz
2022-09-07 19:59 ` Jose A Ortega Ruiz
2022-09-08 11:13 ` Akib Azmain Turja
2022-09-08 13:25 ` Jose A Ortega Ruiz
2022-09-08 19:26 ` Tomas Hlavaty
2022-09-08 19:15 ` Tomas Hlavaty
2022-09-08 19:30 ` Eli Zaretskii
2022-09-08 20:03 ` Tomas Hlavaty
2022-09-09 5:43 ` Eli Zaretskii [this message]
2022-09-10 3:02 ` Tomas Hlavaty
2022-09-08 10:59 ` Akib Azmain Turja
2022-09-08 13:44 ` Eli Zaretskii
2022-09-08 9:13 ` Akib Azmain Turja
2022-09-08 19:31 ` Tomas Hlavaty
-- strict thread matches above, loose matches on Subject: below --
2022-09-10 10:15 xenodasein--- via Emacs development discussions.
2022-09-10 10:38 ` Eli Zaretskii
2022-09-10 11:06 ` xenodasein--- via Emacs development discussions.
2022-09-10 11:13 ` Akib Azmain Turja
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=835yhxdrvy.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=jao@gnu.org \
--cc=tom@logand.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).