Gtk 64 bit linux

Arch Linux User Repository

This advances the package to the current release of extra/gtk3. This is good for both compatibility with gtk applications in the arch repositories and to modernize the PKGBUILD itself (make way for gtk4, etc). It is not «true» to the version of GTK currently in use in the latest release of Ubuntu, but there isn’t really any compelling reason it should be. Most of the patches work just fine (I commented one out which has already been adopted upstream) and there are no packages with a dependency on the Ubuntu release version specifically.

How would you feel about co-maintaining the package on these terms? Or, if you are not especially interested in maintaining this package, allowing me to adopt it?

Cebtenzzre commented on 2021-10-28 04:46 (UTC)

error: failed to commit transaction (conflicting files) gtk3-ubuntu: /usr/share/man/man1/gtk-update-icon-cache.1.gz exists in filesystem (owned by gtk-update-icon-cache) 

Adding rm «$pkgdir/usr/share/man/man1/gtk-update-icon-cache.1» to the end of package_gtk3-ubuntu should fix this. gtk-update-icon-cache doesn’t depend on gtk3 so I don’t know whether gtk-update-icon-cache-ubuntu needs to exist — if it does, it should include the manpage.

bugsmanagement commented on 2019-03-03 23:32 (UTC) (edited on 2019-03-03 23:34 (UTC) by bugsmanagement)

I went ahead and done the work to update this package to 3.24.5 included in a patch below:

--- a/PKGBUILD 2019-03-03 18:27:30.247988471 -0500 +++ b/PKGBUILD 2019-03-03 18:27:10.558132196 -0500 @@ -15,17 +15,17 @@ pkgbase=gtk3-ubuntu pkgname=(gtk3-ubuntu gtk-update-icon-cache-ubuntu) -_ubuntu_ver=3.22.30 +_ubuntu_ver=3.24.5 _ubuntu_rel=1ubuntu1 -pkgver=3.22.30 -pkgrel=2 +pkgver=3.24.5 +pkgrel=1 pkgdesc="GObject-based multi-platform toolkit" arch=(x86_64) url="http://www.gtk.org/" depends=(adwaita-icon-theme at-spi2-atk atk cairo cantarell-fonts colord dconf desktop-file-utils gdk-pixbuf2 gtk-update-icon-cache json-glib libcanberra libcups libepoxy librsvg libxcomposite libxcursor libxdamage libxi libxinerama libxkbcommon libxrandr mesa pango rest shared-mime-info wayland wayland-protocols gtk-update-icon-cache) makedepends=(gobject-introspection git gtk-doc glib2-docs sassc) license=(LGPL) -_commit=2e7ac262be15fb402c4103d28533c6c6d955bf65 # tags/3.22.30^0 +_commit=bf60bf15de4afd426304f9f42618eb95a92c2605 # tags/3.24.5 source=("git+https://gitlab.gnome.org/GNOME/gtk.git#commit=$_commit" settings.ini gtk-query-immodules-3.0.hook @@ -39,7 +39,7 @@ 'f0ffd95544863f2e10fda81488b4727aa9a8a35a7d39fb96872db6664d03442db2b58af788b5990825c7b3a83681f7220ca481409cca5421dfb39b9a3bbac9ac' 'abfd73de4faa6f53784182800395aa3c39bb98e15a0eb300fb4142073ff7ce565a0836a2363393b2f132060b5293dbc0c30c380a023f38d5bd39c62cb58389c2' '5cd50d93bb6bc203438a2a0764bd717409658e124058b18a1da26a21f10ef7564a16f32fc0633a68b45b2e303fa63a5efefeadd6b0bf1d7f474556df8cdb6c58' - '8baf8e62ed71cf1fc8d172725749b4f63d1d3c5f9303e1b1874a97df1250139e7aae777b3053ad5dd7c5af7267832af1e9559db6b6501af294c8159d1b1c6fd4') + 'c81b9dcf8d628f166bfeb7286354464aba774304913f93b186bb9df31056bc7dc7f5b1e75ebd7379d952c0637a88b4a892f69be041ca136fd4157399a699a2b0') pkgver() < cd gtk @@ -52,14 +52,21 @@ local patches=( 016_no_offscreen_widgets_grabbing.patch 017_no_offscreen_device_grabbing.patch + 018_gdkenumtypes.c_location.patch + 022_disable-viqr-im-for-vi-locale.patch 060_ignore-random-icons.patch + reftest-known-fail.patch + Don-t-test-default-constructed-GdkPixbuf-properties.patch + Revert-Update-some-a11y-test-results.patch + Revert-Update-a11y-test-output.patch + Update-css-node-tests.patch 073_treeview_almost_fixed.patch - no-accessibility-dump.patch bzg_gtkcellrenderer_grabbing_modifier.patch print-dialog-show-options-of-remote-dnssd-printers.patch uimanager-guard-against-nested-node-updates.patch x-canonical-accel.patch message-dialog-restore-traditional-look-on-unity.patch + 0001-gtk-reftest-Force-icon-theme-to-Adwaita.patch 0001-calendar-always-emit-day-selected-once.patch 0001-gtkwindow-set-transparent-background-color.patch ubuntu_gtk_custom_menu_items.patch 

