From: Aaron Jensen <aaronjensen@gmail.com>
To: emacs-devel@gnu.org
Subject: How do I position a child-frame below the point?
Date: Fri, 05 Jan 2018 23:29:54 -0800 [thread overview]
Message-ID: <m2wp0v1m31.fsf@gmail.com> (raw)
Hi,
I have a few questions about child-frames.
Question #1: I'm trying to create a new child-frame and position it
below the point in the parent frame. If I don't use a child-frame, this
isn't hard:
(defun make-peek-frame ()
(interactive)
(let* ((current-frame (selected-frame))
(abs-pixel-pos (save-excursion
(beginning-of-thing 'symbol)
(window-absolute-pixel-position)))
(x (car abs-pixel-pos))
(y (+ (cdr abs-pixel-pos) (frame-char-height)))
(buffer (get-buffer-create "*Child Frame*"))
(peek-frame (make-frame `(
(unsplittable . t)
(name . "*Peek Frame*")
(width . 80)
(visibility . nil)
(cursor-type . nil)
(height . 15)))))
(set-frame-position peek-frame x y)
(with-selected-frame peek-frame
(set-window-buffer (car (window-list)) buffer)
(with-current-buffer buffer
(let ((inhibit-read-only t))
(erase-buffer)
(insert "HELLO WORLD"))
(setq-local mode-line-format nil)
(recenter-top-bottom 0)
(read-only-mode))
(raise-frame peek-frame))
(select-frame current-frame)))
However, if I try this with a child-frame then I'm in frame local
coordinates and I have no idea how to get the appropriate frame local
coordinates for the current point.
Question #2:
How do I raise the child frame on macOS without selecting it? I only
want to display it above the current frame, I don't want it to have
focus.
Question #3:
How do I hide the point? I've tried (cursor-type . nil) as above, but it
shows up as a block nonetheless. I do wonder if evil is doing that,
however...
Thanks,
Aaron
next reply other threads:[~2018-01-06 7:29 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-06 7:29 Aaron Jensen [this message]
2018-01-07 13:26 ` How do I position a child-frame below the point? Alan Third
2018-01-07 16:09 ` martin rudalics
2018-01-07 16:09 ` martin rudalics
2018-01-07 19:44 ` Aaron Jensen
2018-01-08 5:30 ` Aaron Jensen
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2wp0v1m31.fsf@gmail.com \
--to=aaronjensen@gmail.com \
--cc=emacs-devel@gnu.org \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.