Go to the source code of this file.
A workspace is a set of windows which all live on the same screen. (You may also see the name "desktop" around the place, which is the EWMH's name for the same thing.) Only one workspace of a screen may be active at once; all windows on all other workspaces are unmapped.
Definition in file workspace.h.
| enum MetaMotionDirection |
Definition at line 41 of file workspace.h.
| void meta_workspace_activate | ( | MetaWorkspace * | workspace, | |
| guint32 | timestamp | |||
| ) |
Definition at line 363 of file workspace.c.
References meta_workspace_activate_with_focus(), and NULL.
Referenced by event_callback(), handle_activate_workspace(), handle_workspace_switch(), menu_callback(), meta_screen_new(), process_workspace_switch_grab(), and update_num_workspaces().
| void meta_workspace_activate_with_focus | ( | MetaWorkspace * | workspace, | |
| MetaWindow * | focus_this, | |||
| guint32 | timestamp | |||
| ) |
Definition at line 284 of file workspace.c.
References _MetaScreen::active_workspace, _MetaScreen::display, _MetaDisplay::grab_op, _MetaDisplay::grab_window, META_DEBUG_FOCUS, META_GRAB_OP_KEYBOARD_MOVING, META_GRAB_OP_MOVING, meta_screen_update_showing_desktop_hint(), meta_window_change_workspace(), meta_window_focus(), meta_window_raise(), meta_workspace_add_window(), meta_workspace_focus_default_window(), meta_workspace_index(), meta_workspace_queue_calc_showing(), meta_workspace_remove_window(), NULL, _MetaWindow::on_all_workspaces, _MetaWorkspace::screen, set_active_space_hint(), _MetaWorkspace::showing_desktop, and _MetaWindow::workspace.
Referenced by do_handle_move_to_workspace(), and meta_workspace_activate().
| void meta_workspace_add_window | ( | MetaWorkspace * | workspace, | |
| MetaWindow * | window | |||
| ) |
Definition at line 147 of file workspace.c.
References _MetaWindow::desc, META_DEBUG_WORKAREA, META_QUEUE_CALC_SHOWING, META_QUEUE_MOVE_RESIZE, meta_window_queue(), meta_window_set_current_workspace_hint(), meta_workspace_index(), meta_workspace_invalidate_work_area(), _MetaWorkspace::mru_list, NULL, _MetaWindow::on_all_workspaces, _MetaWindow::screen, _MetaWindow::struts, _MetaWorkspace::windows, _MetaWindow::workspace, and _MetaScreen::workspaces.
Referenced by meta_window_apply_session_info(), meta_window_change_workspace_without_transients(), meta_window_new_with_attrs(), meta_workspace_activate_with_focus(), and meta_workspace_relocate_windows().
| void meta_workspace_focus_default_window | ( | MetaWorkspace * | workspace, | |
| MetaWindow * | not_this_one, | |||
| guint32 | timestamp | |||
| ) |
Definition at line 788 of file workspace.c.
References _MetaDisplay::autoraise_window, _MetaWindow::desc, _MetaScreen::display, focus_ancestor_or_mru_window(), META_DEBUG_FOCUS, meta_display_focus_the_no_focus_window(), meta_display_queue_autoraise_callback(), META_FOCUS_MODE_CLICK, META_FOCUS_MODE_MOUSE, META_FOCUS_MODE_SLOPPY, meta_prefs_get_auto_raise(), meta_prefs_get_focus_mode(), meta_screen_get_mouse_window(), meta_warning(), META_WINDOW_DESKTOP, META_WINDOW_DOCK, meta_window_focus(), _MetaDisplay::mouse_mode, _MetaWorkspace::screen, and _MetaWindow::type.
Referenced by event_callback(), finish_minimize(), handle_toggle_desktop(), meta_core_user_lower_and_unfocus(), meta_window_delete(), meta_window_free(), meta_workspace_activate_with_focus(), and process_workspace_switch_grab().
| void meta_workspace_free | ( | MetaWorkspace * | workspace | ) |
Definition at line 83 of file workspace.c.
References _MetaScreen::active_workspace, _MetaWorkspace::all_struts, _MetaWorkspace::list_containing_self, meta_rectangle_free_list_and_elements(), meta_workspace_remove_window(), _MetaWorkspace::mru_list, _MetaScreen::n_xinerama_infos, NULL, _MetaWorkspace::screen, screen, _MetaWorkspace::screen_edges, _MetaWorkspace::screen_region, _MetaWorkspace::windows, _MetaWorkspace::work_area_xinerama, _MetaWorkspace::work_areas_invalid, _MetaWindow::workspace, _MetaScreen::workspaces, _MetaWorkspace::xinerama_edges, and _MetaWorkspace::xinerama_region.
Referenced by update_num_workspaces().
| const char* meta_workspace_get_name | ( | MetaWorkspace * | workspace | ) |
Definition at line 782 of file workspace.c.
References meta_prefs_get_workspace_name(), and meta_workspace_index().
Referenced by meta_core_get_workspace_name_with_index(), and meta_screen_ensure_workspace_popup().
| MetaWorkspace* meta_workspace_get_neighbor | ( | MetaWorkspace * | workspace, | |
| MetaMotionDirection | direction | |||
| ) |
Definition at line 722 of file workspace.c.
References MetaWorkspaceLayout::cols, MetaWorkspaceLayout::current_col, MetaWorkspaceLayout::current_row, MetaWorkspaceLayout::grid, meta_bug(), meta_motion_direction_to_string(), META_MOTION_DOWN, META_MOTION_LEFT, META_MOTION_RIGHT, META_MOTION_UP, meta_screen_calc_workspace_layout(), meta_screen_free_workspace_layout(), meta_screen_get_n_workspaces(), meta_screen_get_workspace_by_index(), META_UI_DIRECTION_LTR, meta_ui_get_direction(), meta_workspace_index(), num_workspaces, MetaWorkspaceLayout::rows, and _MetaWorkspace::screen.
Referenced by do_handle_move_to_workspace(), handle_activate_workspace(), handle_workspace_switch(), menu_callback(), and process_workspace_switch_grab().
| GList* meta_workspace_get_onscreen_region | ( | MetaWorkspace * | workspace | ) |
Definition at line 685 of file workspace.c.
References ensure_work_areas_validated(), and _MetaWorkspace::screen_region.
Referenced by setup_constraint_info().
| GList* meta_workspace_get_onxinerama_region | ( | MetaWorkspace * | workspace, | |
| int | which_xinerama | |||
| ) |
Definition at line 693 of file workspace.c.
References ensure_work_areas_validated(), and _MetaWorkspace::xinerama_region.
Referenced by place_window_if_needed(), and setup_constraint_info().
| void meta_workspace_get_work_area_all_xineramas | ( | MetaWorkspace * | workspace, | |
| MetaRectangle * | area | |||
| ) |
Definition at line 676 of file workspace.c.
References ensure_work_areas_validated(), and _MetaWorkspace::work_area_screen.
Referenced by meta_window_get_work_area_all_xineramas(), and set_work_area_hint().
| void meta_workspace_get_work_area_for_xinerama | ( | MetaWorkspace * | workspace, | |
| int | which_xinerama, | |||
| MetaRectangle * | area | |||
| ) |
Definition at line 663 of file workspace.c.
References ensure_work_areas_validated(), screen, and _MetaWorkspace::work_area_xinerama.
Referenced by get_work_area_xinerama().
| int meta_workspace_index | ( | MetaWorkspace * | workspace | ) |
Definition at line 370 of file workspace.c.
References meta_bug(), _MetaWorkspace::screen, and _MetaScreen::workspaces.
Referenced by ensure_work_areas_validated(), meta_core_get_active_workspace(), meta_screen_ensure_workspace_popup(), meta_window_apply_session_info(), meta_window_change_workspace_without_transients(), meta_window_get_net_wm_desktop(), meta_window_should_be_showing(), meta_window_show_menu(), meta_workspace_activate_with_focus(), meta_workspace_add_window(), meta_workspace_get_name(), meta_workspace_get_neighbor(), meta_workspace_invalidate_work_area(), meta_workspace_remove_window(), save_state(), and set_active_space_hint().
| void meta_workspace_invalidate_work_area | ( | MetaWorkspace * | workspace | ) |
Definition at line 439 of file workspace.c.
References _MetaWorkspace::all_struts, META_DEBUG_WORKAREA, META_QUEUE_MOVE_RESIZE, meta_rectangle_free_list_and_elements(), meta_screen_queue_workarea_recalc(), meta_window_queue(), meta_workspace_index(), meta_workspace_list_windows(), _MetaScreen::n_xinerama_infos, NULL, _MetaWorkspace::screen, _MetaWorkspace::screen_edges, _MetaWorkspace::screen_region, TRUE, windows, _MetaWorkspace::work_area_xinerama, _MetaWorkspace::work_areas_invalid, _MetaWorkspace::xinerama_edges, and _MetaWorkspace::xinerama_region.
Referenced by invalidate_work_areas(), meta_workspace_add_window(), meta_workspace_remove_window(), and reload_xinerama_infos().
| GList* meta_workspace_list_windows | ( | MetaWorkspace * | workspace | ) |
Definition at line 386 of file workspace.c.
References _MetaScreen::display, meta_display_list_windows(), meta_window_located_on_workspace(), NULL, and _MetaWorkspace::screen.
Referenced by ensure_work_areas_validated(), meta_workspace_invalidate_work_area(), and window_would_be_covered().
| MetaWorkspace* meta_workspace_new | ( | MetaScreen * | screen | ) |
Definition at line 49 of file workspace.c.
References _MetaWorkspace::all_struts, FALSE, _MetaRectangle::height, _MetaWorkspace::list_containing_self, maybe_add_to_list(), meta_screen_foreach_window(), _MetaWorkspace::mru_list, NULL, _MetaWorkspace::screen, _MetaWorkspace::screen_edges, _MetaWorkspace::screen_region, _MetaWorkspace::showing_desktop, TRUE, _MetaRectangle::width, _MetaWorkspace::windows, _MetaWorkspace::work_area_screen, _MetaWorkspace::work_area_xinerama, _MetaWorkspace::work_areas_invalid, _MetaScreen::workspaces, _MetaRectangle::x, _MetaWorkspace::xinerama_edges, _MetaWorkspace::xinerama_region, and _MetaRectangle::y.
Referenced by meta_screen_new(), and update_num_workspaces().
| void meta_workspace_relocate_windows | ( | MetaWorkspace * | workspace, | |
| MetaWorkspace * | new_home | |||
| ) |
Definition at line 242 of file workspace.c.
References meta_workspace_add_window(), meta_workspace_remove_window(), NULL, and _MetaWorkspace::windows.
Referenced by update_num_workspaces().
| void meta_workspace_remove_window | ( | MetaWorkspace * | workspace, | |
| MetaWindow * | window | |||
| ) |
Definition at line 196 of file workspace.c.
References _MetaWindow::desc, META_DEBUG_WORKAREA, META_QUEUE_CALC_SHOWING, META_QUEUE_MOVE_RESIZE, meta_window_queue(), meta_window_set_current_workspace_hint(), meta_workspace_index(), meta_workspace_invalidate_work_area(), _MetaWorkspace::mru_list, NULL, _MetaWindow::on_all_workspaces, _MetaWindow::screen, _MetaWindow::struts, _MetaWorkspace::windows, _MetaWindow::workspace, and _MetaScreen::workspaces.
Referenced by meta_window_apply_session_info(), meta_window_change_workspace_without_transients(), meta_window_free(), meta_workspace_activate_with_focus(), meta_workspace_free(), and meta_workspace_relocate_windows().
1.5.5