1. GTK+ Hackfest 2016
1.1. Toronto, CA, June 13-16, 2016
Primary contact: Matthias Clasen <mclasen@redhat.com>
Secondary contact: Allison Lortie <desrt@desrt.ca>
1.2. Relevant GNOME teams
The GTK+ team and designers
1.2.1. Description
GTK+ has had a very active 3.20 development cycle. We've not only completely revamped CSS matching with CSS nodes, we've also taken big steps towards the CSS box model with CSS gadgets. The hackfest will give us a chance to spend time on evaluating whether these changes were successful, what fallout we need to address, and what the next steps are to build on all the new capabilities that GTK+ has gained with this.
1.2.2. Agenda
More detailed notes on some of these below
- Gadget post-mortem: what's next ?
Move container interface up to GtkWidget
- Input handling without windows, event controllers
- Requirements for GDK backends: menu positioning, global coordinates, root windows, etc
- Do we still need a separate libgdk ? Do we want to separate widgets from the core tookit instead ?
- Animations: Review what we have; do we need helpers ? API ?
- Portals: Make them happen
- GTK4, API stability wrt xdg-app
2nd rendering API bypassing GtkWidget::draw using GL
- textview/sourceview replacements
- action/menu/accels: what do we need
- expand flags: propagation considered harmful?
- Responsive layouts (see designer wishlist below)
Possible other topics:
- Meet and greet the Eclipse team (who are consumers of GTK+)
- Designer wishlist:
- Support for responsive layouts (can discuss what this means in practice)
@media queries in CSS
Equivalent of overflow: hidden
- Combobox replacements
New tab widget: https://wiki.gnome.org/Design/OS/Tabs, prototype in the wip/matthiasc/tab-strip branch
- In-app notifications - bringing these into GTK+, how they should behave
- Emoji display and insertion
- Path bar widget
- Application sandboxing - design of authentication experience, portals
Missing bits and pieces from ListBox
- Support for responsive layouts (can discuss what this means in practice)
- Performance issues: Endless has a number of these
When GdkWindow goes, we need to position widgets without resizing them - can we make that work in gtk3?
- Should we plan ahead for gtk4 in terms of e.g. ideal class hierarchies? How would the toplevel window hierarchy look?
- Lots of apps (eventually) have a large amount of custom widgets. It would be beneficial to have more copy-in/git-submodule style libraries providing custom-but-general widgets (like libgd). How can we make writing and maintaining such libraries easier?
- Make managing sets of keyboard shortcuts easier for complex applications (Builder, Gimp, Inkscape, etc)
- Can we drop functionality from gtkwindow.c to make it more manageable?
- SVG what to do - if we had an svg renderer that we can depend on, svg integration in css could be nicer: e.g we could properly resize images instead of scaling them
- How do we deal with themes in the future? Should we encourage theming more? Do we need to document all the style classes we (both GTK and GNOME) use? Do we even want to guarantee to keep them for API stability? What's the way forward with themes?
- Managing visibility: show-hide transitions and the trouble with them. What to do ?
Future of GRegex: 755693
1.2.3. Dates and Venue
We plan to meet the Red Hat Toronto Offices.
Red Hat Toronto | 90 Eglinton Avenue East, Suite 502 | Toronto, Ontario M4P 2Y3 | Canada | Tel: 647-259-2555
Matthias has reserved the 'Cygnus' meeting room (16 seats) from June 13-16.
1.2.4. Getting in, Getting around
The local transit agency (subway, streetcar, bus) is the TTC (Toronto Transit Commission). Cash fares are $3, but you can buy tokens at machines in subway stations for a very small discount ($2.90/per). Weekly passes cost $42.25, so they're probably not worth it. The TTC is currently in the middle of rolling out an electronic prepaid farecard system called PRESTO which is accepted on all streetcars and at some subway stations. PRESTO is not currently accepted at Eglinton station (which is the station located near the Red Hat office) but it may be there by the time of the hackfest.
Toronto has two commercial airports: YTZ and YYZ.
Toronto "Billy Bishop" Island Airport (YTZ) is a smaller airport with short-haul flights (propeller only). It is located on Toronto Island, immediately adjacent to downtown Toronto. It has a free shuttle bus to a location nearby the main train station (Union Station). If you're planning to catch the subway, you may as well walk to Queens Quay (pronounced "key") to catch the streetcar eastbound, which has a convenient direct connection to the subway at Union. You will probably only arrive at this airport if travelling from a nearby city (Boston, Chicago, Montréal, etc.). It is also common to arrive here if you take an international flight that connects in Montréal. This is a nice airport, and it's slightly amusing to ride the ferry, but there is not a whole lot of benefit to arriving here instead of at YYZ and the flights can be more expensive.
The "big" airport of Toronto is Toronto Pearson (YYZ). It has a very large number of international connections. It is located far away from the downtown core, but there are good options for connecting. For the price of a normal transit fare ($3) you can take an express bus (#192 Airport Rocket) to Kipling subway station and from there catch a subway to downtown without paying again. Expect this journey to take a bit over an hour (with a couple of connections required). There is also the new (and fancy) Union-Pearson "UP" Express train. This costs $9 per direction if you buy a PRESTO card or $12 without. The $6 deposit on the PRESTO card makes this decision break-even (unless you plan to use it for local transit as well). The UP Express takes you to Union station in about 25 minutes. Once there, you will need to buy a separate TTC fare if you want to take the subway to your hotel.
Some feedback I received on this section:
RE: PRESTO - if you're a visitor to toronto and don't very often, don't even bother with it. Just buy tokens or use cash fares (exact change required for cash). Please be aware the when on streetcars and buses that proof of payment is required at all times, so please make sure to take a transfer!! Billy Bishop Airport - If in a close city like boston, chicago or new york, this is almost always the better airport to use. There's no reason to use the ferry, as there's a tunnel to and from the island open 24/7. Being a smaller airport, there is much less traffic through it, which is benefitical with wait times through security and customs. Airfare through Porter is very commonly on sale, and the trip to eglinton station (through union) is much easier. Again, with YYZ (pearson) airport, I wouldn't bother mentioning the PRESTO card for the UP Express, you have to pay $6CAD
for one, so it probably totally negates the discounted fares for the amount of time people are in the city for.
1.2.5. Accommodation
The area in which the Red Hat office is located is a fairly built up neighbourhood, but it is not very close to the centre of the city. It is, however, located immediately adjacent to the Eglinton (pronounced "Eglington") subway stop on the main north/south subway line. For this reason, it might be better to stay somewhere more central and take the subway each day.
The most widely recommend hostel in Toronto is The Planet Traveler hostel. This is located just west of University of Toronto and adjacent to the (conspicuously) hip Kensington Market neighbourhood and Chinatown. There are tonnes of great restaurants around this area. From here it's possible to walk (or take a streetcar) to Queen's Park or College stations for a fast subway connection to the office (direction "Finch"). There are not many traditional hotels in this neighbourhood.
Another great Toronto neighbourhood is the central downtown area located in the area around Yonge and Dundas. Just north of here (just east of University of Toronto and near the Gay district) is Yonge and College. Here you will find Holiday Inn Toronto Downtown Centre at ~C$170/night. This hotel is immediately adjacent to College subway station (with a direct connection to the Red Hat office). There are tonnes of great restaurants around this area.
It takes about 20 minutes to walk between these two neighbourhoods (or 7 minutes by streetcar).
For those who would prefer to stay closer to the Red Hat office, there is the Best Western Roehampton Hotel located within a 5 minute walk of the office. Rates are ~C$150/night.
Crashing on somebody's couch is also a possibility.
1.2.6. Attendants
Name |
Role |
Travel costs |
Foundation member |
Accommodation |
Arrival |
Departure |
Confirmed |
Roommate |
Total sponsorship request |
Matthias Clasen |
GTK+ maintainer |
|
|
Holiday Inn |
Sunday |
Friday |
yes |
Benjamin |
- |
Allison Lortie |
Threat to global stability |
local |
|
- |
- |
- |
|
- |
- |
GTK+, Text Widgets, GSK, rendering |
|
yes |
Holiday Inn |
12th, 20:18 |
16th, 20:55 |
yes |
Alex |
- |
|
Text & emoji |
|
|
|
|
|
No |
|
- |
|
Foo and bar |
|
yes |
Holiday Inn |
|
|
|
Allan |
|
|
Frequent annoyance |
|
yes |
Holiday Inn |
11th, 17:40 |
16th, 20:40 |
yes |
Carlos |
- |
|
Tour guide |
local |
|
|
|
|
No |
|
- |
|
CSS, rendering, layout |
|
yes |
|
12th, 14:45 |
17th, 17:15 |
yes |
Matthias |
- |
|
rendering, portals |
|
yes |
Holiday Inn |
12th, 12:25 |
16th, 21:05 |
yes |
Christian |
- |
|
Most jet lagged |
39557 TWD (~US$1223) (Taipei-Toronto) |
yes |
Airbnb |
12th, 21:55 |
20th, 01:45 |
yes |
Philip Chimento |
39557 TWD (~US$1223) |
|
GLib/GTK+ |
€866.56 |
yes |
|
Sun, 12th |
Wed, 15 |
yes |
|
€866.56 |
|
Eric Williams |
Eclipse/SWT |
local |
no |
- |
- |
- |
yes |
- |
- |
Leo Ufimtsev |
Eclipse/SWT |
local |
no |
- |
- |
- |
yes |
- |
- |
British Columbian |
- |
no |
Airbnb |
20:30 YYZ, Sun 12th |
19th |
yes |
Jonas |
- |
|
DX, tooling |
— |
✓ |
Sorted |
11:10 at YYZ on 2016-06-13 (AC869) |
09:05 at YYZ on 2016-06-20 (AC868) |
✓ |
— |
— |
|
D-Bus, Debian, Flatpak |
— |
✓ |
Holiday Inn |
15:00, YYZ, 12th (TS623) |
22:05, YYZ, 16th (TS422) |
✓ |
— |
— |
The room we have reserved fits ~16 people.
People we'd love to have, who sadly can't make it this time:
Name |
Role |
GTK, GSK, rendering |
|
Gadgets, performance and custom widgets |
1.3. Open Issues
Use this space to expand on the agenda topics above.
Requirements for GDK backends: The background for this is that both Wayland and Mir don't let clients position windows in a global coordinate system. 756579 has much discussion and patches that suggest to address this by moving popup positioning to GDK
We should determine the ultimate fate of commandline options (675819)
- We should write an outline of how we want the GDK API to look in a world where
- display-screen is 1-1
- monitors are more important
- child windows are on the way out
- seats have appeared
some ideas are here: Projects/GTK+/gdk4
- gtk.org is very out of date for informatoin (and lacks https). we need to revamp it as we have gotten lots of valid criticism on news sites about it (HN, reddit, etc).
1.4. Notes
1.5. Blog posts
Here we will link all the blog posts published during or after the hackfest, including information about the work done.