From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?ISO-8859-1?Q?Jan_Dj=E4rv?= Newsgroups: gmane.emacs.devel Subject: Re: Gtk tabs in emacs, new branch. Date: Sat, 10 Apr 2010 21:14:12 +0200 Message-ID: <4BC0CE04.2090709@swipnet.se> 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> <4BC0C6F3.6060100@harpegolden.net> 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 1270926872 921 80.91.229.12 (10 Apr 2010 19:14:32 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 10 Apr 2010 19:14:32 +0000 (UTC) Cc: Stefan Monnier , "Emacs Dev \[emacs-devel\]" To: David De La Harpe Golden Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Apr 10 21:14:27 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 1O0g8P-0007QO-7A for ged-emacs-devel@m.gmane.org; Sat, 10 Apr 2010 21:14:25 +0200 Original-Received: from localhost ([127.0.0.1]:49485 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O0g8O-0006G8-Ju for ged-emacs-devel@m.gmane.org; Sat, 10 Apr 2010 15:14:24 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O0g8J-0006Fp-S4 for emacs-devel@gnu.org; Sat, 10 Apr 2010 15:14:19 -0400 Original-Received: from [140.186.70.92] (port=35511 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O0g8H-0006Fg-TO for emacs-devel@gnu.org; Sat, 10 Apr 2010 15:14:19 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O0g8F-0005lN-Ml for emacs-devel@gnu.org; Sat, 10 Apr 2010 15:14:17 -0400 Original-Received: from smtprelay-b12.telenor.se ([62.127.194.21]:58594) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O0g8F-0005l7-Bg for emacs-devel@gnu.org; Sat, 10 Apr 2010 15:14:15 -0400 Original-Received: from ipb3.telenor.se (ipb3.telenor.se [195.54.127.166]) by smtprelay-b12.telenor.se (Postfix) with ESMTP id 3CCEBD7D9 for ; Sat, 10 Apr 2010 21:14:14 +0200 (CEST) X-SENDER-IP: [85.225.45.110] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Alg3ABNrwEtV4S1uPGdsb2JhbACbRQwBAQEBNS25PoUMBA X-IronPort-AV: E=Sophos;i="4.52,182,1270418400"; d="scan'208";a="506368603" Original-Received: from c-6e2de155.25-1-64736c10.cust.bredbandsbolaget.se (HELO coolsville.localdomain) ([85.225.45.110]) by ipb3.telenor.se with ESMTP; 10 Apr 2010 21:14:13 +0200 Original-Received: from [172.20.199.2] (gaffa [172.20.199.2]) by coolsville.localdomain (Postfix) with ESMTP id 10A597FA01A; Sat, 10 Apr 2010 21:14:13 +0200 (CEST) User-Agent: Thunderbird 2.0.0.24 (X11/20100317) In-Reply-To: <4BC0C6F3.6060100@harpegolden.net> 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:123456 Archived-At: David De La Harpe Golden skrev: > Jan Dj=E4rv wrote: >> >> I just tested it, you can have zero sized widgets in the tab. But=20 >> there are borders the Gtk+ widget expects to draw around its=20 >> children. This now comes at the top, A minor issue. I'll see if I=20 >> can simplify my implementation with this approach. >> >> Jan D. >=20 > Should make interior tabs easier to implement too. hmm. >=20 > 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: >=20 > 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...)! >=20 > 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. >=20 > You can see the idea in the mozilla sources: > http://mxr.mozilla.org/seamonkey/source/widget/src/gtk2/gtk2drawing.c It is a clever hack, but I don't fancy drawing tabs "manually", handling=20 drag&drop, memory allocations and so on. It is a big job. >=20 > http://www.gtk.org/api/2.6/gtk/GtkStyle.html Actually 2.6 is quite old, we even require 2.10 for Emacs. 2.20 is curre= nt. >=20 > This apparently includes scrollbars - maybe a way around gtk's scrollba= r > quirks... >=20 > Though recasting "gtk" emacs to use the approach throughout might be=20 > ...a lot of work... And kind of meaningless to use a toolkit in the first place. The widgets= are=20 supposed to simplify things after all. Jan D.