From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Lennart Borgman (gmail)" Newsgroups: gmane.emacs.devel Subject: Support routines for popup menus Date: Mon, 03 Dec 2007 01:50:36 +0100 Message-ID: <475352DC.1090807@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1196643054 13903 80.91.229.12 (3 Dec 2007 00:50:54 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 3 Dec 2007 00:50:54 +0000 (UTC) To: Emacs Devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Dec 03 01:51:03 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1IyzWX-0006iB-Ex for ged-emacs-devel@m.gmane.org; Mon, 03 Dec 2007 01:51:01 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IyzWH-0000JM-4X for ged-emacs-devel@m.gmane.org; Sun, 02 Dec 2007 19:50:45 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IyzWD-0000J7-UP for emacs-devel@gnu.org; Sun, 02 Dec 2007 19:50:42 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IyzWC-0000Ib-Jo for emacs-devel@gnu.org; Sun, 02 Dec 2007 19:50:41 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IyzWC-0000IY-Cx for emacs-devel@gnu.org; Sun, 02 Dec 2007 19:50:40 -0500 Original-Received: from ch-smtp01.sth.basefarm.net ([80.76.149.212]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1IyzWC-0001ac-5y for emacs-devel@gnu.org; Sun, 02 Dec 2007 19:50:40 -0500 Original-Received: from c83-254-148-228.bredband.comhem.se ([83.254.148.228]:61059 helo=[127.0.0.1]) by ch-smtp01.sth.basefarm.net with esmtp (Exim 4.68) (envelope-from ) id 1IyzW9-0003DK-4C for emacs-devel@gnu.org; Mon, 03 Dec 2007 01:50:37 +0100 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666 X-Antivirus: avast! (VPS 071202-0, 2007-12-02), Outbound message X-Antivirus-Status: Clean X-Originating-IP: 83.254.148.228 X-Scan-Result: No virus found in message 1IyzW9-0003DK-4C. X-Scan-Signature: ch-smtp01.sth.basefarm.net 1IyzW9-0003DK-4C 8ecd9ef71ec36e821cdc190a7cf708fa X-detected-kernel: by monty-python.gnu.org: Linux 2.6? (barebone, rare!) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:84521 Archived-At: I just noticed that a library in Emacs opened a popup menu in such a way that the line it should give information about was hided. I think I have forgotten to send the two routines below which simplifies poping up menus alined to the point. Could they (or something similar) please be added to Emacs? (defun point-to-coord (point) "Return coordinates of point in selected window. The coordinates are in the form \(\(XOFFSET YOFFSET) WINDOW)." (let* ((pn (posn-at-point point)) (x-y (posn-x-y pn)) (x (car x-y)) (y (cdr x-y)) (pos (list (list x (+ y 20)) (selected-window)))) pos)) (defun popup-menu-at-point (menu &optional prefix) "Popup the given menu at point. This is similar to `popup-menu' and MENU and PREFIX has the same meaning as there. The position for the popup is however where the window point is." (let ((where (point-to-coord (point)))) (popup-menu menu where prefix)))