Create a branch on which to develop a GTK2 port of PuTTY.


git-svn-id: svn://svn.tartarus.org/sgt@7156 cda61777-01e9-0310-a592-d414129be87e
Commit Colin Watson's original GTK2 patch, exactly as mailed to me
on 1st January except that I've had to fiddle with it a bit to take
account of r7117 having happened since then.


git-svn-id: svn://svn.tartarus.org/sgt@7157 cda61777-01e9-0310-a592-d414129be87e
Add Colin to the licence. (I must remember to add him to the licence
on the website, when we merge this back into the trunk.)


git-svn-id: svn://svn.tartarus.org/sgt@7158 cda61777-01e9-0310-a592-d414129be87e
Tweak the GTK Makefile to build with GTK2 by default, while leaving
a means (`make GTK_CONFIG=gtk-config') of falling back to GTK1.


git-svn-id: svn://svn.tartarus.org/sgt@7159 cda61777-01e9-0310-a592-d414129be87e
Fix the incorrect layout of the buttons at the bottom of the main
config box.


git-svn-id: svn://svn.tartarus.org/sgt@7160 cda61777-01e9-0310-a592-d414129be87e
A nasty GTK signal cascade was causing any edit box whose contents
was modified on session load to be blanked. More details in the
comment in dlg_editbox_set().


git-svn-id: svn://svn.tartarus.org/sgt@7161 cda61777-01e9-0310-a592-d414129be87e
Begin tracking a TODO list for this branch.


git-svn-id: svn://svn.tartarus.org/sgt@7162 cda61777-01e9-0310-a592-d414129be87e
Another TODO item. (There's always one.)


git-svn-id: svn://svn.tartarus.org/sgt@7163 cda61777-01e9-0310-a592-d414129be87e
Stop calling gdk_input_add() with a zero flags word. If we don't
want to know about any input events on a socket, it's simpler not to
call gdk_input_add() on it at all.

I hesitate to say `fixes', but ... this change _causes to go away_
the weird problem I had with blank host key dialogs. I have no
understanding of the chain of cause and effect between gdk_input_add
with zero flags and missing redraw events, but it seems like a
change I should make anyway, so I'm going to do so and hope the
problem doesn't come back :-/


git-svn-id: svn://svn.tartarus.org/sgt@7164 cda61777-01e9-0310-a592-d414129be87e
Collapse tree view branches deeper than level 2, bringing the GTK2
tree code into line with the GTK1.


git-svn-id: svn://svn.tartarus.org/sgt@7165 cda61777-01e9-0310-a592-d414129be87e
Er, whoops. Remove two lines from a previous attempt at r7165, which
broke the build. Ahem.


git-svn-id: svn://svn.tartarus.org/sgt@7166 cda61777-01e9-0310-a592-d414129be87e
Changed my mind about r7164. Instead of checking for zero flags
inside one single uxsel front end, better to do it centrally and
avoid passing zero flags on to the front end in the first place. I'm
sure other similarly structured front ends could get confused by it
too.


git-svn-id: svn://svn.tartarus.org/sgt@7171 cda61777-01e9-0310-a592-d414129be87e
Move the TODO items from the top of gtkdlg.c into the main TODO file.


git-svn-id: svn://svn.tartarus.org/sgt@7173 cda61777-01e9-0310-a592-d414129be87e
Better not forget to make sure GTK1 doesn't break.


git-svn-id: svn://svn.tartarus.org/sgt@7174 cda61777-01e9-0310-a592-d414129be87e
Merge out from trunk, to keep this branch viable. We are now up to
date as of r7913.


git-svn-id: svn://svn.tartarus.org/sgt@7914 cda61777-01e9-0310-a592-d414129be87e
Refactor the font handling code: I've moved all the code that
explicitly deals with GdkFont out into a new module, behind a
polymorphic interface (done by ad-hoc explicit vtable management in
C). This should allow me to drop in a Pango font handling module in
parallel with the existing one, meaning that GTK2 PuTTY will be able
to seamlessly switch between X11 server-side fonts and Pango client-
side ones as the user chooses, or even use a mixture of the two
(e.g. an X11 font for narrow characters and a Pango one for wide
characters, or vice versa).

In the process, incidentally, I got to the bottom of the `weird bug'
mentioned in the old do_text_internal(). It's not a bug in
gdk_draw_text_wc() as I had thought: it's simply that GdkWChar is a
32-bit type rather than a 16-bit one, so no wonder you have to
specify twice the length to find all the characters in the string!
However, there _is_ a bug in GTK2's gdk_draw_text_wc(), which causes
it to strip off everything above the low byte of each GdkWChar,
sigh. Solution to both problems is to use an array of the underlying
Xlib type XChar2b instead, and pass it to gdk_draw_text() cast to
gchar *. Grotty, but it works. (And it'll become significantly less
grotty if and when we have to stop using the GDK font handling
wrappers in favour of going direct to Xlib.)


git-svn-id: svn://svn.tartarus.org/sgt@7933 cda61777-01e9-0310-a592-d414129be87e
Merge from trunk again (because I want the helpful diagnostic code
in r7934 on this branch). Now up to date as of r7934.


git-svn-id: svn://svn.tartarus.org/sgt@7935 cda61777-01e9-0310-a592-d414129be87e
Implemented a Pango back end. GTK 2 PuTTY can now switch seamlessly
back and forth between X fonts and Pango fonts, provided you're
willing to type in the names of the former by hand.


git-svn-id: svn://svn.tartarus.org/sgt@7937 cda61777-01e9-0310-a592-d414129be87e
Unified font selector dialog box. _Extremely_ unfinished - there's a
sizable TODO at the top of gtkfont.c - but it's basically functional
enough to select fonts of both types, so I'm checking it in now
before I accidentally break it.


git-svn-id: svn://svn.tartarus.org/sgt@7938 cda61777-01e9-0310-a592-d414129be87e
Placate optimiser.


git-svn-id: svn://svn.tartarus.org/sgt@7939 cda61777-01e9-0310-a592-d414129be87e