diff --git a/guacamole/src/main/frontend/src/app/client/controllers/clientController.js b/guacamole/src/main/frontend/src/app/client/controllers/clientController.js index 8cacc77dee..29860f23ce 100644 --- a/guacamole/src/main/frontend/src/app/client/controllers/clientController.js +++ b/guacamole/src/main/frontend/src/app/client/controllers/clientController.js @@ -468,8 +468,21 @@ angular.module('client').controller('clientController', ['$scope', '$routeParams else if (menuShownPreviousState) $scope.applyParameterChanges($scope.focusedClient); + /* Broadcast changes to the menu display state */ + $scope.$broadcast('guacMenuShown', menuShown); + }); + // Toggle the menu when the guacClientToggleMenu event is received + $scope.$on('guacToggleMenu', + () => $scope.menu.shown = !$scope.menu.shown); + + // Show the menu when the guacClientShowMenu event is received + $scope.$on('guacShowMenu', () => $scope.menu.shown = true); + + // Hide the menu when the guacClientHideMenu event is received + $scope.$on('guacHideMenu', () => $scope.menu.shown = false); + // Automatically track and cache the currently-focused client $scope.$on('guacClientFocused', function focusedClientChanged(event, newFocusedClient) {