void matenu_settings_set_by_atom (MatenuSettings* self, GdkAtom atom, const char* value) { g_return_if_fail (self != NULL); if (value != NULL) { GdkAtom type; type = gdk_atom_intern ("STRING", FALSE); gdk_property_change (self->priv->_window, atom, type, 8, GDK_PROP_MODE_REPLACE, value, ((gint) strlen (value)) + 1); } else { gdk_property_delete (self->priv->_window, atom); } }
/* Remove grab. */ static void ungrab_keyboard (GtkWidget *win, GdkEvent *event, gpointer data) { gdk_keyboard_ungrab (gdk_event_get_time (event)); /* Unmake window transient for the root window. */ /* gdk_window_set_transient_for cannot be used with parent = NULL to unset transient hint (unlike gtk_ version which can). Replacement code is taken from gtk_window_transient_parent_unrealized. */ gdk_property_delete (win->window, gdk_atom_intern_static_string ("WM_TRANSIENT_FOR")); }
static void window_transient_unrealize_gdk_cb (GtkWidget *widget) { GdkWindow *win; win = g_object_get_data (G_OBJECT (widget), "transient"); g_return_if_fail (win != NULL); gdk_property_delete ( win, gdk_atom_intern ("WM_TRANSIENT_FOR", FALSE)); }
static PyObject * PyGdkWindow_PropertyDelete(PyGdkWindow_Object *self, PyObject *args) { PyObject py_property; GdkAtom property; if (!PyArg_ParseTuple(args, "O:GdkWindow.property_delete", &property)) { return NULL; } property = pygdk_atom_from_pyobject(py_property); if (Pyerr_Occurred()) return NULL; gdk_property_delete(self->obj, property); Py_INCREF(Py_None); return Py_None; }
static void OssoSetWindowOrientation(bool aPortrait) { // If we locked the screen, ignore any orientation changes bool lockScreen = false; nsCOMPtr<nsIPrefBranch> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID); if (prefs) prefs->GetBoolPref("toolkit.screen.lock", &lockScreen); if (lockScreen) return; // Tell Hildon desktop to force our window to be either portrait or landscape, // depending on the current rotation // NOTE: We only update the most recent top-level window so this is only // suitable for apps with only one window. nsCOMPtr<nsIDOMWindow> window; GetMostRecentWindow(EmptyString().get(), getter_AddRefs(window)); GtkWidget* widget = WidgetForDOMWindow(window); if (widget && widget->window) { GdkWindow *gdk = widget->window; GdkAtom request = gdk_atom_intern("_HILDON_PORTRAIT_MODE_REQUEST", FALSE); if (aPortrait) { gulong portrait_set = 1; gdk_property_change(gdk, request, gdk_x11_xatom_to_atom(XA_CARDINAL), 32, GDK_PROP_MODE_REPLACE, (const guchar *) &portrait_set, 1); } else { gdk_property_delete(gdk, request); } } // Update the system info property nsCOMPtr<nsIWritablePropertyBag2> info = do_GetService("@mozilla.org/system-info;1"); if (info) { info->SetPropertyAsAString(NS_LITERAL_STRING("screen-orientation"), aPortrait ? NS_LITERAL_STRING("portrait") : NS_LITERAL_STRING("landscape")); } }
static void unrealize (GtkWidget *widget) { AthenaDesktopWindow *window; AthenaDesktopWindowDetails *details; GdkWindow *root_window; window = ATHENA_DESKTOP_WINDOW (widget); details = window->details; root_window = gdk_screen_get_root_window ( gtk_window_get_screen (GTK_WINDOW (window))); gdk_property_delete (root_window, gdk_atom_intern ("ATHENA_DESKTOP_WINDOW_ID", TRUE)); if (details->size_changed_id != 0) { g_signal_handler_disconnect (gtk_window_get_screen (GTK_WINDOW (window)), details->size_changed_id); details->size_changed_id = 0; } GTK_WIDGET_CLASS (athena_desktop_window_parent_class)->unrealize (widget); }