From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: GTK interface modification Date: Wed, 15 Aug 2018 10:07:12 +0200 Message-ID: <5B73DF30.9010803@gmx.at> References: <0520ad1f-1b7a-dd80-5030-00c07754d9c4@djstauffer.com> <5B728E51.3070708@gmx.at> <70782a8a-8e7c-4f4b-819c-7996ace07bca@djstauffer.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1534320334 11114 195.159.176.226 (15 Aug 2018 08:05:34 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 15 Aug 2018 08:05:34 +0000 (UTC) To: DJ Stauffer , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Aug 15 10:05:30 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fpqo6-0002mu-9R for ged-emacs-devel@m.gmane.org; Wed, 15 Aug 2018 10:05:30 +0200 Original-Received: from localhost ([::1]:47930 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fpqqC-0002Nj-Qc for ged-emacs-devel@m.gmane.org; Wed, 15 Aug 2018 04:07:40 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33068) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fpqpy-0002KC-Py for emacs-devel@gnu.org; Wed, 15 Aug 2018 04:07:29 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fpqpv-0007mO-E5 for emacs-devel@gnu.org; Wed, 15 Aug 2018 04:07:26 -0400 Original-Received: from mout.gmx.net ([212.227.15.15]:43733) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fpqpu-0007iH-UG for emacs-devel@gnu.org; Wed, 15 Aug 2018 04:07:23 -0400 Original-Received: from [192.168.1.101] ([46.125.249.24]) by mail.gmx.com (mrgmx002 [212.227.17.190]) with ESMTPSA (Nemesis) id 0MVe87-1fNSbg1drL-00Z3Is; Wed, 15 Aug 2018 10:07:19 +0200 In-Reply-To: <70782a8a-8e7c-4f4b-819c-7996ace07bca@djstauffer.com> X-Provags-ID: V03:K1:BqRNZcIQ0KDOgaBlTseTKe+zifROye9FkwsKm+QHPy/iDiSz9zX 63AF3B0VIWw9bXUC1jWcDPlPErE7URfRwMx3zEsctSTP+/erudlAbgRhEag+BGbPIhD8Tga 79EqPc36AL1IkHE4Ncrb6rS4bF4zPm7/3xEG1Ve+W8jFCPjlISUx1APM6HB/qOZIvK29+R3 PsHhXCCBdPRPQxiT4lS1Q== X-UI-Out-Filterresults: notjunk:1;V01:K0:Vx/hpiR9dC4=:4JnZHXpM1dl1VQLWX6Ok/E b8QDdfpUbbOZDzJQQKE9a7Ie5owZKv2wGMfZwZcPLZwCoslpBmx+Zr5Pr2LvkjZyyQqhzpz9d 8alJXZPEZXj0WPM+nwz2eyc+Pg5kobibYlN6ZeXVFGkjO7qJ9n72Y8ialuHVbxzibzXSXv3Ub hf+E8Wvapeze59xLrjN2L8Ky7aa6HAzSI2KhUFFx5yIWjjZGKdG7ncGnDqPrkWxxGSTyWwiZ3 YlQ/QUoDLwNOLKrySgWmSlwD9RVZ9dZQUoDWFPgYtoqMhxhsVn2LjmhID3hvghtETM8xcX0ZK 9dmB+YigOUWJSXA4f99ouzxBD0Oq6WBWtlTC+UnftJ6LMFPMfCG+JLpGO4irKV7/bqXxk6p/q cIjLUE4cLonCHQEJxRYMtUkx3ZD20VZHqJHnItut+wMaMMMsYVgk01CWk6sfGX1uaP8ew+D5I +t/n8+shycOCt4D7YgLpw4c+aPY9rlPbQmazw9pj6gEA3cB6jEsLjZCWbGMmR46qfLtj8OWMy e/mXUpG4egtoIYJUKJEljlqcDjXr8JhpZZt7LhCeKhLHD+zK3TdoM7V4AubhAbTfzIol40D7r jbvoliU+rZPlSC1VcFl+ElggwSnfummHJ/XoMew7WE/R4KrQxScuKNmHM+FitTX46gkxpkFt3 17kfeQhXogXJFK47BEK47bIsCAbwBtKqXHmc0a/E0Tn8g406mmYu4D+wXlMqfYf2V2Hc8VAXx kUNlf0agcftp23dPdsVM/1wwDZmOki3Lb9rblXwkLqUAi5JiJLWyGIGEzpm/REBmlFPHk/s1 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.15.15 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:228550 Archived-At: > > And finally you have to actually redraw the border when a window gets > > (de-)selected, the appropriate moments given by the mode-line code. > > ^ Is this also in xdisp.c, or is that code elsewhere? The call where the "real selected window" is known is in xdisp.c's display_mode_lines as /* Select mode line face based on the real selected window. */ display_mode_line (w, CURRENT_MODE_LINE_FACE_ID_3 (sel_w, sel_w, w), NILP (window_mode_line_format) ? BVAR (current_buffer, mode_line_format) : window_mode_line_format); and you probably want to set w->must_be_updated_p = true; as well. The routine actually changing the appearance of W's border will then have to check whether W has the selected appearance already set. If not, you have to redraw W's border and that of the previously selected window of W's frame accordingly. I'm not sure where to actually draw the border on glass though. You can look at where window dividers are drawn but these are merely statically bound to windows and do not depend on whether a window is actually selected. You will have to play around then. martin