ash_switches.cc revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
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) 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Disable auto window maximization logic. 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const char kAshDisableAutoMaximizing[] = "ash-disable-auto-maximizing"; 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Disable support for auto window placement. 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshDisableAutoWindowPlacement[] = 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "ash-enable-auto-window-placement"; 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Disables boot animation v2, go back to v1. 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshDisableBootAnimation2[] = "ash-disable-boot-animation2"; 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Disables the limitter to throttle how quickly a user 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// can change display settings. 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshDisableDisplayChangeLimiter[] = 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) "ash-disable-display-change-limiter"; 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Disables creating a launcher per display. 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshDisableLauncherPerDisplay[] = "ash-disable-launcher-per-display"; 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 54c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Disable the new cras audio handler. 55c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const char kAshDisableNewAudioHandler[] = "ash-disable-new-audio-handler"; 56c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// If present new lock animations are enabled. 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshDisableNewLockAnimations[] = "ash-disable-new-lock-animations"; 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Disable new network handlers in the status area. 612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshDisableNewNetworkStatusArea[] = 622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) "ash-disable-new-network-status-area"; 632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Disable the per application grouping version of the launcher. 652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshDisablePerAppLauncher[] = "ash-disable-per-app-launcher"; 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Disables display rotation. 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshDisableDisplayRotation[] = "ash-disable-display-rotation"; 692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 70c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Disable immersive fullscreen mode, regardless of default setting. 71c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const char kAshDisableImmersiveFullscreen[] = 72c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) "ash-disable-immersive-fullscreen"; 73c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Disables ui scaling. 752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshDisableUIScaling[] = "ash-disable-ui-scaling"; 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 77c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Extend the status tray volume item to allow the user to choose an audio 78c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// input and output device. 79c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const char kAshEnableAudioDeviceMenu[] = 80c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) "ash-enable-audio-device-menu"; 81c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enable advanced gestures (e.g. for window management). 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshEnableAdvancedGestures[] = "ash-enable-advanced-gestures"; 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Always enable brightness control. Used by machines that don't report their 862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// main monitor as internal. 872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshEnableBrightnessControl[] = "ash-enable-brightness-control"; 882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 89c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Enable immersive fullscreen mode, regardless of default setting. 90c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const char kAshEnableImmersiveFullscreen[] = "ash-enable-immersive-fullscreen"; 91c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_LINUX) 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enable memory monitoring. 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshEnableMemoryMonitor[] = "ash-enable-memory-monitor"; 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enables the Oak tree viewer. 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshEnableOak[] = "ash-enable-oak"; 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 100c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Enables "sticky" edges instead of "snap-to-edge" 101c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const char kAshEnableStickyEdges[] = "ash-enable-sticky-edges"; 102c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enables showing the tray bubble by dragging on the shelf. 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshEnableTrayDragging[] = "ash-enable-tray-dragging"; 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Enable workspace switching via a three finger vertical scroll. 1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshEnableWorkspaceScrubbing[] = "ash-enable-workspace-scrubbing"; 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Sets a window size, optional position, and optional scale factor. 1102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// "1024x768" creates a window of size 1024x768. 1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// "100+200-1024x768" positions the window at 100,200. 1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// "1024x768*2" sets the scale factor to 2 for a high DPI display. 1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshHostWindowBounds[] = "ash-host-window-bounds"; 1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Hides the small tab indicators at the top of the screen during immersive 1162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// fullscreen mode. 1172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshImmersiveHideTabIndicators[] = 1182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) "ash-immersive-hide-tab-indicators"; 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Specifies the layout mode and offsets for the secondary display for 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// testing. The format is "<t|r|b|l>,<offset>" where t=TOP, r=RIGHT, 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// b=BOTTOM and L=LEFT. For example, 'r,-100' means the secondary display 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// is positioned on the right with -100 offset. (above than primary) 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshSecondaryDisplayLayout[] = "ash-secondary-display-layout"; 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enables the heads-up display for tracking touch points. 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshTouchHud[] = "ash-touch-hud"; 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 129c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Uses the 1st display in --ash-host-window-bounds as internal display. 130c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// This is for debugging on linux desktop. 131c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const char kAshUseFirstDisplayAsInternal[] = 132c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) "ash-use-first-display-as-internal"; 133c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// (Most) Chrome OS hardware reports ACPI power button releases correctly. 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Standard hardware reports releases immediately after presses. If set, we 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// lock the screen or shutdown the system immediately in response to a press 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// instead of displaying an interactive animation. 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAuraLegacyPowerButton[] = "aura-legacy-power-button"; 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(OS_WIN) 1412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Force Ash to open its root window on the desktop, even on Windows 8 where 1422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// it would normally end up in metro. 1432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kForceAshToDesktop[] = "ash-force-desktop"; 1442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 146c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Enables a mode which enforces all browser & application windows to be created 147c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// in maximized mode. 148c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const char kForcedMaximizeMode[] = "forced-maximize-mode"; 149c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace switches 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace ash 152