[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

NS port cleanups

From: Po Lu
Subject: NS port cleanups
Date: Tue, 19 Oct 2021 17:40:29 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Alan Third <alan@idiocy.org> writes:

> Some of the problems with the NS port (like terrible thread support)
> are, IMO, down to its architecture and require quite extensive work to
> fix. I've started cleaning up the codebase in preparation for some
> large fundamental changes, but I'm not convinced my plan is correct.
> I'm not a professional developer, so my ideas about refactoring may be
> questionable, and I haven't ever worked on any other *step code.
> Additionally I'm not sure it's really a good idea for me to make these
> large changes since then anyone who is already familiar with the
> codebase will have to relearn it and I'm not sure they'll make it
> easier to understand.

> Have a look at scratch/ns/testing for some clean-ups to do with
> colours.


> If you want to improve the GNUstep experience I think the best place
> to start would be improving nsfont. I've tried, but frankly I don't
> understand fonts and my motivation ran out pretty quickly, especially
> since some of the GNUstep side is completely undocumented.

I did a best effort job at cleaning up nsfont and getting it into a
presentable state.  I've also implemented some changes to the NS port in
general that implement some missing features (such as overhangs), and
fix some issues preventing nsfont from behaving correctly (namely the
horrid cursor drawing logic that I changed to behave closer to the
X-Windows code), and some changes to the menu logic.

There are still two problems with this code: the first being that if a
glyph with a left overhang is preceeded by a glyph with both a left and
a right overhang, the glyph with just the left overhang will be drawn
twice.  I haven't been able to solve this problem, could someone please
take a look?  Thanks.

The second problem is that, on startup, the toolbar is too tall unless
the frame is resized.  I can't profess to understand the toolbar code
well enough to fix this problem.

As usual, it's completely untested on macOS.  Could you (or someone with
access to a Mac) test it on macOS, see if there are problems with it
there, and if not, review and install these changes?  Thanks.

Attachment: 0001-Improve-rendering-on-NS-port.patch
Description: Text Data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]