October started out as a tough time for getting around to Tiled, because there were so many other things to take care of like my daughter’s birthday, family visiting, my overdue tax declaration and setting up new hardware. This meant that I had very little time to catch up on e-mails, and the half-days I had for Tiled got eaten up by mostly doing that.
Week 40
Tiled Monday (half day)
I spent the morning setting up my office in the bedroom again. Now with an additional 27" UHD screen, but unfortunately my video card (GTX 460) was too old to display at 4K. So I’ve also looked for and ordered a new video card.
In the afternoon my mother in law arrived to celebrate my daughter’s birthday tomorrow.
Tiled Sunday
My daughter’s birthday party with other children from her kindergarten was on Friday, so I tried to work on Tiled on Sunday instead. Unfortunately it was hard to concentrate, partly because the kids were both at home.
I’ve reviewed and merged a pull request changing the Java projects in the Tiled repository to build with Maven instead of Ant. This in preparation to eventually have libtiled-java in the Maven repository.
I’ve written the last development update.
I also had to do some preparations for the contract project I mentioned in my previous update.
Week 41
Tiled Monday
Today my new video card arrived (a Radeon RX 480). I picked it because of FreeSync and its open source drivers that are part of the Linux kernel, as well as being generally good value. 4K worked pretty much painless in Windows 10, where I mostly worked on the contract project.
Tiled Friday
In the morning I made further adjustments to the contract project. Then, in the afternoon I wasted a lot of time trying to get 4K to work nicely on Linux. While the video card and screen are working fine out of the box, Linux software in general is so fragmented on the 4K support that it’s impossible to get a consistent experience.
The DPI is configured in lots of places, and often only affects the fonts. And while both Qt and GTK support scaling up applications, it is configured differently and neither will adjust the application to the screen you’re putting it on like what happens on Windows 10 (in theory Qt will based on QT_SCREEN_SCALE_FACTORS
, but I’ve not been able to figure out the right parameters). Using scaling also means you need to keep the DPI on 96, which breaks fonts in applications that rely on that for sane font sizes.
Depending on your setup, Tiled looks quite good or quite horrible. Here’s what I got now, just using a DPI of 160 to get readable fonts:
Problems include too small icons, too small buttons and too small graphics. And when you fix that using a QT_SCALE_FACTOR
of 2, you get:
This look decent, but notice that because of the DPI being set to 96 now, other parts of the desktop, like the title bar of the window, are barely readable.
I think there’s little I can do about these issues in general (I’m hoping that Wayland will help standardize on a solution here). But in the meantime, I can make sure Tiled works a little bit better. For example by using vector icons (which will also be more easily adapted to a dark theme) and not hard-coding the size of the small tool bars buttons in pixels.
Finally I got a small fix in on the wip/tilesetdocument
branch, to have the tile animation and collision editors restore their window position and size again.
Looking Ahead
My goals remain the same. I’m working on fixing remaining issues on the wip/tilesetdocument
branch to get it into a releasable state. My current main issue is to find a good way of displaying the right tilesets. I’m changing Tiled such that it will display all open tilesets (not just the ones from the current map), but at the same time it should not display embedded tilesets from other maps since that could lead to a lot of duplication.
I’d also still like to do a Tiled 0.17.1 release. It should be pretty quick, but with recent Xcode versions it seems the Python plugin is giving problems so I’ll need to look into that.
In any case, I should have more time to focus on getting these things done as well as adding other nice things again!