Hello community, here is the log from the commit of package nemo for openSUSE:Factory checked in at 2016-05-23 16:39:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nemo (Old) and /work/SRC/openSUSE:Factory/.nemo.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nemo" Changes: -------- --- /work/SRC/openSUSE:Factory/nemo/nemo.changes 2016-05-13 09:24:25.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.nemo.new/nemo.changes 2016-05-23 16:39:35.000000000 +0200 @@ -1,0 +2,33 @@ +Sat May 21 13:21:24 UTC 2016 - [email protected] + +- Update to version 3.0.2: + * Fix build. + * Fix action i18n scripts to write UTF-8. + * nemo-icon-view: Include nemo-application.h needed in + nemo_icon_view_add_file for: nemo_application_set_cache_flag, + nemo_application_get_singleton. + * nemo-pathbar: Use gint for slider_width instead of gint16 + silences an incorrect pointer type warning. + * nemo-list-view.c: Don't explicitly unref columns anymore – + they'll get handled when the tree view is destroyed. + * nemo-icon-container.c: Re-enable desktop type-to-select feature. + Also make a couple fixes on the positioning logic for this + little popup. Where possible, it will avoid overlapping panels. + * desktop windows: Maximise instead of relying on gdk for monitor + workarea – it's inaccurate for anything but the primary monitor. + * nemo-icon-container.c: Special case desktop windows for search + popup – now that we can rely on the window being the correct + size to account for panels, we can reliably position this popup + off of those panels. + * prefs: Don't try to hardcode a minimum size for the + preferences dialog. + * Use g_themed_icon_new instead of + g_themed_icon_new_with_default_fallbacks. + * nemo-window.c: As of 9cb9c48 we maximise the desktop + containers to make sure they use the correct work area as set + by muffin. This started causing the window state 'maximized' + key to be set to true when opening a new nemo window. + This corrects that issue, using disable_chrome as an indicator + to ignore the window – only the desktop windows set this true. + +------------------------------------------------------------------- Old: ---- nemo-3.0.1.tar.gz New: ---- nemo-3.0.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nemo.spec ++++++ --- /var/tmp/diff_new_pack.aGC32x/_old 2016-05-23 16:39:36.000000000 +0200 +++ /var/tmp/diff_new_pack.aGC32x/_new 2016-05-23 16:39:36.000000000 +0200 @@ -20,7 +20,7 @@ %define sover 1 %define typelib typelib-1_0-Nemo-3_0 Name: nemo -Version: 3.0.1 +Version: 3.0.2 Release: 0 Summary: File browser for Cinnamon License: GPL-2.0+ ++++++ nemo-3.0.1.tar.gz -> nemo-3.0.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/configure.ac new/nemo-3.0.2/configure.ac --- old/nemo-3.0.1/configure.ac 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/configure.ac 2016-05-20 13:27:25.000000000 +0200 @@ -18,7 +18,7 @@ m4_define(nemo_extension_current, 5) m4_define(nemo_extension_revision, 0) -AC_INIT(nemo, 3.0.1, https://github.com/linuxmint/nemo) +AC_INIT(nemo, 3.0.2, https://github.com/linuxmint/nemo) dnl =========================================================================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/data/action_i18n_strings.py new/nemo-3.0.2/data/action_i18n_strings.py --- old/nemo-3.0.1/data/action_i18n_strings.py 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/data/action_i18n_strings.py 2016-05-20 13:27:25.000000000 +0200 @@ -1,8 +1,9 @@ +''' This is a dummy file for translating Nemo Action files - It was generated by the extract_action_strings script on 2016-04-30 21:36:25.839711 UTC. - + It was generated by the extract_action_strings script on 2016-05-11 09:56:16.059322 UTC. +''' mount-archive_nemo_action_in_Name = _("Mount archive") mount-archive_nemo_action_in_Tooltip = _("Mount %f to browse its contents") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/data/extract_action_strings new/nemo-3.0.2/data/extract_action_strings --- old/nemo-3.0.1/data/extract_action_strings 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/data/extract_action_strings 2016-05-20 13:27:25.000000000 +0200 @@ -4,6 +4,7 @@ import glob import datetime import sys +import codecs from gi.repository import GLib GROUP = "Nemo Action" @@ -17,10 +18,11 @@ if len(action_files) > 0: dt = datetime.datetime outstring = """ +''' This is a dummy file for translating Nemo Action files It was generated by the extract_action_strings script on %s UTC. - +''' """ % (dt.utcnow()) outstring += "\n" for fn in action_files: @@ -47,7 +49,7 @@ outfilename = os.path.join(os.getcwd(), "action_i18n_strings.py") if os.path.exists(outfilename): os.remove(outfilename) - outfile = open(outfilename, 'w') + outfile = codecs.open(outfilename, 'w', 'utf-8') outfile.write(outstring) outfile.close() print("Extraction complete. Run makepot now") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/data/merge_action_strings new/nemo-3.0.2/data/merge_action_strings --- old/nemo-3.0.1/data/merge_action_strings 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/data/merge_action_strings 2016-05-20 13:27:25.000000000 +0200 @@ -3,6 +3,7 @@ import os import glob import polib +import codecs from gi.repository import GLib GROUP = "Nemo Action" @@ -44,7 +45,7 @@ outstring, length = self.in_keyfiles[fn].to_data() if os.path.exists(action_path): os.remove(action_path) - outfile = open(action_path, 'w') + outfile = codecs.open(action_path, 'w', 'utf-8') outfile.write(outstring) outfile.close() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/debian/changelog new/nemo-3.0.2/debian/changelog --- old/nemo-3.0.1/debian/changelog 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/debian/changelog 2016-05-20 13:27:25.000000000 +0200 @@ -1,3 +1,32 @@ +nemo (3.0.2) sarah; urgency=medium + + [ Clement Lefebvre ] + * Fixed build + + [ Michael Webster ] + * debian/control: depend on python3-gi + * fix action i18n scripts to write utf-8 + + [ itzexor ] + * nemo-icon-view: include nemo-application.h needed in nemo_icon_view_add_file for: nemo_application_set_cache_flag nemo_application_get_singleton + * nemo-pathbar: use gint for slider_width instead of gint16 silences an incorrect pointer type warning. + + [ Michael Webster ] + * nemo-list-view.c: don't explicitly unref columns anymore - they'll get handled when the tree view is destroyed. + * nemo-icon-container.c: Re-enable desktop type-to-select feature. Also make a couple fixes on the positioning logic for this little popup. Where possible, it will avoid overlapping panels. + * desktop windows: maximize instead of relying on gdk for monitor workarea - it's inaccurate for anything but the primary monitor. + * nemo-icon-container.c: special case desktop windows for search popup - now that we can rely on the window being the correct size to account for panels, we can reliably position this popup off of those panels. + + [ JosephMcc ] + * prefs: Don't try to hardcode a minimum size for the preferences dialog + + [ Michael Webster ] + * Use g_themed_icon_new instead of g_themed_icon_new_with_default_fallbacks. + * nemo-window.c: As of 9cb9c48f59baa we maximize the desktop containers to make sure they use the correct work area as set by muffin. This started causing the window state 'maximized' key to be set to true when opening a new nemo window. This corrects that issue, using disable_chrome as an indicator to ignore the window - only the desktop windows set this true. + * nemo-window.c: fix formatting + + -- Clement Lefebvre <[email protected]> Fri, 20 May 2016 12:26:51 +0100 + nemo (3.0.1) sarah; urgency=medium [ JosephMcc ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/debian/control new/nemo-3.0.2/debian/control --- old/nemo-3.0.1/debian/control 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/debian/control 2016-05-20 13:27:25.000000000 +0200 @@ -26,8 +26,8 @@ libgirepository1.0-dev (>= 0.9.12), libglib2.0-doc, libgtk-3-doc, - python-polib, - python-gi + python3-polib, + python3-gi Homepage: http://www.github.com/linuxmint/nemo/ Standards-Version: 3.9.5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/libnemo-private/nemo-file.c new/nemo-3.0.2/libnemo-private/nemo-file.c --- old/nemo-3.0.1/libnemo-private/nemo-file.c 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/libnemo-private/nemo-file.c 2016-05-20 13:27:25.000000000 +0200 @@ -4014,7 +4014,7 @@ custom_icon_name = get_custom_icon_metadata_name (file); if (custom_icon_name != NULL) { - icon = g_themed_icon_new_with_default_fallbacks (custom_icon_name); + icon = g_themed_icon_new (custom_icon_name); g_free (custom_icon_name); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/libnemo-private/nemo-icon-container.c new/nemo-3.0.2/libnemo-private/nemo-icon-container.c --- old/nemo-3.0.1/libnemo-private/nemo-icon-container.c 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/libnemo-private/nemo-icon-container.c 2016-05-20 13:27:25.000000000 +0200 @@ -34,6 +34,7 @@ #include "nemo-icon-private.h" #include "nemo-lib-self-check-functions.h" #include "nemo-selection-canvas-item.h" +#include "nemo-desktop-utils.h" #include <atk/atkaction.h> #include <eel/eel-accessibility.h> #include <eel/eel-vfs-extensions.h> @@ -4905,41 +4906,47 @@ gint cont_x, cont_y; gint cont_width, cont_height; GdkWindow *cont_window; - GdkScreen *screen; GtkRequisition requisition; gint monitor_num; GdkRectangle monitor; - cont_window = gtk_widget_get_window (GTK_WIDGET (container)); - screen = gdk_window_get_screen (cont_window); - monitor_num = gdk_screen_get_monitor_at_window (screen, cont_window); - gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); + monitor_num = nemo_desktop_utils_get_monitor_for_widget (GTK_WIDGET (container)); + + /* FIXME?? _NET_WORKAREA hint only provides accurate workarea geometry for the + * primary monitor. Non-primary will return the full monitor geometry instead. + */ + nemo_desktop_utils_get_monitor_work_rect (monitor_num, &monitor); gtk_widget_realize (search_dialog); - gdk_window_get_origin (cont_window, &cont_x, &cont_y); - cont_width = gdk_window_get_width (cont_window); - cont_height = gdk_window_get_height (cont_window); + gdk_window_get_origin (cont_window, &cont_x, &cont_y); + cont_width = gdk_window_get_width (cont_window); + cont_height = gdk_window_get_height (cont_window); gtk_widget_get_preferred_size (search_dialog, &requisition, NULL); - if (cont_x + cont_width > gdk_screen_get_width (screen)) { - x = gdk_screen_get_width (screen) - requisition.width; - } else if (cont_x + cont_width - requisition.width < 0) { - x = 0; - } else { - x = cont_x + cont_width - requisition.width; - } + if (nemo_icon_container_get_is_desktop (container)) { + x = cont_x + cont_width - requisition.width; + y = cont_y + cont_height - requisition.height; + } else { + if (cont_x + cont_width > monitor.x + monitor.width) { + x = monitor.x + monitor.width - requisition.width; + } else if (cont_x + cont_width - requisition.width < 0) { + x = 0; + } else { + x = cont_x + cont_width - requisition.width; + } - if (cont_y + cont_height + requisition.height > gdk_screen_get_height (screen)) { - y = gdk_screen_get_height (screen) - requisition.height; - } else if (cont_y + cont_height < 0) { /* isn't really possible ... */ - y = 0; - } else { - y = cont_y + cont_height; - } + if (cont_y + cont_height + requisition.height > monitor.y + monitor.height) { + y = monitor.y + monitor.height - requisition.height; + } else if (cont_y + cont_height < 0) { + y = 0; + } else { + y = cont_y + cont_height; + } + } gdk_window_move (gtk_widget_get_window (search_dialog), x, y); } @@ -5589,7 +5596,7 @@ /* We pass the event to the search_entry. If its text changes, then we * start the typeahead find capabilities. * Copied from NemoIconContainer */ - if (!handled && !nemo_icon_container_get_is_desktop (container) && + if (!handled && event->keyval != GDK_KEY_asciitilde && event->keyval != GDK_KEY_KP_Divide && event->keyval != GDK_KEY_slash /* don't steal slash key events, used for "go to" */ && @@ -5600,7 +5607,6 @@ char *old_text; const char *new_text; gboolean retval; - GdkScreen *screen; gboolean text_modified; gulong popup_menu_id; @@ -5616,11 +5622,6 @@ popup_menu_id = g_signal_connect (container->details->search_entry, "popup_menu", G_CALLBACK (gtk_true), NULL); - /* Move the entry off screen */ - screen = gtk_widget_get_screen (GTK_WIDGET (container)); - gtk_window_move (GTK_WINDOW (container->details->search_window), - gdk_screen_get_width (screen) + 1, - gdk_screen_get_height (screen) + 1); gtk_widget_show (container->details->search_window); /* Send the event to the window. If the preedit_changed signal is emitted diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/libnemo-private/nemo-link.c new/nemo-3.0.2/libnemo-private/nemo-link.c --- old/nemo-3.0.1/libnemo-private/nemo-link.c 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/libnemo-private/nemo-link.c 2016-05-20 13:27:25.000000000 +0200 @@ -458,7 +458,7 @@ } } - icon = g_themed_icon_new_with_default_fallbacks (icon_str); + icon = g_themed_icon_new (icon_str); /* apply a link emblem if it's a link */ if (g_strcmp0 (type, "Link") == 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/src/nemo-blank-desktop-window.c new/nemo-3.0.2/src/nemo-blank-desktop-window.c --- old/nemo-3.0.1/src/nemo-blank-desktop-window.c 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/src/nemo-blank-desktop-window.c 2016-05-20 13:27:25.000000000 +0200 @@ -213,7 +213,7 @@ rect.width, rect.height); gtk_window_move (GTK_WINDOW (window), rect.x, rect.y); - gtk_widget_set_size_request (GTK_WIDGET (window), rect.width, rect.height); + gtk_window_maximize (GTK_WINDOW (window)); gtk_window_set_resizable (GTK_WINDOW (window), FALSE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/src/nemo-desktop-window.c new/nemo-3.0.2/src/nemo-desktop-window.c --- old/nemo-3.0.1/src/nemo-desktop-window.c 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/src/nemo-desktop-window.c 2016-05-20 13:27:25.000000000 +0200 @@ -113,7 +113,7 @@ rect.width, rect.height); gtk_window_move (GTK_WINDOW (window), rect.x, rect.y); - gtk_widget_set_size_request (GTK_WIDGET (window), rect.width, rect.height); + gtk_window_maximize (GTK_WINDOW (window)); gtk_window_set_resizable (GTK_WINDOW (window), FALSE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/src/nemo-file-management-properties.c new/nemo-3.0.2/src/nemo-file-management-properties.c --- old/nemo-3.0.1/src/nemo-file-management-properties.c 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/src/nemo-file-management-properties.c 2016-05-20 13:27:25.000000000 +0200 @@ -107,6 +107,8 @@ #define W(s) (gtk_builder_get_object (builder, s)) +#define TOOLBAR_PADDING 20 + static const char * const default_view_values[] = { "icon-view", "list-view", @@ -765,6 +767,7 @@ nemo_file_management_properties_dialog_setup (GtkBuilder *builder, GtkWindow *window) { GtkWidget *dialog; + GtkWidget *stack_switcher; /* setup UI */ nemo_file_management_properties_size_group_create (builder, @@ -1009,9 +1012,11 @@ gtk_window_set_screen (GTK_WINDOW (dialog), gtk_window_get_screen(window)); } - gint width, height; - gtk_window_get_default_size (GTK_WINDOW (dialog), &width, &height); - gtk_widget_set_size_request (dialog, width, height); + stack_switcher = GTK_WIDGET (gtk_builder_get_object (builder, "stack-switcher")); + + gint min_width, nat_width; + gtk_widget_get_preferred_width (stack_switcher, &min_width, &nat_width); + gtk_widget_set_size_request (dialog, nat_width + TOOLBAR_PADDING, -1); preferences_dialog = dialog; g_object_add_weak_pointer (G_OBJECT (dialog), (gpointer *) &preferences_dialog); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/src/nemo-file-management-properties.glade new/nemo-3.0.2/src/nemo-file-management-properties.glade --- old/nemo-3.0.1/src/nemo-file-management-properties.glade 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/src/nemo-file-management-properties.glade 2016-05-20 13:27:25.000000000 +0200 @@ -251,7 +251,7 @@ <property name="can_focus">False</property> <property name="title" translatable="yes">File Management Preferences</property> <property name="window_position">center</property> - <property name="default_width">850</property> + <property name="default_width">800</property> <property name="default_height">600</property> <style> <class name="nemo-properties-dialog"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/src/nemo-icon-view.c new/nemo-3.0.2/src/nemo-icon-view.c --- old/nemo-3.0.1/src/nemo-icon-view.c 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/src/nemo-icon-view.c 2016-05-20 13:27:25.000000000 +0200 @@ -35,6 +35,7 @@ #include "nemo-window.h" #include "nemo-desktop-window.h" #include "nemo-desktop-manager.h" +#include "nemo-application.h" #include <stdlib.h> #include <eel/eel-vfs-extensions.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/src/nemo-list-view.c new/nemo-3.0.2/src/nemo-list-view.c --- old/nemo-3.0.1/src/nemo-list-view.c 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/src/nemo-list-view.c 2016-05-20 13:27:25.000000000 +0200 @@ -2103,7 +2103,7 @@ view->details->columns = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) g_free, - (GDestroyNotify) g_object_unref); + NULL); gtk_tree_view_set_enable_search (view->details->tree_view, TRUE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/src/nemo-pathbar.c new/nemo-3.0.2/src/nemo-pathbar.c --- old/nemo-3.0.1/src/nemo-pathbar.c 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/src/nemo-pathbar.c 2016-05-20 13:27:25.000000000 +0200 @@ -129,7 +129,7 @@ GtkWidget *down_slider_button; guint settings_signal_id; gint icon_size; - gint16 slider_width; + gint slider_width; gint16 spacing; gint16 button_offset; guint timer; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/src/nemo-places-sidebar.c new/nemo-3.0.2/src/nemo-places-sidebar.c --- old/nemo-3.0.1/src/nemo-places-sidebar.c 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/src/nemo-places-sidebar.c 2016-05-20 13:27:25.000000000 +0200 @@ -319,7 +319,7 @@ scale = gtk_widget_get_scale_factor (GTK_WIDGET (sidebar)); icon_theme = gtk_icon_theme_get_default (); icon_size = nemo_get_icon_size_for_stock_size (GTK_ICON_SIZE_MENU); - icon = g_themed_icon_new_with_default_fallbacks ("nemo-eject"); + icon = g_themed_icon_new ("nemo-eject"); icon_info = gtk_icon_theme_lookup_by_gicon_for_scale (icon_theme, icon, icon_size, scale, 0); style = gtk_widget_get_style_context (GTK_WIDGET (sidebar)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-3.0.1/src/nemo-window.c new/nemo-3.0.2/src/nemo-window.c --- old/nemo-3.0.1/src/nemo-window.c 2016-05-10 17:37:13.000000000 +0200 +++ new/nemo-3.0.2/src/nemo-window.c 2016-05-20 13:27:25.000000000 +0200 @@ -858,6 +858,12 @@ gtk_widget_show (GTK_WIDGET (window)); } +static gboolean +nemo_window_is_desktop (NemoWindow *window) +{ + return window->details->disable_chrome; +} + static void nemo_window_save_geometry (NemoWindow *window) { @@ -866,7 +872,7 @@ g_assert (NEMO_IS_WINDOW (window)); - if (gtk_widget_get_window (GTK_WIDGET (window))) { + if (gtk_widget_get_window (GTK_WIDGET (window)) && !nemo_window_is_desktop (window)) { geometry_string = eel_gtk_window_get_geometry_string (GTK_WINDOW (window)); is_maximized = gdk_window_get_state (gtk_widget_get_window (GTK_WIDGET (window))) & GDK_WINDOW_STATE_MAXIMIZED; @@ -1977,7 +1983,7 @@ nemo_window_state_event (GtkWidget *widget, GdkEventWindowState *event) { - if (event->changed_mask & GDK_WINDOW_STATE_MAXIMIZED) { + if (event->changed_mask & GDK_WINDOW_STATE_MAXIMIZED && !nemo_window_is_desktop (NEMO_WINDOW (widget))) { g_settings_set_boolean (nemo_window_state, NEMO_WINDOW_STATE_MAXIMIZED, event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED); }
