diff --git a/AUTHORS b/AUTHORS index 62b6bd989c..ffd57df1f1 100644 --- a/AUTHORS +++ b/AUTHORS @@ -7,7 +7,7 @@ Peter Mattis Spencer Kimball Josh MacDonald -The Team that build GTK 2 (in alphabetical order) +The team that build GTK 2 (in alphabetical order) ------------------------------------------------- Shawn T. Amundson Jerome Bolliet @@ -28,9 +28,8 @@ Jay Painter Manish Singh Owen Taylor -The current team (GTK 3 and 4) ------------------------------- - +The team that built GTK 3 +------------------------- Jonas Ådahl Tim Bäder Emmanuele Bassi @@ -40,6 +39,16 @@ Carlos Garnacho Alexander Larsson Benjamin Otte +The current team (GTK 4) +------------------------ +Jonas Ådahl +Emmanuele Bassi +Christian Hergert +Chun-wei Fan +Matthias Clasen +Carlos Garnacho +Benjamin Otte + There are many others who have contributed patches; we thank them, GTK is much better because of them. @@ -49,35 +58,15 @@ Over time, GTK has incorporated some pieces of software which started as independent projects. We list the original authors here: -MS-Windows theme engine ------------------------ -Raymond Penners -Dom Lachowicz - - -Pixbuf theme engine -------------------- -Owen Taylor - - IME input method ---------------- Takuro Ashie Kazuki IWAMOTO - -Mac OS X backend ----------------- +MacOS backend +------------- Anders Carlsson - -DirectFB backend ----------------- -Denis Oliver Kropp -Sven Neumann -Mike Emmel - - -gtkparasite ------------ +GtkInspector (originally gtkparasite) +------------------------------------- Christian Hammond diff --git a/demos/gtk-demo/fishbowl.c b/demos/gtk-demo/fishbowl.c index bf0eef7b57..85ced9752e 100644 --- a/demos/gtk-demo/fishbowl.c +++ b/demos/gtk-demo/fishbowl.c @@ -310,11 +310,20 @@ do_fishbowl (GtkWidget *do_widget) if (!window) { GtkBuilder *builder; + GtkBuilderScope *scope; GtkWidget *bowl; g_type_ensure (GTK_TYPE_FISHBOWL); - builder = gtk_builder_new_from_resource ("/fishbowl/fishbowl.ui"); + scope = gtk_builder_cscope_new (); + gtk_builder_cscope_add_callback (GTK_BUILDER_CSCOPE (scope), fishbowl_prev_button_clicked_cb); + gtk_builder_cscope_add_callback (GTK_BUILDER_CSCOPE (scope), fishbowl_next_button_clicked_cb); + gtk_builder_cscope_add_callback (GTK_BUILDER_CSCOPE (scope), fishbowl_changes_toggled_cb); + gtk_builder_cscope_add_callback (GTK_BUILDER_CSCOPE (scope), format_header_cb); + + builder = gtk_builder_new (); + gtk_builder_set_scope (builder, scope); + gtk_builder_add_from_resource (builder, "/fishbowl/fishbowl.ui", NULL); window = GTK_WIDGET (gtk_builder_get_object (builder, "window")); g_object_add_weak_pointer (G_OBJECT (window), (gpointer *)&window); @@ -326,6 +335,7 @@ do_fishbowl (GtkWidget *do_widget) gtk_widget_realize (window); g_object_unref (builder); + g_object_unref (scope); } if (!gtk_widget_get_visible (window)) diff --git a/demos/gtk-demo/iconscroll.c b/demos/gtk-demo/iconscroll.c index 87a0c3eb1f..9e7b5b3add 100644 --- a/demos/gtk-demo/iconscroll.c +++ b/demos/gtk-demo/iconscroll.c @@ -354,10 +354,18 @@ do_iconscroll (GtkWidget *do_widget) if (!window) { GtkBuilder *builder; + GtkBuilderScope *scope; GtkWidget *label; guint id; - builder = gtk_builder_new_from_resource ("/iconscroll/iconscroll.ui"); + scope = gtk_builder_cscope_new (); + gtk_builder_cscope_add_callback (GTK_BUILDER_CSCOPE (scope), iconscroll_prev_clicked_cb); + gtk_builder_cscope_add_callback (GTK_BUILDER_CSCOPE (scope), iconscroll_next_clicked_cb); + + builder = gtk_builder_new (); + gtk_builder_set_scope (builder, scope); + + gtk_builder_add_from_resource (builder, "/iconscroll/iconscroll.ui", NULL); window = GTK_WIDGET (gtk_builder_get_object (builder, "window")); g_object_add_weak_pointer (G_OBJECT (window), (gpointer *)&window); gtk_window_set_display (GTK_WINDOW (window), @@ -375,6 +383,7 @@ do_iconscroll (GtkWidget *do_widget) GUINT_TO_POINTER (id), remove_timeout); g_object_unref (builder); + g_object_unref (scope); } if (!gtk_widget_get_visible (window)) diff --git a/demos/gtk-demo/spinbutton.c b/demos/gtk-demo/spinbutton.c index 85d8c9c8ac..f2dd5e448e 100644 --- a/demos/gtk-demo/spinbutton.c +++ b/demos/gtk-demo/spinbutton.c @@ -188,10 +188,20 @@ do_spinbutton (GtkWidget *do_widget) if (!window) { GtkBuilder *builder; + GtkBuilderScope *scope; GtkAdjustment *adj; GtkWidget *label; - builder = gtk_builder_new_from_resource ("/spinbutton/spinbutton.ui"); + scope = gtk_builder_cscope_new (); + builder = gtk_builder_new (); + gtk_builder_cscope_add_callback (GTK_BUILDER_CSCOPE (scope), spinbutton_hex_spin_input); + gtk_builder_cscope_add_callback (GTK_BUILDER_CSCOPE (scope), spinbutton_hex_spin_output); + gtk_builder_cscope_add_callback (GTK_BUILDER_CSCOPE (scope), spinbutton_time_spin_input); + gtk_builder_cscope_add_callback (GTK_BUILDER_CSCOPE (scope), spinbutton_time_spin_output); + gtk_builder_cscope_add_callback (GTK_BUILDER_CSCOPE (scope), spinbutton_month_spin_input); + gtk_builder_cscope_add_callback (GTK_BUILDER_CSCOPE (scope), spinbutton_month_spin_output); + gtk_builder_set_scope (builder, scope); + gtk_builder_add_from_resource (builder, "/spinbutton/spinbutton.ui", NULL); window = GTK_WIDGET (gtk_builder_get_object (builder, "window")); gtk_window_set_display (GTK_WINDOW (window), gtk_widget_get_display (do_widget)); @@ -233,6 +243,7 @@ do_spinbutton (GtkWidget *do_widget) NULL, NULL); g_object_unref (builder); + g_object_unref (scope); } if (!gtk_widget_get_visible (window)) diff --git a/docs/RELEASE-HOWTO.md b/docs/RELEASE-HOWTO.md index eb64ef53e2..c5a8ea7a6d 100644 --- a/docs/RELEASE-HOWTO.md +++ b/docs/RELEASE-HOWTO.md @@ -5,16 +5,6 @@ How to do a GTK release? Make sure you have suitable versions of Meson and Ninja. -Also make sure you have the following packages installed with all their -dependencies: - - * gtk-doc - * docbook-utils - -Without those packages make distcheck will *not* pass. - -Make sure that gtk-doc is the latest released version. - ## Release check list 0. Save all your work, then move to the branch from which you want @@ -28,8 +18,8 @@ $ git clean -dfx 1. Build using the common sequence: ```sh -$ meson _build . -$ ninja -C _build +$ meson setup _build +$ meson compile -C _build ``` 2. Update NEWS based on the content of git log; follow the format of prior @@ -40,11 +30,10 @@ $ ninja -C _build writers, committers, etc. Anybody who is mentioned in the commit log gets a credit, but only real names, not email addresses or nicknames. - 3. Update the pot files and commit the changes: + 3. Update the pot file and commit the changes: ```sh $ ninja -C _build gtk40-pot -$ ninja -C _build gtk40-properties-pot ``` 4. If this is a major, stable, release, verify that the release notes @@ -72,7 +61,7 @@ $ ninja -C _build gtk40-properties-pot Make sure that all new symbols have proper Since: tags, and that there is an index in the main `-docs.xml` for the next stable version. - 8. Run `ninja dist` to generate the tarball. + 8. Run `meson dist -C_build` to generate the tarball. 9. Fix broken stuff found by 8), commit changes, repeat. @@ -94,7 +83,8 @@ $ ninja -C _build gtk40-properties-pot $ git tag -m "GTK 4.2.0" 4.2.0 ``` - 13. Bump the version number in `meson.build` and commit the change. + 13. Bump the version number in `meson.build`, and add a section for the next + release in NEWS and commit the change. 14. Push the changes upstream, and push the tag as well. The git command for doing that is: @@ -111,7 +101,8 @@ $ git push origin 4.2.0 ```sh $ scp gtk-4.2.0.tar.xz matthiasc@master.gnome.org: -$ ssh matthiasc@master.gnome.org ftpadmin install gtk-4.2.0.tar.xz +$ ssh matthiasc@master.gnome.org +$ ftpadmin install gtk-4.2.0.tar.xz ``` 16. Go to the gnome-announce list archives, find the last announce message,