gala/lib/WindowManager.vala

61 lines
1.9 KiB
Vala
Raw Normal View History

2014-04-08 16:51:06 +04:00
//
2014-03-09 21:07:13 +04:00
// Copyright (C) 2014 Tom Beckmann
2014-04-08 16:51:06 +04:00
//
2014-03-09 21:07:13 +04:00
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
2014-04-08 16:51:06 +04:00
//
2014-03-09 21:07:13 +04:00
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
2014-04-08 16:51:06 +04:00
//
2014-03-09 21:07:13 +04:00
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
2014-04-08 16:51:06 +04:00
//
namespace Gala
{
public enum ActionType
{
NONE = 0,
SHOW_WORKSPACE_VIEW,
MAXIMIZE_CURRENT,
MINIMIZE_CURRENT,
OPEN_LAUNCHER,
CUSTOM_COMMAND,
WINDOW_OVERVIEW,
WINDOW_OVERVIEW_ALL
}
2014-04-08 16:51:06 +04:00
2014-03-09 21:04:43 +04:00
public enum InputArea
{
NONE,
FULLSCREEN,
HOT_CORNER
}
public interface WindowManager : Meta.Plugin
{
public abstract Clutter.Actor ui_group { get; protected set; }
public abstract Clutter.Stage stage { get; protected set; }
2014-04-07 16:41:14 +04:00
public abstract Clutter.Actor window_group { get; protected set; }
public abstract Clutter.Actor top_window_group { get; protected set; }
public abstract Meta.BackgroundGroup background_group { get; protected set; }
/**
* If true all keybindings will be blocked while modal mode is active.
*/
public abstract bool block_keybindings_in_modal { get; set; default = true; }
public abstract void begin_modal ();
public abstract void end_modal ();
2014-06-24 13:50:46 +04:00
public abstract bool is_modal ();
public abstract void perform_action (ActionType type);
public abstract void update_input_area ();
public abstract void move_window (Meta.Window? window, Meta.MotionDirection direction);
public abstract void switch_to_next_workspace (Meta.MotionDirection direction);
}
}