Re: State actions and Glade
Hi Mitko, The GtkToolbar doesn't implement the GAction interface so you are out of luck there. You can use gtk_toggle_tool_button_get_active() to get the state of one of the GtkRadioToolButton's in the toolbar. Eric //gcc -Wall toolbar1.c -o toolbar1 `pkg-config --cflags --libs gtk+-3.0` #include static void get_active_radio(GtkWidget *button, GtkToolItem **radios) { gint i=0; for(i=0;i<3;i++) { if(gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(radios[i]))) { g_print("radio%i\n", i+1); } } } int main(int argc, char **argv) { gtk_init(&argc, &argv); GtkWidget *window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "Toolbar"); gtk_window_set_default_size(GTK_WINDOW(window), 300, 100); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL); GtkToolItem *radio1=gtk_radio_tool_button_new(NULL); gtk_tool_item_set_expand(radio1, TRUE); gtk_tool_button_set_label(GTK_TOOL_BUTTON(radio1), "radio1"); GtkToolItem *radio2=gtk_radio_tool_button_new_from_widget(GTK_RADIO_TOOL_BUTTON(radio1)); gtk_tool_item_set_expand(radio2, TRUE); gtk_tool_button_set_label(GTK_TOOL_BUTTON(radio2), "radio2"); GtkToolItem *radio3=gtk_radio_tool_button_new_from_widget(GTK_RADIO_TOOL_BUTTON(radio1)); gtk_tool_item_set_expand(radio3, TRUE); gtk_tool_button_set_label(GTK_TOOL_BUTTON(radio3), "radio3"); GtkWidget *toolbar=gtk_toolbar_new(); gtk_widget_set_hexpand(toolbar, TRUE); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), radio1, 0); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), radio2, 1); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), radio3, 2); GtkWidget *button=gtk_button_new_with_label("Get Active Radio"); gtk_widget_set_hexpand(button, TRUE); gtk_widget_set_vexpand(button, TRUE); GtkToolItem *radios[]={radio1, radio2, radio3}; g_signal_connect(button, "clicked", G_CALLBACK(get_active_radio), radios); GtkWidget *grid1=gtk_grid_new(); gtk_container_set_border_width(GTK_CONTAINER(grid1), 15); gtk_grid_set_row_spacing(GTK_GRID(grid1), 8); gtk_grid_attach(GTK_GRID(grid1), toolbar, 0, 0, 1, 1); gtk_grid_attach(GTK_GRID(grid1), button, 0, 1, 1, 1); gtk_container_add(GTK_CONTAINER(window), grid1); gtk_widget_show_all(window); gtk_widget_grab_focus(button); gtk_main(); return 0; } ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: State actions and Glade
Can someone please help me with some pointer? Thank you. On Tue, Sep 18, 2018 at 9:35 AM Mitko Haralanov wrote: > I am trying to write an application using Glade where the tool bar > contains a set of radio tool buttons. Those radio tool buttons should not > perform an action when activated but rather just change the associated > action's state. > > For that I've set the 'Action Name' property for the tool buttons in Glade > as 'win.radio-state(0)' and 'win.radio-state(1)'. > > Since the only thing that I am after is the action's state, I don't even > need a 'chage_state' handler in the action definition. Therefore, the > GActionEntry for the radio buttons is defined as: > {"radio-state", NULL, "i", "0", NULL} > > However, no matter what I do, the tool radio buttons are never 'sensitive' > and I can never click on them. > > How should I be using state actions with Glade? It seems that I am doing > things as described by https://wiki.gnome.org/HowDoI/GAction but it still > does not work. > > Thank you for your help. > ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Wayland Window Positioning
You probably want to ask on gtk-devel-list and gnome-shell-list. Wayland interfaces need to be implemented by the compositor, and typically not piecemeal. That KDE interface seems to be a private interface shared between Plasma and kwin, like the gtk_shell interface is a private interface between GTK and GNOME Shell; typically what happens is that toolkit and compositor developers iterate over their requirements and then propose the addition of functionality to the xdg_shell shared interface. You could ask the gnome-shell developers to expose a similar functionality in the gtk_shell interface, and then GTK would be able to consume it; but that requires coordination between GNOME Shell and GTK releases. Ciao, Emmanuele. On Tue, 2 Oct 2018 at 11:13, Gerald Nunn via gtk-app-devel-list < gtk-app-devel-list@gnome.org> wrote: > With respect to window positioning in Wayland, I was wondering if mutter > supports a Wayland extension to position windows similar to what > PlasmaShell does. Keep in mind I'm not very familiar with Wayland, however > looking at the Wayland protocol definition for PlasmaShell it looks like > they have this here: > > > https://github.com/KDE/kwayland/blob/master/src/client/protocols/plasma-shell.xml#L170 > > Looking at the similar file for gtk-shell I don't see anything similar: > > > https://github.com/GNOME/mutter/blob/master/src/wayland/protocol/gtk-shell.xml > > I have a lot of people asking me for Wayland support of quake mode in Tilix > where the terminal emulator sticks at the top or bottom of the screen. > Without being able to explicitly position the window this isn't possible. > Someone pointed me to Yuakake which seems to do it by integrating with the > PlasmaShell Wayland extension from what I can tell. > > Thanks, > > Gerald > ___ > gtk-app-devel-list mailing list > gtk-app-devel-list@gnome.org > https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list > -- https://www.bassi.io [@] ebassi [@gmail.com] ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: How can I change the font of a text field using non-deprecated way?
On Sat, Sep 22, 2018 at 3:11 PM Радомир Хаџић via gtk-app-devel-list wrote: > I'm trying to make a small application in C using GTK+3 (the latest > stable). The application is going to have a text field implemented using > GtkTextView where a user can write text. I also font a user to be able to > change font, so I've added a font chooser using GtkFontChooserDialog. > > The problem is that I don't know how to actually set the font of a text > field to the one that a user chose using font chooser. Well, at least not > using an up-to-date method. I know I can use gtk_widget_override_font(), > and though it works perfectly, I'd rather not use it since it's deprecated > function so it's not meant to be used anymore. The functionality you are describing is present in pretty much every GTK+3-based text editor, so look at the source of any one of them. Gedit (as of 3.18.3 as packaged in Ubuntu 16.04) uses gtk_widget_override_font, and so does Mousepad (as of 0.4.0), and what’s good for the stock text editors of GNOME and Xfce, is probably good for you, too. ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: GTK3 + gnuplot
On Wed, Sep 19, 2018 at 12:19 AM Allin Cottrell wrote: > > The question now is: "How to embed a gnuplot graphic in gtk3? > > Could you say, please, where to find a simple example, just to undestand > > how it is possible to do that? > > Get gnuplot to produce a PNG file, load the PNG into a GdkPixbuf, then > stick the GdkPixbuf onto a cairo surface. Do not do that. With high probability, an application using PNG as an intermediate plot format will get HiDPI wrong and things will look either blurry or tiny. Plot to SVG, then render that. ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Cancel a Drag & Drop for some specific items in a Gtk.TreeView
On Tue, Sep 11, 2018 at 4:27 AM c.buhtz--- via gtk-app-devel-list wrote: > I have a Gtk.TreeView here. Most but not all of the items should be > able to be dragged & dropped. For example the first item should not be > able to be dragged & dropped but it should be selectable. > > How can I realize this? Maybe I have to use the drag-begin signal and > stop the drag in there. But I don't know how. Reading the “GtkTreeView drag-and-drop”[1] page, I get the impression that you’d need to implement a wrapper around GtkTreeStore, or possibly a class derived from GtkTreeStore, that also overrides the row_draggable method so that it returns False for non-draggable rows. I have not tried implementing it that way in Python. [1]: https://developer.gnome.org/gtk3/stable/gtk3-GtkTreeView-drag-and-drop.html ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Wayland Window Positioning
With respect to window positioning in Wayland, I was wondering if mutter supports a Wayland extension to position windows similar to what PlasmaShell does. Keep in mind I'm not very familiar with Wayland, however looking at the Wayland protocol definition for PlasmaShell it looks like they have this here: https://github.com/KDE/kwayland/blob/master/src/client/protocols/plasma-shell.xml#L170 Looking at the similar file for gtk-shell I don't see anything similar: https://github.com/GNOME/mutter/blob/master/src/wayland/protocol/gtk-shell.xml I have a lot of people asking me for Wayland support of quake mode in Tilix where the terminal emulator sticks at the top or bottom of the screen. Without being able to explicitly position the window this isn't possible. Someone pointed me to Yuakake which seems to do it by integrating with the PlasmaShell Wayland extension from what I can tell. Thanks, Gerald ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list