It builds successfully here.

tari01 commented on 2019-03-01 13:05 (UTC)

Could you please update the source to

Источник

Setting up GTK for GNU/Linux and Unix

In order to install GTK for GNU/Linux and Unix systems, you will need to get the GLib, GObject-Introspection, Pango, Gdk-Pixbuf, ATK and GTK packages to build GTK. To read more about these packages, please refer to the Architecture.

Читайте также:  What is linux mint used for

Stable version

To build an environment for GTK, install all the dependencies listed below:

Dependency Source
GTK
GLib
Pango
Gdk-pixbuf
ATK
GObject-Introspection
Epoxy

The current stable API version of GTK is 4.0.

Building from source

For additional help, the frequently asked questions page is a good starting point.

Installing GTK from packages

Distribution Binary package Development package Additional packages
Arch gtk4 - -
Debian/Ubuntu libgtk-4-1 libgtk-4-dev gtk-4-examples
Fedora gtk4 gtk4-devel -

Development version

To build the latest development version of GTK you can use a tool like JHBuild, or you can rely on meson which will download and build many of the required dependencies as subprojects, if they are not available on your system.

Older Versions

Many applications still use GTK 3, an older stable version of GTK. You can have the run-time and development environments for GTK 4.x and GTK 3.x installed simultaneously on your computer.

Installing GTK3 from packages

Distribution Binary package Development package Additional packages
Arch gtk3 - -
Debian/Ubuntu libgtk-3-0 libgtk-3-dev gtk-3-examples
Fedora gtk3 gtk3-devel -

GTK v3.x

Observed a typo or some missing information, edit this page.
Read on how to contribute to this website.

© 1997-2023, The GTK Team. All Rights Reserved.

Источник

Create apps that users just love

Offering a complete set of UI elements, GTK is suitable for projects ranging from small one-off tools to complete application suites.

Work with the language of your choice

Develop your GTK app with your language of choice by using Language Bindings or wrappers and take full advantage of the official GNOME bindings which guarantee API stability and time-based releases.

