@@ -28,7 +28,9 @@ import "Dash"
2828import "Greeter"
2929import "Launcher"
3030import "Panel"
31+import "Hud"
3132import "Components"
33+import "Bottombar"
3234import "SideStage"
3335import "Notifications"
3436import Unity.Notifications 1.0 as NotificationBackend
@@ -401,7 +403,7 @@ FocusScope {
401403
402404 readonly property int backgroundTopMargin: -panel.panelHeight
403405
404− hides: [launcher, panel.indicators]
406+ hides: [launcher, panel.indicators, hud]
405407 shown: false
406408 enabled: true
407409 showAnimation: StandardAnimation { property: "opacity"; to: 1 }
@@ -456,7 +458,7 @@ FocusScope {
456458 objectName: "greeter"
457459
458460 available: true
459− hides: [launcher, panel.indicators]
461+ hides: [launcher, panel.indicators, hud]
460462 shown: true
461463
462464 defaultBackground: shell.background
@@ -543,7 +545,7 @@ FocusScope {
543545 InputFilterArea {
544546 anchors.fill: parent
545547 blockInput: !applicationFocused || greeter.shown || lockscreen.shown || launcher.shown
546− || panel.indicators.shown
548+ || panel.indicators.shown || hud.shown
547549 }
548550
549551 Connections {
@@ -605,6 +607,48 @@ FocusScope {
605607 }
606608 }
607609
610+ Hud {
611+ id: hud
612+
613+ width: parent.width > units.gu(60) ? units.gu(40) : parent.width
614+ height: parent.height
615+
616+ available: !greeter.shown && !panel.indicators.shown && !lockscreen.shown && edgeDemo.dashEnabled
617+ shown: false
618+ showAnimation: StandardAnimation { property: "y"; duration: hud.showableAnimationDuration; to: 0; easing.type: Easing.Linear }
619+ hideAnimation: StandardAnimation { property: "y"; duration: hud.showableAnimationDuration; to: hudRevealer.closedValue; easing.type: Easing.Linear }
620+
621+ Connections {
622+ target: shell.applicationManager
623+ onMainStageFocusedApplicationChanged: hud.hide()
624+ onSideStageFocusedApplicationChanged: hud.hide()
625+ }
626+ }
627+
628+ Revealer {
629+ id: hudRevealer
630+
631+ enabled: hud.shown
632+ width: hud.width
633+ anchors.left: hud.left
634+ height: parent.height
635+ target: hud.revealerTarget
636+ closedValue: height
637+ openedValue: 0
638+ direction: Qt.RightToLeft
639+ orientation: Qt.Vertical
640+ handleSize: hud.handleHeight
641+ onCloseClicked: target.hide()
642+ }
643+
644+ Bottombar {
645+ id: bottombar
646+ theHud: hud
647+ anchors.fill: parent
648+ enabled: hud.available
649+ applicationIsOnForeground: applicationFocused
650+ }
651+
608652 InputFilterArea {
609653 blockInput: launcher.shown
610654 anchors {
@@ -649,6 +693,8 @@ FocusScope {
649693 onShownChanged: {
650694 if (shown) {
651695 panel.indicators.hide()
696+ hud.hide()
697+ bottombar.hide()
652698 }
653699 }
654700 }