diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/display-private.h | 5 | ||||
-rw-r--r-- | src/core/display.c | 40 | ||||
-rw-r--r-- | src/core/edge-resistance.c | 18 | ||||
-rw-r--r-- | src/core/keybindings.c | 40 | ||||
-rw-r--r-- | src/core/place.c | 52 | ||||
-rw-r--r-- | src/core/prefs.c | 77 | ||||
-rw-r--r-- | src/core/window-private.h | 3 | ||||
-rw-r--r-- | src/core/window.c | 44 | ||||
-rw-r--r-- | src/core/workspace.c | 9 | ||||
-rw-r--r-- | src/core/xprops.c | 40 |
10 files changed, 224 insertions, 104 deletions
diff --git a/src/core/display-private.h b/src/core/display-private.h index dc270a96..069e0ccf 100644 --- a/src/core/display-private.h +++ b/src/core/display-private.h @@ -276,8 +276,6 @@ struct _MetaDisplay { #ifdef HAVE_COMPOSITE_EXTENSIONS int composite_event_base; int composite_error_base; - int composite_major_version; - int composite_minor_version; int damage_event_base; int damage_error_base; int xfixes_event_base; @@ -420,8 +418,7 @@ void meta_display_ungrab_focus_window_button (MetaDisplay *display, MetaWindow *window); /* Next two functions are defined in edge-resistance.c */ -void meta_display_compute_resistance_and_snapping_edges (MetaDisplay *display); -void meta_display_cleanup_edges (MetaDisplay *display); +void meta_display_cleanup_edges (MetaDisplay *display); /* make a request to ensure the event serial has changed */ void meta_display_increment_event_serial (MetaDisplay *display); diff --git a/src/core/display.c b/src/core/display.c index 6a4831fb..caa76247 100644 --- a/src/core/display.c +++ b/src/core/display.c @@ -558,6 +558,9 @@ meta_display_open (void) #ifdef HAVE_COMPOSITE_EXTENSIONS { + int composite_major_version = 0; + int composite_minor_version = 0; + the_display->have_composite = FALSE; the_display->composite_error_base = 0; @@ -572,18 +575,16 @@ meta_display_open (void) } else { - the_display->composite_major_version = 0; - the_display->composite_minor_version = 0; if (XCompositeQueryVersion (the_display->xdisplay, - &the_display->composite_major_version, - &the_display->composite_minor_version)) + &composite_major_version, + &composite_minor_version)) { the_display->have_composite = TRUE; } else { - the_display->composite_major_version = 0; - the_display->composite_minor_version = 0; + composite_major_version = 0; + composite_minor_version = 0; } } @@ -591,8 +592,8 @@ meta_display_open (void) "extn ver %d %d\n", the_display->composite_error_base, the_display->composite_event_base, - the_display->composite_major_version, - the_display->composite_minor_version); + composite_major_version, + composite_minor_version); the_display->have_damage = FALSE; @@ -3662,18 +3663,6 @@ meta_display_begin_grab_op (MetaDisplay *display, g_assert (display->grab_window != NULL || display->grab_screen != NULL); g_assert (display->grab_op != META_GRAB_OP_NONE); - /* If this is a move or resize, cache the window edges for - * resistance/snapping - */ - if (meta_grab_op_is_resizing (display->grab_op) || - meta_grab_op_is_moving (display->grab_op)) - { - meta_topic (META_DEBUG_WINDOW_OPS, - "Computing edges to resist-movement or snap-to for %s.\n", - window->desc); - meta_display_compute_resistance_and_snapping_edges (display); - } - /* Save the old stacking */ if (GRAB_OP_IS_WINDOW_SWITCH (display->grab_op)) { @@ -5401,17 +5390,6 @@ meta_display_remove_autoraise_callback (MetaDisplay *display) } } -#ifdef HAVE_COMPOSITE_EXTENSIONS -void -meta_display_get_compositor_version (MetaDisplay *display, - int *major, - int *minor) -{ - *major = display->composite_major_version; - *minor = display->composite_minor_version; -} -#endif - Display * meta_display_get_xdisplay (MetaDisplay *display) { diff --git a/src/core/edge-resistance.c b/src/core/edge-resistance.c index 51e77d54..aa4fcb6a 100644 --- a/src/core/edge-resistance.c +++ b/src/core/edge-resistance.c @@ -63,6 +63,8 @@ struct MetaEdgeResistanceData ResistanceDataForAnEdge bottom_data; }; +static void compute_resistance_and_snapping_edges (MetaDisplay *display); + /* !WARNING!: this function can return invalid indices (namely, either -1 or * edges->len); this is by design, but you need to remember this. */ @@ -550,7 +552,9 @@ apply_edge_resistance_to_each_side (MetaDisplay *display, gboolean modified; int new_left, new_right, new_top, new_bottom; - g_assert (display->grab_edge_resistance_data != NULL); + if (display->grab_edge_resistance_data == NULL) + compute_resistance_and_snapping_edges (display); + edge_data = display->grab_edge_resistance_data; if (auto_snap) @@ -671,7 +675,8 @@ meta_display_cleanup_edges (MetaDisplay *display) MetaEdgeResistanceData *edge_data = display->grab_edge_resistance_data; GHashTable *edges_to_be_freed; - g_assert (edge_data != NULL); + if (edge_data == NULL) /* Not currently cached */ + return; /* We first need to clean out any window edges */ edges_to_be_freed = g_hash_table_new_full (g_direct_hash, g_direct_equal, @@ -938,8 +943,8 @@ initialize_grab_edge_resistance_data (MetaDisplay *display) edge_data->bottom_data.keyboard_buildup = 0; } -void -meta_display_compute_resistance_and_snapping_edges (MetaDisplay *display) +static void +compute_resistance_and_snapping_edges (MetaDisplay *display) { GList *stacked_windows; GList *cur_window_iter; @@ -952,6 +957,11 @@ meta_display_compute_resistance_and_snapping_edges (MetaDisplay *display) */ GSList *rem_windows, *rem_win_stacking; + g_assert (display->grab_window != NULL); + meta_topic (META_DEBUG_WINDOW_OPS, + "Computing edges to resist-movement or snap-to for %s.\n", + display->grab_window->desc); + /* * 1st: Get the list of relevant windows, from bottom to top */ diff --git a/src/core/keybindings.c b/src/core/keybindings.c index 821d432a..068199b8 100644 --- a/src/core/keybindings.c +++ b/src/core/keybindings.c @@ -2329,7 +2329,7 @@ static void error_on_command (int command_index, const char *command, const char *message, - int screen_number, + const char *screen_name, guint32 timestamp) { if (command_index < 0) @@ -2358,7 +2358,7 @@ error_on_command (int command_index, meta_show_dialog ("--error", text, NULL, - screen_number, + screen_name, NULL, NULL, 0, NULL, NULL); @@ -2370,7 +2370,7 @@ error_on_command (int command_index, meta_show_dialog ("--error", message, NULL, - screen_number, + screen_name, NULL, NULL, 0, NULL, NULL); } @@ -2441,7 +2441,7 @@ handle_run_command (MetaDisplay *display, s = g_strdup_printf (_("No command %d has been defined.\n"), which + 1); - error_on_command (which, NULL, s, screen->number, event->xkey.time); + error_on_command (which, NULL, s, screen->screen_name, event->xkey.time); g_free (s); return; @@ -2450,7 +2450,7 @@ handle_run_command (MetaDisplay *display, err = NULL; if (!meta_spawn_command_line_async_on_screen (command, screen, &err)) { - error_on_command (which, command, err->message, screen->number, event->xkey.time); + error_on_command (which, command, err->message, screen->screen_name, event->xkey.time); g_error_free (err); } @@ -3058,7 +3058,6 @@ handle_toggle_above (MetaDisplay *display, meta_window_make_above (window); } -/* TODO: actually use this keybinding, without messing up the existing keybinding schema */ static void handle_toggle_tiled (MetaDisplay *display, MetaScreen *screen, @@ -3071,14 +3070,20 @@ handle_toggle_tiled (MetaDisplay *display, if ((META_WINDOW_TILED_LEFT (window) && mode == META_TILE_LEFT) || (META_WINDOW_TILED_RIGHT (window) && mode == META_TILE_RIGHT)) { - window->tile_mode = META_TILE_NONE; - if (window->saved_maximize) - meta_window_maximize (window, META_MAXIMIZE_VERTICAL | - META_MAXIMIZE_HORIZONTAL); - else - meta_window_unmaximize (window, META_MAXIMIZE_VERTICAL | + { + window->tile_mode = META_TILE_MAXIMIZED; + window->tile_monitor_number = meta_screen_get_xinerama_for_window (window->screen, window)->number; + meta_window_maximize (window, META_MAXIMIZE_VERTICAL | META_MAXIMIZE_HORIZONTAL); + } + else + { + window->tile_mode = META_TILE_NONE; + window->tile_monitor_number = -1; + meta_window_unmaximize (window, META_MAXIMIZE_VERTICAL | + META_MAXIMIZE_HORIZONTAL); + } } else if (meta_window_can_tile (window)) { @@ -3090,6 +3095,13 @@ handle_toggle_tiled (MetaDisplay *display, * we just set the flag and rely on meta_window_tile() syncing it to * save an additional roundtrip. */ + + /* If we skip meta_window_unmaximize we have to manually reset the + * window->saved_maximize flag. + */ + if (!META_WINDOW_MAXIMIZED (window)) + window->saved_maximize = FALSE; + window->maximized_horizontally = FALSE; meta_window_tile (window); } @@ -3439,7 +3451,7 @@ handle_run_terminal (MetaDisplay *display, "keybinding press\n"); s = g_strdup_printf (_("No terminal command has been defined.\n")); - error_on_command (-1, NULL, s, screen->number, event->xkey.time); + error_on_command (-1, NULL, s, screen->screen_name, event->xkey.time); g_free (s); return; @@ -3448,7 +3460,7 @@ handle_run_terminal (MetaDisplay *display, err = NULL; if (!meta_spawn_command_line_async_on_screen (command, screen, &err)) { - error_on_command (-1, command, err->message, screen->number, + error_on_command (-1, command, err->message, screen->screen_name, event->xkey.time); g_error_free (err); diff --git a/src/core/place.c b/src/core/place.c index 99cedd14..bcfafe42 100644 --- a/src/core/place.c +++ b/src/core/place.c @@ -87,6 +87,47 @@ northwestcmp (gconstpointer a, gconstpointer b) return 0; } +static gboolean +place_by_pointer(MetaWindow *window, + MetaFrameGeometry *fgeom, + MetaPlacementMode placement_mode, + int *new_x, + int *new_y) +{ + int window_width, window_height; + Window root_return, child_return; + int root_x_return, root_y_return; + int win_x_return, win_y_return; + unsigned int mask_return; + + XQueryPointer (window->display->xdisplay, + window->screen->xroot, + &root_return, + &child_return, + &root_x_return, + &root_y_return, + &win_x_return, + &win_y_return, + &mask_return); + + window_width = window->frame ? window->frame->rect.width : window->rect.width; + window_height = window->frame ? window->frame->rect.height : window->rect.height; + + if (fgeom) { + *new_x = root_x_return + fgeom->left_width - window_width / 2; + *new_y = root_y_return + fgeom->top_height - window_height / 2; + } + else { + *new_x = root_x_return - window_width / 2; + *new_y = root_y_return - window_height / 2; + } + + if (placement_mode == META_PLACEMENT_MODE_MANUAL) + window->move_after_placement = TRUE; + + return TRUE; +} + static void find_next_cascade (MetaWindow *window, MetaFrameGeometry *fgeom, @@ -663,6 +704,7 @@ meta_window_place (MetaWindow *window, { GList *windows; const MetaXineramaScreenInfo *xi; + MetaPlacementMode placement_mode; /* frame member variables should NEVER be used in here, only * MetaFrameGeometry. But remember fgeom == NULL @@ -853,6 +895,16 @@ meta_window_place (MetaWindow *window, x = xi->rect.x; y = xi->rect.y; + /* Placement based on pointer position */ + placement_mode = meta_prefs_get_placement_mode(); + + if (placement_mode == META_PLACEMENT_MODE_POINTER || + placement_mode == META_PLACEMENT_MODE_MANUAL) + { + if (place_by_pointer (window, fgeom, placement_mode, &x, &y)) + goto done_check_denied_focus; + } + if (find_first_fit (window, fgeom, windows, xi->number, x, y, &x, &y)) diff --git a/src/core/prefs.c b/src/core/prefs.c index 8847614e..2f3e9392 100644 --- a/src/core/prefs.c +++ b/src/core/prefs.c @@ -162,10 +162,14 @@ static void button_layout_handler (MetaPreference, const gchar*, gboolean*); static gboolean update_binding (MetaKeyPref *binding, gchar *value); -static void init_bindings (void); +static void init_bindings (GSettings *); +static void init_screen_bindings (void); +static void init_window_bindings (void); static void init_commands (void); static void init_workspace_names (void); +static MetaPlacementMode placement_mode = META_PLACEMENT_MODE_AUTOMATIC; + typedef struct { MetaPrefsChangedFunc func; @@ -315,6 +319,11 @@ static MetaEnumPreference preferences_enum[] = META_PREF_ACTION_RIGHT_CLICK_TITLEBAR, (gint *) &action_right_click_titlebar, }, + { "placement-mode", + KEY_GENERAL_SCHEMA, + META_PREF_PLACEMENT_MODE, + (gint *) &placement_mode, + }, { NULL, NULL, 0, NULL }, }; @@ -890,13 +899,6 @@ meta_prefs_init (void) g_hash_table_insert (settings_schemas, KEY_MATE_TERMINAL_SCHEMA, settings_mate_terminal); g_hash_table_insert (settings_schemas, KEY_MATE_MOUSE_SCHEMA, settings_mate_mouse); - /* Pick up initial values. */ - - handle_preference_init_enum (); - handle_preference_init_bool (); - handle_preference_init_string (); - handle_preference_init_int (); - g_signal_connect (settings_general, "changed", G_CALLBACK (change_notify), NULL); g_signal_connect (settings_command, "changed", G_CALLBACK (change_notify), NULL); g_signal_connect (settings_screen_bindings, "changed", G_CALLBACK (change_notify), NULL); @@ -909,7 +911,15 @@ meta_prefs_init (void) g_signal_connect (settings_mate_mouse, "changed::" KEY_MATE_MOUSE_CURSOR_THEME, G_CALLBACK (change_notify), NULL); g_signal_connect (settings_mate_mouse, "changed::" KEY_MATE_MOUSE_CURSOR_SIZE, G_CALLBACK (change_notify), NULL); - init_bindings (); + /* Pick up initial values. */ + + handle_preference_init_enum (); + handle_preference_init_bool (); + handle_preference_init_string (); + handle_preference_init_int (); + + init_screen_bindings (); + init_window_bindings (); init_commands (); init_workspace_names (); } @@ -972,7 +982,7 @@ change_notify (GSettings *settings, g_free(str); } - else if (g_strcmp0 (schema_name, KEY_WORKSPACE_NAME_SCHEMA)) + else if (g_strcmp0 (schema_name, KEY_WORKSPACE_NAME_SCHEMA) == 0) { gchar *str; str = g_settings_get_string (settings, key); @@ -1553,6 +1563,9 @@ meta_preference_to_string (MetaPreference pref) case META_PREF_SIDE_BY_SIDE_TILING: return "SIDE_BY_SIDE_TILING"; + + case META_PREF_PLACEMENT_MODE: + return "PLACEMENT_MODE"; } return "(unknown)"; @@ -1582,32 +1595,32 @@ static MetaKeyPref key_bindings[] = { #undef keybind static void -init_bindings (void) +init_bindings (GSettings *settings) { - const char *prefix[] = { - KEY_WINDOW_BINDINGS_SCHEMA, - KEY_SCREEN_BINDINGS_SCHEMA, - NULL - }; - int i; gchar **list = NULL; gchar *str_val = NULL; - GSettings *bindings_settings = NULL; - for (i = 0; prefix[i]; i++) + list = g_settings_list_keys (settings); + while (*list != NULL) { - bindings_settings = g_settings_new (prefix [i]); - list = g_settings_list_keys (bindings_settings); - while (*list != NULL) - { - str_val = g_settings_get_string (bindings_settings, *list); - update_key_binding (*list, str_val); - list++; - } + str_val = g_settings_get_string (settings, *list); + update_key_binding (*list, str_val); + list++; } + g_free (str_val); - g_object_unref (bindings_settings); +} + +static void +init_screen_bindings (void) +{ + init_bindings (settings_screen_bindings); +} +static void +init_window_bindings (void) +{ + init_bindings (settings_window_bindings); } static void @@ -1623,6 +1636,7 @@ init_commands (void) update_command (*list, str_val); list++; } + g_free (str_val); } @@ -1639,6 +1653,7 @@ init_workspace_names (void) update_workspace_name (*list, str_val); list++; } + g_free (str_val); } @@ -2236,6 +2251,12 @@ meta_prefs_get_force_fullscreen (void) return force_fullscreen; } +MetaPlacementMode +meta_prefs_get_placement_mode (void) +{ + return placement_mode; +} + void meta_prefs_set_force_compositing_manager (gboolean whether) { diff --git a/src/core/window-private.h b/src/core/window-private.h index 20e619cb..0b3cf594 100644 --- a/src/core/window-private.h +++ b/src/core/window-private.h @@ -139,6 +139,9 @@ struct _MetaWindow guint maximize_vertically_after_placement : 1; guint minimize_after_placement : 1; + /* Whether to move after placement */ + guint move_after_placement : 1; + /* The current or requested tile mode. If maximized_vertically is true, * this is the current mode. If not, it is the mode which will be * requested after the window grab is released */ diff --git a/src/core/window.c b/src/core/window.c index 95d49885..30ebfa85 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -461,6 +461,7 @@ meta_window_new_with_attrs (MetaDisplay *display, window->maximize_horizontally_after_placement = FALSE; window->maximize_vertically_after_placement = FALSE; window->minimize_after_placement = FALSE; + window->move_after_placement = FALSE; window->fullscreen = FALSE; window->fullscreen_after_placement = FALSE; window->fullscreen_monitors[0] = -1; @@ -2346,6 +2347,13 @@ meta_window_show (MetaWindow *window) if (takes_focus_on_map) { meta_window_focus (window, timestamp); + + if (window->move_after_placement) + { + meta_window_begin_grab_op(window, META_GRAB_OP_KEYBOARD_MOVING, + FALSE, timestamp); + window->move_after_placement = FALSE; + } } else { @@ -2670,14 +2678,9 @@ meta_window_maximize (MetaWindow *window, if (window->tile_mode != META_TILE_NONE) { saved_rect = &window->saved_rect; - window->maximized_vertically = FALSE; - } - - if (window->tile_mode != META_TILE_NONE) - { - saved_rect = &window->saved_rect; window->maximized_vertically = FALSE; + window->tile_mode = META_TILE_NONE; } meta_window_maximize_internal (window, @@ -2751,7 +2754,7 @@ meta_window_can_tile (MetaWindow *window) MetaRectangle tile_area; /*if (!META_WINDOW_ALLOWS_RESIZE (window))*/ - if (!META_WINDOW_ALLOWS_RESIZE (window)) + if (!meta_window_can_tile_maximized (window) || window->shaded) return FALSE; monitor = meta_screen_get_current_xinerama (window->screen); @@ -2780,15 +2783,6 @@ meta_window_unmaximize (MetaWindow *window, /* At least one of the two directions ought to be set */ gboolean unmaximize_horizontally, unmaximize_vertically; - /* Restore tiling if necessary */ - if (window->tile_mode == META_TILE_LEFT || - window->tile_mode == META_TILE_RIGHT) - { - window->maximized_horizontally = FALSE; - meta_window_tile (window); - return; - } - unmaximize_horizontally = directions & META_MAXIMIZE_HORIZONTAL; unmaximize_vertically = directions & META_MAXIMIZE_VERTICAL; g_assert (unmaximize_horizontally || unmaximize_vertically); @@ -3333,6 +3327,7 @@ send_sync_request (MetaWindow *window) ev.data.l[1] = meta_display_get_current_time (window->display); ev.data.l[2] = XSyncValueLow32 (value); ev.data.l[3] = XSyncValueHigh32 (value); + ev.data.l[4] = 0; /* We don't need to trap errors here as we are already * inside an error_trap_push()/pop() pair. @@ -5194,8 +5189,7 @@ meta_window_client_message (MetaWindow *window, { meta_verbose ("WM_CHANGE_STATE client message, state: %ld\n", event->xclient.data.l[0]); - if (event->xclient.data.l[0] == IconicState && - window->has_minimize_func) + if (event->xclient.data.l[0] == IconicState) meta_window_minimize (window); return TRUE; @@ -5599,6 +5593,8 @@ static gboolean process_property_notify (MetaWindow *window, XPropertyEvent *event) { + Window xid = window->xwindow; + if (meta_is_verbose ()) /* avoid looking up the name if we don't have to */ { char *property_name = XGetAtomName (window->display->xdisplay, @@ -5609,7 +5605,13 @@ process_property_notify (MetaWindow *window, XFree (property_name); } - meta_window_reload_property (window, event->atom, FALSE); + if (event->atom == window->display->atom__NET_WM_USER_TIME && + window->user_time_window) + { + xid = window->user_time_window; + } + + meta_window_reload_property_from_xwindow (window, xid, event->atom, FALSE); return TRUE; } @@ -6735,8 +6737,8 @@ meta_window_show_menu (MetaWindow *window, if (!window->has_maximize_func) insensitive |= META_MENU_OP_UNMAXIMIZE | META_MENU_OP_MAXIMIZE; - /*if (!window->has_minimize_func) - insensitive |= META_MENU_OP_MINIMIZE;*/ + if (!window->has_minimize_func) + insensitive |= META_MENU_OP_MINIMIZE; /*if (!window->has_close_func) insensitive |= META_MENU_OP_DELETE;*/ diff --git a/src/core/workspace.c b/src/core/workspace.c index d61529d2..e2a397a0 100644 --- a/src/core/workspace.c +++ b/src/core/workspace.c @@ -382,6 +382,10 @@ meta_workspace_activate_with_focus (MetaWorkspace *workspace, if (workspace->screen->active_workspace) workspace_switch_sound(workspace->screen->active_workspace, workspace); + /* Free any cached pointers to the workspaces's edges from + * a current resize or move operation */ + meta_display_cleanup_edges (workspace->screen->display); + /* Note that old can be NULL; e.g. when starting up */ old = workspace->screen->active_workspace; @@ -545,6 +549,11 @@ meta_workspace_invalidate_work_area (MetaWorkspace *workspace) "Invalidating work area for workspace %d\n", meta_workspace_index (workspace)); + /* If we are in the middle of a resize or move operation, we + * might have cached pointers to the workspace's edges */ + if (workspace == workspace->screen->active_workspace) + meta_display_cleanup_edges (workspace->screen->display); + g_free (workspace->work_area_xinerama); workspace->work_area_xinerama = NULL; diff --git a/src/core/xprops.c b/src/core/xprops.c index f9b4578a..a54e2185 100644 --- a/src/core/xprops.c +++ b/src/core/xprops.c @@ -264,6 +264,16 @@ cardinal_list_from_results (GetPropertyResults *results, *n_cardinals_p = results->n_items; results->prop = NULL; +#if GLIB_SIZEOF_LONG == 8 + /* Xlib sign-extends format=32 items, but we want them unsigned */ + { + int i; + + for (i = 0; i < *n_cardinals_p; i++) + (*cardinals_p)[i] = (*cardinals_p)[i] & 0xffffffff; + } +#endif + return TRUE; } @@ -608,6 +618,10 @@ cardinal_with_atom_type_from_results (GetPropertyResults *results, return FALSE; *cardinal_p = *(gulong*) results->prop; +#if GLIB_SIZEOF_LONG == 8 + /* Xlib sign-extends format=32 items, but we want them unsigned */ + *cardinal_p &= 0xffffffff; +#endif XFree (results->prop); results->prop = NULL; @@ -632,6 +646,29 @@ meta_prop_get_cardinal_with_atom_type (MetaDisplay *display, return cardinal_with_atom_type_from_results (&results, prop_type, cardinal_p); } +static char * +text_property_to_utf8 (Display *xdisplay, + const XTextProperty *prop) +{ + char *ret = NULL; + char **local_list = NULL; + int count = 0; + int res; + + res = XmbTextPropertyToTextList (xdisplay, prop, &local_list, &count); + if (res == XNoMemory || res == XLocaleNotSupported || res == XConverterNotFound) + goto out; + + if (count == 0) + goto out; + + ret = g_strdup (local_list[0]); + + out: + meta_XFree (local_list); + return ret; +} + static gboolean text_property_from_results (GetPropertyResults *results, char **utf8_str_p) @@ -646,8 +683,7 @@ text_property_from_results (GetPropertyResults *results, tp.format = results->format; tp.nitems = results->n_items; - *utf8_str_p = meta_text_property_to_utf8 (results->display->xdisplay, - &tp); + *utf8_str_p = text_property_to_utf8 (results->display->xdisplay, &tp); if (tp.value != NULL) XFree (tp.value); |