Re: compile error of current git on F15
[notmuch-archives.git] / 58 / f0e55232116a85f8adee63dd67939279359fd5
1 Return-Path: <patricktotzke@googlemail.com>\r
2 X-Original-To: notmuch@notmuchmail.org\r
3 Delivered-To: notmuch@notmuchmail.org\r
4 Received: from localhost (localhost [127.0.0.1])\r
5         by olra.theworths.org (Postfix) with ESMTP id 5CE8B431FD0\r
6         for <notmuch@notmuchmail.org>; Fri, 20 May 2011 03:47:29 -0700 (PDT)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: 1.976\r
10 X-Spam-Level: *\r
11 X-Spam-Status: No, score=1.976 tagged_above=-999 required=5\r
12         tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,\r
13         FREEMAIL_FROM=0.001, FREEMAIL_REPLYTO=2.775, RCVD_IN_DNSWL_LOW=-0.7]\r
14         autolearn=disabled\r
15 Received: from olra.theworths.org ([127.0.0.1])\r
16         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
17         with ESMTP id m5c5CR-eG3-G for <notmuch@notmuchmail.org>;\r
18         Fri, 20 May 2011 03:47:28 -0700 (PDT)\r
19 Received: from mail-ww0-f45.google.com (mail-ww0-f45.google.com\r
20  [74.125.82.45])        (using TLSv1 with cipher RC4-SHA (128/128 bits))        (No client\r
21  certificate requested) by olra.theworths.org (Postfix) with ESMTPS id\r
22  20D3E431FB6    for <notmuch@notmuchmail.org>; Fri, 20 May 2011 03:47:27 -0700\r
23  (PDT)\r
24 Received: by wwi36 with SMTP id 36so3164655wwi.2\r
25         for <notmuch@notmuchmail.org>; Fri, 20 May 2011 03:47:26 -0700 (PDT)\r
26 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\r
27         d=googlemail.com; s=gamma;\r
28         h=domainkey-signature:subject:from:to:reply-to:date:message-id\r
29         :user-agent:content-transfer-encoding:mime-version:content-type;\r
30         bh=GLBOEhqegePBBCrwzqJJwdWmKQy3cxQaoxBFkgnqdNk=;\r
31         b=necW+FN7uP4zpusx8mMXgUWorBGX0zHoOhSmt2U8KVHRYKS4dct4+6mhWqBc3OUiMB\r
32         lmppivfrlbMUYtKqgRFaG/SCrj/+L0SZ6T9NUnqqGRMi25MiIfPFvmeYmL8tfup1M9Wn\r
33         AlcANxG/Dtt6KPMwX6mhA97G19NxViMysx87Y=\r
34 DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma;\r
35         h=subject:from:to:reply-to:date:message-id:user-agent\r
36         :content-transfer-encoding:mime-version:content-type;\r
37         b=GU47ajyedW5z8kuu4Uhv/JSLnwJDKEUbz1cVkHUpRSVVgYdkMNARXnMJJui14X6B+O\r
38         Ra9ycymrZHq/a2eyjRjSXovHlUI8MC9qzC4+LFS0weTTnkkn9vtTPjPW7EpIZrpXHfKn\r
39         ygGIl5RW4W2wsipTaHebfN/S81Nt776s3/c3E=\r
40 Received: by 10.216.69.21 with SMTP id m21mr491823wed.4.1305888446069;\r
41         Fri, 20 May 2011 03:47:26 -0700 (PDT)\r
42 Received: from localhost (dhcp-90-080.inf.ed.ac.uk [129.215.90.80])\r
43         by mx.google.com with ESMTPS id bd8sm2196435wbb.31.2011.05.20.03.47.23\r
44         (version=TLSv1/SSLv3 cipher=OTHER);\r
45         Fri, 20 May 2011 03:47:24 -0700 (PDT)\r
46 Subject: a python terminal gui?\r
47 From: Patrick Totzke <patricktotzke@googlemail.com>\r
48 To: notmuch-list <notmuch@notmuchmail.org>\r
49 Date: Fri, 20 May 2011 11:47:41 +0100\r
50 Message-Id: <1305888097-sup-2343@optimusprime>\r
51 User-Agent: Sup/git\r
52 Content-Transfer-Encoding: 8bit\r
53 MIME-Version: 1.0\r
54 Content-Type: multipart/signed; boundary="=-1305888461-517614-26690-4998-2-=";\r
55         protocol="application/pgp-signature"\r
56 X-BeenThere: notmuch@notmuchmail.org\r
57 X-Mailman-Version: 2.1.13\r
58 Precedence: list\r
59 Reply-To: Patrick Totzke <patricktotzke@gmail.com>\r
60 List-Id: "Use and development of the notmuch mail system."\r
61         <notmuch.notmuchmail.org>\r
62 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
63         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
64 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
65 List-Post: <mailto:notmuch@notmuchmail.org>\r
66 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
67 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
68         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
69 X-List-Received-Date: Fri, 20 May 2011 10:47:29 -0000\r
70 \r
71 \r
72 --=-1305888461-517614-26690-4998-2-=\r
73 Content-Type: text/plain; charset=UTF-8\r
74 Content-Transfer-Encoding: quoted-printable\r
75 \r
76 Hi all,\r
77 \r
78 First of all, Thanks to everybody involved in the project. Using notmuch =\r
79 is\r
80 good fun and I totally agree that the spin-off/rewrite of sup is a great =\r
81 idea.\r
82 However, as a vim user I feel that the one thing that's truly missing is =\r
83 a =\r
84 \r
85 maintainable, feature-rich commandline GUI. Let's change that.\r
86 I'm aware of existing proposed guis: vala-notmuch, notsomuch, I have also=\r
87  seen =\r
88 \r
89 a minimal non-oop python gui that doesn't use the python bindings and who=\r
90 se name =\r
91 \r
92 I forgot.\r
93 \r
94 This is a proposal for a terminal gui, written in python.\r
95 Currently, it is more a sketch of a framework, so let me explain the key =\r
96 ideas here:\r
97 \r
98 * I use python because I personally am heavily biased in the python vs. r=\r
99 uby discussion:\r
100   I've been working with python for a while and have never used ruby anyw=\r
101 here else than =\r
102 \r
103   for my sup-mail config. I find rubys syntax highly unintuitive, had (an=\r
104 d still have)\r
105   problems to install/work with up-to-date ruby-gems on my ubuntu system.=\r
106 \r
107   Also, I read somewhere=E2=84=A2 that sup is based on a email library th=\r
108 at is no longer maintained.\r
109   I know these are only my personal, non representative and maybe uninfor=\r
110 med impressions,\r
111   but I have the feeling that I'm not alone here.\r
112   On the other hand, cnotmuch and all other libs I (plan to) use in this =\r
113 project\r
114   were easy_installed without any problems.\r
115 \r
116 * I want a gui that looks and feels like sup, without the ugly parts.\r
117 \r
118 * use libraries wherever possible. Therefore, instead of\r
119   programming raw curses, I go for the urwid toolkit: It's a bit like gtk=\r
120 ,\r
121   you create a bunch of widgets and put them together in a tree-like stru=\r
122 cture\r
123   and the library handles redrawing the screen and redirecting key presse=\r
124 s etc.\r
125   I'm aware of some arguments against urwid (PEP8 compatibility, slow py3=\r
126 k awareness),\r
127   but consider the advantages:\r
128    - no boring and error-prone ncurses hacking\r
129    - possibly multiple frontends (curses, web)\r
130    - correct display of unicode chars\r
131    - a lot of ready-made widgets are available (textboxes, selectable lis=\r
132 ts). There's even\r
133      an additional widget-lib called urwid-sat that defines widgets for p=\r
134 assword inputs etc.\r
135    - ready made colour theming for mono/16/256 colours.\r
136    =\r
137 \r
138   one might also look around for a mutt/abook contact lib\r
139 \r
140 You can find the code at here: https://github.com/pazz/notmuch-gui =\r
141 \r
142 Obviously, there is a lot that's missing, but I think having this framewo=\r
143 rk makes it easier\r
144 for anyone to contribute. For example, to be able to display mails,\r
145 one could code a urwid.Widget that can display a given email.message.Mess=\r
146 age.\r
147 That widget will then be used in a widget that displays a whole notmuch.t=\r
148 hread\r
149 which we could put inside a new buffer class that extends my ng.buffer.Bu=\r
150 ffer\r
151 So far, there are only two modi (ng.buffer.Buffer subclasses):\r
152 a bufferlist and one to display thread search results.\r
153 \r
154 I consider all of this to be a proof-of-concept, any part of this proposa=\r
155 l\r
156 is up for discussion. I'd be interested in any feedback whatsoever, and h=\r
157 appy\r
158 to delegate work to anybody willing to contribute. I'm aware that the cod=\r
159 e\r
160 is not pretty, probably not the sleekest oop design and non-conforming =\r
161 \r
162 with a lot of conventions. Hit me :)\r
163 \r
164 Cheers,\r
165 /pazz\r
166 \r
167 \r
168 --=-1305888461-517614-26690-4998-2-=\r
169 Content-Disposition: attachment; filename="signature.asc"\r
170 Content-Type: application/pgp-signature; name="signature.asc"\r
171 \r
172 -----BEGIN PGP SIGNATURE-----\r
173 Version: GnuPG v1.4.11 (GNU/Linux)\r
174 \r
175 iEYEARECAAYFAk3WRs0ACgkQlDQDZ9fWxaoVlQCcCE2Yibg1tiLZ5atytcJhsJHS\r
176 SRkAoL+1TBtrucv3YN9xyjllBIf0Hmc+\r
177 =B+xg\r
178 -----END PGP SIGNATURE-----\r
179 \r
180 --=-1305888461-517614-26690-4998-2-=--\r