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