[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "Final" version of tty child frames
From: |
Feng Shu |
Subject: |
Re: "Final" version of tty child frames |
Date: |
Wed, 23 Oct 2024 11:05:51 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Gerd Möllmann <gerd.moellmann@gmail.com> writes:
Will the below interfaces changed?
1. tty-child-frames
2. tty-non-selected-cursor
3. undecorated
If not, I have updated posframe, vertico-posframe and ivy-posframe to
support three interfaces.
> I have (re-)created the scratch/tty-child-frames branch today, which
> contains the code for child frames on ttys, based on a recent master.
>
> I'm a happy user of this for a while now with corfu, vertico +
> vertico-posframe + consult, transient + transient-posframe,
> which-key + which-key-posframe. And my current todo list is now empty,
> so here it is.
>
> To use it, redefine these two functions:
>
> #+begin_src emacs-lisp
> (defun posframe-workable-p ()
> "Test posframe workable status."
> (and (>= emacs-major-version 26)
> (not (or noninteractive
> emacs-basic-display
> (or (featurep 'tty-child-frames)
> (not (display-graphic-p)))
> (eq (frame-parameter (selected-frame) 'minibuffer)
> 'only)))))))
>
> (cl-defgeneric corfu--popup-support-p ()
> "Return non-nil if child frames are supported."
> (or (display-graphic-p)
> (featurep 'tty-child-frames)))
> #+end_src
>
>
> To make things look nicer you might also want to
>
> #+begin_src emacs-lisp
> (push '(tty-non-selected-cursor . t) vertico-posframe-parameters)
> (push '(undecorated . nil) vertico-posframe-parameters))
> (push '(undecorated . nil) transient-posframe-parameters))
> #+end_src
>
> The 'undecorated' frame parameter lets Emacs draw a border around the
> child frame (default is no border). The tty-non-selected-cursor
> parameter makes redisplay put the terminal cursor in a non-selected
> frame which I find nice for things like consult-buffer. Which is why I
> added it :-).
>
> What's there fits my personal needs entirely. I am not interested in
> full support of child frames as they exist on window systems because I
> don't see child frames being used except for things like posframe and
> corfu and similar. And, TBH, I don't find the tty frame code fun to
> work with.
>
> Other things not contained:
>
> - Support for anything but termcap frames. I bet I broke MSDOS.
> - Mouse support except with xterm-mouse-mode (no GPM).
> - Drawing borders like it is normally done (internal border and so
> on). Tried that once, git reset --hard, won't happen.
> - Tooltips. I think tooltips could relatively easily be implemented
> with child frames by copying or extracting the non-native tooltip
> code from x-show-tip or some such. From my POV, that would be best
> done by refactoring the tooltip code across window systems which I
> can't do.
> - Documentation. Would only make sense to write if this goes into GNU,
> which might or might not happen, depending on, from my side, how
> much work that is.
>
> Disclaimer: As I mentioned already in other contexts, I don't want to
> be the maintainer of anything, for personal reasons.
>
> Have fun!
>
>
--
- Re: "Final" version of tty child frames, (continued)
- Re: "Final" version of tty child frames, Eli Zaretskii, 2024/10/22
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/22
- Re: "Final" version of tty child frames, Eli Zaretskii, 2024/10/22
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/22
- Re: "Final" version of tty child frames, Eli Zaretskii, 2024/10/22
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/22
- Re: "Final" version of tty child frames, Eli Zaretskii, 2024/10/22
- Re: "Final" version of tty child frames, Paul Eggert, 2024/10/22
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/22
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/22
Re: "Final" version of tty child frames,
Feng Shu <=
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/22
- Re: "Final" version of tty child frames, Feng Shu, 2024/10/22
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/22
- Re: "Final" version of tty child frames, Feng Shu, 2024/10/22
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/23
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/23
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/23
- Re: "Final" version of tty child frames, Eli Zaretskii, 2024/10/23
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/23
- Re: "Final" version of tty child frames, Gerd Möllmann, 2024/10/23