// Include gtk #include  static void on_activate (GtkApplication *app)  // Create a new window GtkWidget *window = gtk_application_window_new (app); // Create a new button GtkWidget *button = gtk_button_new_with_label ("Hello, World!"); // When the button is clicked, close the window passed as an argument g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_window_close), window); gtk_window_set_child (GTK_WINDOW (window), button); gtk_window_present (GTK_WINDOW (window)); > int main (int argc, char *argv[])  // Create a new application GtkApplication *app = gtk_application_new ("com.example.GtkApplication", G_APPLICATION_FLAGS_NONE); g_signal_connect (app, "activate", G_CALLBACK (on_activate), NULL); return g_application_run (G_APPLICATION (app), argc, argv); > 
imports.gi.versions['Gtk'] = '4.0'; const Gtk = imports.gi.Gtk; // Create a new application let app = new Gtk.Application( application_id: 'com.example.GtkApplication' >); // When the application is launched… app.connect('activate', () =>  // … create a new window … let win = new Gtk.ApplicationWindow( application: app >); // … with a button in it … let btn = new Gtk.Button( label: 'Hello, World!' >); // … which closes the window when clicked btn.connect('clicked', () =>  win.close(); >); win.set_child(btn); win.present(); >); // Run the application app.run([]); 
#!/usr/bin/env perl use strict; use warnings; use utf8; use Glib::IO; use Gtk4; # Create a new application my $app = Gtk3::Application->new('com.example.Gtk3Application', 'G_APPLICATION_FLAGS_NONE'); # When the application is launched… $app->signal_connect( activate => sub  my $app = shift; # … create a new window … my $win = Gtk3::ApplicationWindow->new($app); # … with a button in it … my $btn = Gtk3::Button->new('Hello World!'); # … which closes the window when clicked $btn->signal_connect(clicked => sub  $win->close(); >); $win->set_child($btn); $win->present(); > ); # Run the application $app->run(\@ARGV); 
# Load Gtk import gi gi.require_version('Gtk', '4.0') from gi.repository import Gtk # When the application is launched… def on_activate(app): # … create a new window… win = Gtk.ApplicationWindow(application=app) # … with a button in it… btn = Gtk.Button(label='Hello, World!') # … which closes the window when clicked btn.connect('clicked', lambda x: win.close()) win.set_child(btn) win.present() # Create a new application app = Gtk.Application(application_id='com.example.GtkApplication') app.connect('activate', on_activate) # Run the application app.run(None) 
use glib::clone; // glib and other dependencies are re-exported by the gtk crate use gtk::glib; use gtk::prelude::*; // When the application is launched… fn on_activate(application: &gtk::Application)  // … create a new window … let window = gtk::ApplicationWindow::new(application); // … with a button in it … let button = gtk::Button::with_label("Hello World!"); // … which closes the window when clicked button.connect_clicked(clone!(@weak window => move |_| window.close())); window.set_child(Some(&button)); window.present(); > fn main()  // Create a new application with the builder pattern let app = gtk::Application::builder() .application_id("com.github.gtk-rs.examples.basic") .build(); app.connect_activate(on_activate); // Run the application app.run(); > 
int main (string[] argv)  // Create a new application var app = new Gtk.Application ("com.example.GtkApplication", GLib.ApplicationFlags.FLAGS_NONE); app.activate.connect (() =>  // Create a new window var window = new Gtk.ApplicationWindow (app); // Create a new button var button = new Gtk.Button.with_label ("Hello, World!"); // When the button is clicked, close the window button.clicked.connect (() =>  window.close (); >); window.set_child (button); window.present (); >); return app.run (argv); > 

Apps built with GTK

Developers around the world have used GTK as a platform to create apps that solve problems faced by end-users.

A feature-rich development tool

GTK has all the features that a widget toolkit needs to have. These features make it the most trusted toolkit for developing Linux applications.

Portability

Projects built using GTK and its dependencies run on well known operating systems.

Stability

GTK delivers the enticing features and superb performance which adds to your applications.

Language Bindings

GTK is written in C but has been designed to support a wide range of languages such as Python, JavaScript, C++, Rust and many more.

Interfaces

GTK has a comprehensive collection of core widgets like Buttons, Windows, Toolbars for use in your application.

Open Source

GTK is a free and open-source project maintained by GNOME and an active community of contributors. GTK is released under the terms of the GNU Lesser General Public License.

API

GTK boasts of an easy to use API which helps in decreasing your development time and help you achieve better results.

Accommodation

GTK caters to many features like Native look and feel, theme support, Object-oriented approach that today’s developers look for in a toolkit.

Foundations

GTK is built on top of GLib. GLib provides the fundamental data types and system integration points to avoid duplicated code in applications.

Develop with GTK

By taking advantage of GTK being a cross-platform development tool and its easy to use API, you can develop amazing apps using the GTK. If you are interested in developing an app, get started now by developing this example application.

Develop GTK

GTK is a large project and relies on volunteers from around the world. To help us with the project development, hack away on the existing bugs and feature requests.

Looking for Help?

If you want to ask questions about GTK, whether it’s for developing applications with GTK or contributing to GTK itself, you can use the GNOME Discourse instance, under the Platform/Core category. You can use tags like gtk or glib to narrow down the topic of discussion to specific libraries. You can also ask questions in our Matrix room.

News and Events

Catch up with GTK development

Get in touch with GTK developers through Matrix. Get updates about GTK and its community from GTK blog or through its Twitter account.

Meet the community

As regularly as possible, GTK team meetings take place at conferences and hackfests to discuss the future of GTK and define a roadmap.

Contribute to GTK

If you are a developer and want to contribute to GTK, you are more than welcome to do so.

© 1997-2023, The GTK Team. All Rights Reserved.

Источник

Оцените статью
Adblock
detector