From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David De La Harpe Golden Newsgroups: gmane.emacs.devel Subject: Re: Gtk tabs in emacs, new branch. Date: Sat, 10 Apr 2010 19:44:03 +0100 Message-ID: <4BC0C6F3.6060100@harpegolden.net> References: <30298845.656931270806476838.JavaMail.www@wwinf4631> <4BBF0C6C.7000909@swipnet.se> <4BC011F5.9010505@swipnet.se> <4BC0A2EC.3060807@swipnet.se> <50923.130.55.132.80.1270917734.squirrel@webmail.lanl.gov> <4BC0B146.5020802@swipnet.se> <51053.130.55.132.80.1270919810.squirrel@webmail.lanl.gov> <4BC0BB52.7040404@swipnet.se> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1270925159 28158 80.91.229.12 (10 Apr 2010 18:45:59 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 10 Apr 2010 18:45:59 +0000 (UTC) Cc: Stefan Monnier , "Emacs Dev \[emacs-devel\]" To: =?ISO-8859-1?Q?Jan_Dj=E4rv?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Apr 10 20:45:57 2010 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.69) (envelope-from ) id 1O0fgq-0006dD-S6 for ged-emacs-devel@m.gmane.org; Sat, 10 Apr 2010 20:45:57 +0200 Original-Received: from localhost ([127.0.0.1]:42358 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O0fgq-00039q-B0 for ged-emacs-devel@m.gmane.org; Sat, 10 Apr 2010 14:45:56 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O0ff8-0002LR-Bl for emacs-devel@gnu.org; Sat, 10 Apr 2010 14:44:10 -0400 Original-Received: from [140.186.70.92] (port=46650 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O0ff6-0002KE-Vb for emacs-devel@gnu.org; Sat, 10 Apr 2010 14:44:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O0ff5-0000wv-3S for emacs-devel@gnu.org; Sat, 10 Apr 2010 14:44:08 -0400 Original-Received: from harpegolden.net ([65.99.215.13]:33373) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O0ff4-0000wp-VO for emacs-devel@gnu.org; Sat, 10 Apr 2010 14:44:07 -0400 Original-Received: from [87.198.54.207] (87-198-54-207.ptr.magnet.ie [87.198.54.207]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "David De La Harpe Golden", Issuer "David De La Harpe Golden Personal CA rev 3" (verified OK)) by harpegolden.net (Postfix) with ESMTP id 5716C9564; Sat, 10 Apr 2010 19:44:05 +0100 (IST) User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20091109) In-Reply-To: <4BC0BB52.7040404@swipnet.se> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. 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:123452 Archived-At: Jan Dj=E4rv wrote: >=20 > I just tested it, you can have zero sized widgets in the tab. But ther= e=20 > are borders the Gtk+ widget expects to draw around its children. This=20 > now comes at the top, A minor issue. I'll see if I can simplify my=20 > implementation with this approach. >=20 > Jan D. Should make interior tabs easier to implement too. hmm. So, I was wondering just how firefox tabs did their thing given the=20 quirks of a naive gtk notebook instance. People here are quite likely=20 already aware of this: Mozilla XUL's "native gtk" theme engine doesn't really use the notebook widget directly at all for its "tabbox" (or other gtk widgets=20 directly for most anything else...)! It apparently makes an examplar singleton instance of each widget then=20 borrows their (GtkStyle) style members to pass to=20 gtk_(paint|draw|style)_* functions to handle drawing lookalikes more=20 flexibly itself. You can see the idea in the mozilla sources: http://mxr.mozilla.org/seamonkey/source/widget/src/gtk2/gtk2drawing.c http://www.gtk.org/api/2.6/gtk/GtkStyle.html This apparently includes scrollbars - maybe a way around gtk's scrollbar quirks... Though recasting "gtk" emacs to use the approach throughout might be=20 ...a lot of work...