all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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



             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.