// -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*- /* * Copyright (C) 2010 Canonical Ltd * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3 as * published by the Free Software Foundation. * * 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Authored by: Jason Smith * Tim Penhey */ #ifndef LAUNCHEROPTIONS_H #define LAUNCHEROPTIONS_H #include #include #include #include #include namespace unity { namespace launcher { enum LauncherHideMode { LAUNCHER_HIDE_NEVER, LAUNCHER_HIDE_AUTOHIDE, }; enum LaunchAnimation { LAUNCH_ANIMATION_NONE, LAUNCH_ANIMATION_PULSE, LAUNCH_ANIMATION_BLINK, }; enum UrgentAnimation { URGENT_ANIMATION_NONE, URGENT_ANIMATION_PULSE, URGENT_ANIMATION_WIGGLE, }; enum AutoHideAnimation { FADE_OR_SLIDE, SLIDE_ONLY, FADE_ONLY, FADE_AND_SLIDE, }; enum BacklightMode { BACKLIGHT_ALWAYS_ON, BACKLIGHT_NORMAL, BACKLIGHT_ALWAYS_OFF, BACKLIGHT_EDGE_TOGGLE, BACKLIGHT_NORMAL_EDGE_TOGGLE }; enum RevealTrigger { EDGE, CORNER, }; class Options : public sigc::trackable { public: typedef std::shared_ptr Ptr; Options(); nux::Property hide_mode; nux::Property launch_animation; nux::Property urgent_animation; nux::Property auto_hide_animation; nux::Property backlight_mode; nux::Property reveal_trigger; nux::Property background_color; nux::Property background_alpha; nux::Property icon_size; nux::Property tile_size; nux::Property super_tap_duration; nux::Property edge_decay_rate; nux::Property edge_overcome_pressure; nux::Property edge_stop_velocity; nux::Property edge_reveal_pressure; nux::Property edge_responsiveness; nux::Property edge_passed_disabled_ms; nux::Property edge_resist; nux::Property show_for_all; nux::Property scroll_inactive_icons; nux::Property minimize_window_on_click; sigc::signal option_changed; private: glib::Source::UniquePtr changed_idle_; }; } } #endif // LAUNCHEROPTIONS_H