ash_switches.cc revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ash/ash_switches.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ash {
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace switches {
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enables an animated transition from the boot splash screen (Chrome logo on a
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// white background) to the login screen.  Implies
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// |kAshCopyHostBackgroundAtBoot| and doesn't make much sense if used in
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// conjunction with |kDisableBootAnimation| (since the transition begins at the
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// same time as the white/grayscale login screen animation).
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshAnimateFromBootSplashScreen[] =
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "ash-animate-from-boot-splash-screen";
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Variation of boot animation that uses Tween::EASE_OUT_2.
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshBootAnimationFunction2[] = "ash-boot-animation-function2";
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Variation of boot animation that uses Tween::EASE_OUT_3.
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshBootAnimationFunction3[] = "ash-boot-animation-function3";
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Constrains the pointer movement within a root window on desktop.
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshConstrainPointerToRoot[] = "ash-constrain-pointer-to-root";
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copies the host window's content to the system background layer at startup.
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Can make boot slightly slower, but also hides an even-longer awkward period
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// where we display a white background if the login wallpaper takes a long time
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// to load.
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshCopyHostBackgroundAtBoot[] = "ash-copy-host-background-at-boot";
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enable keyboard shortcuts useful for debugging.
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshDebugShortcuts[] = "ash-debug-shortcuts";
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Disable support for auto window placement.
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshDisableAutoWindowPlacement[] =
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "ash-enable-auto-window-placement";
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Disables boot animation v2, go back to v1.
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshDisableBootAnimation2[] = "ash-disable-boot-animation2";
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Disables the limitter to throttle how quickly a user
442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// can change display settings.
452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshDisableDisplayChangeLimiter[] =
462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "ash-disable-display-change-limiter";
472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Disables creating a launcher per display.
492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshDisableLauncherPerDisplay[] = "ash-disable-launcher-per-display";
502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// If present new lock animations are enabled.
522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshDisableNewLockAnimations[] = "ash-disable-new-lock-animations";
532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Disable new network handlers in the status area.
552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshDisableNewNetworkStatusArea[] =
562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "ash-disable-new-network-status-area";
572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Disable the per application grouping version of the launcher.
592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshDisablePerAppLauncher[] = "ash-disable-per-app-launcher";
602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Disables display rotation.
622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshDisableDisplayRotation[] = "ash-disable-display-rotation";
632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Disables ui scaling.
652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshDisableUIScaling[] = "ash-disable-ui-scaling";
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enable advanced gestures (e.g. for window management).
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshEnableAdvancedGestures[] = "ash-enable-advanced-gestures";
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Always enable brightness control. Used by machines that don't report their
712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// main monitor as internal.
722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshEnableBrightnessControl[] = "ash-enable-brightness-control";
732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_LINUX)
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enable memory monitoring.
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshEnableMemoryMonitor[] = "ash-enable-memory-monitor";
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enables the Oak tree viewer.
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshEnableOak[] = "ash-enable-oak";
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enables showing the tray bubble by dragging on the shelf.
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshEnableTrayDragging[] = "ash-enable-tray-dragging";
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Enable workspace switching via a three finger vertical scroll.
862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshEnableWorkspaceScrubbing[] = "ash-enable-workspace-scrubbing";
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Sets a window size, optional position, and optional scale factor.
892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// "1024x768" creates a window of size 1024x768.
902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// "100+200-1024x768" positions the window at 100,200.
912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// "1024x768*2" sets the scale factor to 2 for a high DPI display.
922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshHostWindowBounds[] = "ash-host-window-bounds";
932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Enable immersive fullscreen mode.
952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshImmersiveFullscreen[] = "ash-immersive-fullscreen";
962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Hides the small tab indicators at the top of the screen during immersive
982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// fullscreen mode.
992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshImmersiveHideTabIndicators[] =
1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "ash-immersive-hide-tab-indicators";
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Specifies the internal display's ui scale.
1032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshInternalDisplayUIScale[] = "ash-internal-display-ui-scale";
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Specifies the layout mode and offsets for the secondary display for
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// testing. The format is "<t|r|b|l>,<offset>" where t=TOP, r=RIGHT,
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// b=BOTTOM and L=LEFT. For example, 'r,-100' means the secondary display
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// is positioned on the right with -100 offset. (above than primary)
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshSecondaryDisplayLayout[] = "ash-secondary-display-layout";
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enables the heads-up display for tracking touch points.
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshTouchHud[] = "ash-touch-hud";
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// (Most) Chrome OS hardware reports ACPI power button releases correctly.
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Standard hardware reports releases immediately after presses.  If set, we
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// lock the screen or shutdown the system immediately in response to a press
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// instead of displaying an interactive animation.
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAuraLegacyPowerButton[] = "aura-legacy-power-button";
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(OS_WIN)
1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Force Ash to open its root window on the desktop, even on Windows 8 where
1222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// it would normally end up in metro.
1232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kForceAshToDesktop[] = "ash-force-desktop";
1242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles);
1252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace switches
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace ash
129