private void CreateSubMenuItems() { PlayerSubMenuItem = new NativeSubmenuItem(PlayerUI, UI); WeaponSubMenuItem = new NativeSubmenuItem(WeaponUI, UI); VehicleSubMenuItem = new NativeSubmenuItem(VehicleUI, UI); VehicleSpawnerSubMenuItem = new NativeSubmenuItem(VehicleSpawnerUI, VehicleUI); Pool.Add(UI); UI.Add(PlayerSubMenuItem); UI.Add(WeaponSubMenuItem); UI.Add(VehicleSubMenuItem); Pool.Add(PlayerUI); PlayerUI.Add(GodMode); PlayerUI.Add(WantedLevel); Pool.Add(WeaponUI); WeaponUI.Add(GiveAllWeapons); WeaponUI.Add(GiveWeapon); WeaponUI.Add(RemoveAllWeapons); Pool.Add(VehicleUI); Pool.Add(VehicleSpawnerUI); VehicleUI.Add(VehicleSpawnerSubMenuItem); VehicleUI.Add(RepairVehicle); VehicleSpawnerUI.Add(SpawnInVehicle); CreateVehicleSpawners(); }
public Basics() { // Add the events of the menu and the items menu.Shown += Menu_Shown; menu.Closing += Menu_Closing; showLoadingScreen.Activated += ShowLoadingScreen_Activated; showBigMessage.Activated += ShowBigMessage_Activated; useMouse.CheckboxChanged += UseMouse_CheckboxChanged; flip.Activated += Flip_Activated; clear.Activated += Clear_Activated; addRandom.Activated += AddRandom_Activated; removeRandom.Activated += RemoveRandom_Activated; // And then the items and submenus themselves menu.Add(keepOpen); menu.Add(showLoadingScreen); menu.Add(showBigMessage); menu.Add(useMouse); menu.Add(flip); menu.Add(clear); menu.AddSubMenu(submenu); submenu.Add(addRandom); submenu.Add(removeRandom); // Items need to be part of the pool, so add them pool.Add(menu); pool.Add(submenu); pool.Add(collection); pool.Add(loadingScreen); pool.Add(bigMessage); // Add the tick event Tick += Basics_Tick; }
private IList <NativeMenuItemBase> GetNativeItems(IEnumerable <MenuItemModel> items, NativeMenu menu = null) { var result = new List <NativeMenuItemBase>(); foreach (var item in items) { if (item is MenuItemSeparatorModel) { if (menu != null) { menu.Add(new NativeMenuItemSeperator()); } else { result.Add(new NativeMenuItemSeperator()); } } else { var gesture = item.Gesture; var nativeItem = new NativeMenuItem { Header = item.Label, Command = item.Command, }; if (gesture != null) { nativeItem.Gesture = KeyGesture.Parse(gesture); } if (nativeItem.Header == null) { nativeItem.Header = ""; } if (item.Children != null && item.Children.Any()) { var nativeMenu = new NativeMenu(); GetNativeItems(item.Children, nativeMenu); nativeItem.Menu = nativeMenu; } if (menu != null) { menu.Add(nativeItem); } else { result.Add(nativeItem); } } } return(result); }
static IDisposable?InitMenuItems(NativeMenu menu) { #if !TRAY_INDEPENDENT_PROGRAM if (IViewModelManager.Instance.MainWindow is not MainWindowViewModel main) { return(null); } #else MainWindowViewModel main = new(); #endif var query = from x in main.AllTabItems let tabItem = x is TabItemViewModel item ? item : null where tabItem != null select tabItem; tabItems = new(); foreach (var item in query) { var menuItem = new NativeMenuItem { Header = item.Name, Command = ReactiveCommand.Create(() => { OnMenuClick(item.Id); }), }; tabItems.Add(item, menuItem); menu.Add(menuItem); } exitMenuItem = new NativeMenuItem { Header = Exit, Command = ReactiveCommand.Create(() => { OnMenuClick(TaskBarWindowViewModel.CommandExit); }), }; menu.Add(exitMenuItem); #if !TRAY_INDEPENDENT_PROGRAM return(R.Subscribe(() => { if (exitMenuItem != null) { exitMenuItem.Header = Exit; } foreach (var item in tabItems) { item.Value.Header = item.Key.Name; } })); #else return(null); #endif }
public static void Main() #endif { // Add the events of the menu and the items menu.Shown += Menu_Shown; menu.Closing += Menu_Closing; showLoadingScreen.Activated += ShowLoadingScreen_Activated; showBigMessage.Activated += ShowBigMessage_Activated; useMouse.CheckboxChanged += UseMouse_CheckboxChanged; flip.Activated += Flip_Activated; randomFont.Activated += RandomFont_Activated; showHack.Activated += ShowHack_Activated; clear.Activated += Clear_Activated; addRandom.Activated += AddRandom_Activated; removeRandom.Activated += RemoveRandom_Activated; // And then the items and submenus themselves menu.Add(keepOpen); menu.Add(showLoadingScreen); menu.Add(showBigMessage); menu.Add(useMouse); menu.Add(flip); menu.Add(randomFont); menu.Add(showHack); menu.Add(clear); menu.AddSubMenu(submenu); submenu.Add(addRandom); submenu.Add(removeRandom); // Items need to be part of the pool, so add them pool.Add(menu); pool.Add(submenu); pool.Add(collection); pool.Add(loadingScreen); pool.Add(bigMessage); pool.Add(hacking); // Add the tick event for FiveM, SHVDN2 and SHVDN3 #if (FIVEM || SHVDN2 || SHVDN3) Tick += Basics_Tick; #elif RPH // Or on RagePluginHook, keep it running while (true) { Tick(); GameFiber.Yield(); } #endif }
public static void Main() #endif { // Add the events of the menu and the items menu.Shown += Menu_Shown; menu.Closing += Menu_Closing; showLoadingScreen.Activated += ShowLoadingScreen_Activated; showBigMessage.Activated += ShowBigMessage_Activated; useMouse.CheckboxChanged += UseMouse_CheckboxChanged; flip.Activated += Flip_Activated; clear.Activated += Clear_Activated; addRandom.Activated += AddRandom_Activated; removeRandom.Activated += RemoveRandom_Activated; // And then the items and submenus themselves menu.Add(keepOpen); menu.Add(showLoadingScreen); menu.Add(showBigMessage); menu.Add(useMouse); menu.Add(flip); menu.Add(clear); menu.AddSubMenu(submenu); submenu.Add(addRandom); submenu.Add(removeRandom); // Items need to be part of the pool, so add them pool.Add(menu); pool.Add(submenu); pool.Add(collection); pool.Add(loadingScreen); pool.Add(bigMessage); #if !RAGE // Add the tick event Tick += Basics_Tick; #else // There is no tick event in RAGE. It doesn't work that way. gameFiber = GameFiber.StartNew( () => { while (true) { Basics_Tick(); } } ); #endif }
private void CreateVehicleSpawners() { foreach (VehicleClass vclass in (VehicleClass[])Enum.GetValues(typeof(VehicleClass))) { NativeListItem <VehicleHash> LI = new NativeListItem <VehicleHash>(vclass.ToString(), Vehicle.GetAllModelsOfClass(vclass)); VehicleSpawnerUI.Add(LI); LI.Activated += (object sender, EventArgs e) => { World.CreateVehicle(LI.SelectedItem, (Game.Player.Character.Position + Game.Player.Character.ForwardVector * 3)); }; } }
internal static void Loop() { LoadShopManager(); LoadShops(); shopMenu = new NativeMenu("Food Store", "FOOD STORES"); MenuManager.Pool.Add(shopMenu); while (Common.InstanceRunning) { GameFiber.Yield(); foreach (var shop in shops) { if (Game.LocalPlayer.Character.DistanceTo(shop.Position.GeneratedVector3) < 3.5f) { if (!alreadySetCurrentItems) { currentItems = shop.Items; shopMenu.Clear(); foreach (var item in currentItems) { var shopItem = new NativeItem(item.Name, "Buys the food."); shopItem.Activated += (sender, selectedItem) => { if (Functions.CostMoney(item.Price)) { Functions.IncreaseHungry(item.Amount); } }; shopMenu.Add(shopItem); } alreadySetCurrentItems = true; } Game.DisplayHelp("Press ~INPUT_CONTEXT~ to open the shop menu."); if (Game.IsControlPressed(0, GameControl.Context)) { shopMenu.Visible = !shopMenu.Visible; } break; } else { alreadySetCurrentItems = false; } } } }
private static NativeMenu CreateDefaultAppMenu() { var result = new NativeMenu(); var aboutItem = new NativeMenuItem { Header = "About Avalonia", }; aboutItem.Click += async(sender, e) => { var dialog = new AboutAvaloniaDialog(); var mainWindow = (Application.Current.ApplicationLifetime as IClassicDesktopStyleApplicationLifetime)?.MainWindow; await dialog.ShowDialog(mainWindow); }; result.Add(aboutItem); return(result); }
private void SetMenu(NativeMenu menu) { var menuItem = menu.Parent; var appMenuHolder = menuItem?.Parent; if (menu.Parent is null) { menuItem = new NativeMenuItem(); } if (appMenuHolder is null) { appMenuHolder = new NativeMenu(); appMenuHolder.Add(menuItem); } menuItem.Menu = menu; var setMenu = false; if (_nativeMenu is null) { _nativeMenu = (__MicroComIAvnMenuProxy)__MicroComIAvnMenuProxy.Create(_factory); _nativeMenu.Initialise(this, appMenuHolder, ""); setMenu = true; } _nativeMenu.Update(_factory, appMenuHolder); if (setMenu) { _factory.SetAppMenu(_nativeMenu); } }
/// <summary> /// Initialize all of the menus /// </summary> public static void Init() { WeaponsMenu.AddSubMenu(PrimaryWep); WeaponsMenu.AddSubMenu(SideWep); WeaponsMenu.AddSubMenu(HeavyWep); CivilianMenu.AddSubMenu(CivAir); CivilianMenu.AddSubMenu(CivLand); CivilianMenu.AddSubMenu(CivSea); MilitaryMenu.AddSubMenu(MilAir); MilitaryMenu.AddSubMenu(MilLand); MilitaryMenu.AddSubMenu(MilSea); VehicleMenu.AddSubMenu(CivilianMenu); VehicleMenu.AddSubMenu(MilitaryMenu); MainMenu.AddSubMenu(VehicleMenu); MainMenu.AddSubMenu(WeaponsMenu); MainPool.Add(PrimaryWep); MainPool.Add(SideWep); MainPool.Add(HeavyWep); MainPool.Add(CivAir); MainPool.Add(CivLand); MainPool.Add(CivSea); MainPool.Add(MilAir); MainPool.Add(MilLand); MainPool.Add(MilSea); MainPool.Add(CivilianMenu); MainPool.Add(MilitaryMenu); MainPool.Add(VehicleMenu); MainPool.Add(WeaponsMenu); MainPool.Add(MainMenu); // Heavy weapons foreach (JustCauseRebelDrops.Classes.Weapon wep in Main.WepConfig.HeavyWeapons) { var WeaponItem = new NativeItem(wep.DisplayName); WeaponItem.Activated += (sender, e) => DropWeapon(wep.Hash); HeavyWep.Add(WeaponItem); } // Primary weapons foreach (JustCauseRebelDrops.Classes.Weapon wep in Main.WepConfig.PrimaryWeapons) { var WeaponItem = new NativeItem(wep.DisplayName); WeaponItem.Activated += (sender, e) => DropWeapon(wep.Hash); PrimaryWep.Add(WeaponItem); } // Side weapons foreach (JustCauseRebelDrops.Classes.Weapon wep in Main.WepConfig.SideWeapons) { var WeaponItem = new NativeItem(wep.DisplayName); WeaponItem.Activated += (sender, e) => DropWeapon(wep.Hash); SideWep.Add(WeaponItem); } // Custom weapons foreach (CustomWeaponConfig CustomWepConfig in Main.CustomWeaponConfigs) { NativeMenu CustomMenu = new NativeMenu(CustomWepConfig.CategoryName, CustomWepConfig.CategoryName); WeaponsMenu.AddSubMenu(CustomMenu); foreach (Classes.Weapon wep in CustomWepConfig.Weapons) { var WeaponItem = new NativeItem(wep.DisplayName); WeaponItem.Activated += (sender, e) => DropWeapon(wep.Hash); CustomMenu.Add(WeaponItem); } MainPool.Add(CustomMenu); } // Civilian vehicles foreach (DropVehicle veh in Main.VehConfig.CivilianVehicles) { switch (veh.Type) { case VehicleType.Heli: case VehicleType.Plane: var VehicleItem = new NativeItem(veh.DisplayName); VehicleItem.Activated += (sender, e) => DropVehicle(veh.ModelName); CivAir.Add(VehicleItem); break; case VehicleType.Land: var LandVehicleItem = new NativeItem(veh.DisplayName); LandVehicleItem.Activated += (sender, e) => DropVehicle(veh.ModelName); CivLand.Add(LandVehicleItem); break; case VehicleType.Sea: var SeaVehicleItem = new NativeItem(veh.DisplayName); SeaVehicleItem.Activated += (sender, e) => DropVehicle(veh.ModelName); CivSea.Add(SeaVehicleItem); break; } } // Military vehicles foreach (DropVehicle veh in Main.VehConfig.MilitaryVehicles) { switch (veh.Type) { case VehicleType.Heli: case VehicleType.Plane: var VehicleItem = new NativeItem(veh.DisplayName); VehicleItem.Activated += (sender, e) => DropVehicle(veh.ModelName); MilAir.Add(VehicleItem); break; case VehicleType.Land: var LandVehicleItem = new NativeItem(veh.DisplayName); LandVehicleItem.Activated += (sender, e) => DropVehicle(veh.ModelName); MilLand.Add(LandVehicleItem); break; case VehicleType.Sea: var SeaVehicleItem = new NativeItem(veh.DisplayName); SeaVehicleItem.Activated += (sender, e) => DropVehicle(veh.ModelName); MilSea.Add(SeaVehicleItem); break; } } // Custom vehicles foreach (CustomVehicleConfig CustomVehConfig in Main.CustomVehicleConfigs) { NativeMenu CustomMenu = new NativeMenu(CustomVehConfig.CategoryName, CustomVehConfig.CategoryName); VehicleMenu.AddSubMenu(CustomMenu); foreach (DropVehicle veh in CustomVehConfig.Vehicles) { switch (veh.Type) { case VehicleType.Heli: case VehicleType.Plane: var VehicleItem = new NativeItem(veh.DisplayName); VehicleItem.Activated += (sender, e) => DropVehicle(veh.ModelName); CustomMenu.Add(VehicleItem); break; case VehicleType.Land: var LandVehicleItem = new NativeItem(veh.DisplayName); LandVehicleItem.Activated += (sender, e) => DropVehicle(veh.ModelName); CustomMenu.Add(LandVehicleItem); break; case VehicleType.Sea: var SeaVehicleItem = new NativeItem(veh.DisplayName); SeaVehicleItem.Activated += (sender, e) => DropVehicle(veh.ModelName); CustomMenu.Add(SeaVehicleItem); break; } CustomVehicles.Add(veh); } MainPool.Add(CustomMenu); } }
public Main() { if (!Directory.Exists(Globals.ModPath)) { Directory.CreateDirectory(Globals.ModPath); } if (!Directory.Exists(Globals.ModulePath)) { Directory.CreateDirectory(Globals.ModulePath); } if (!Directory.Exists(Globals.FuelPath)) { Directory.CreateDirectory(Globals.FuelPath); } Config = Configuration.FromFile(); // Initialize all of the necessary modules if (Config.Modules.Fuel) { Fuel FuelMod = new Fuel(); DrainFuel.Activated += (object sender, EventArgs e) => { FuelMod.DrainFuel(); }; FillFuel.Activated += (object sender, EventArgs e) => { FuelMod.FillFuel(); }; Modules.Add(FuelMod); } if (Config.Modules.Bills) { Modules.Add(new Bills()); } if (Config.Modules.Homeless) { Modules.Add(new Homeless()); } if (Config.Modules.Hunger) { Modules.Add(new Hunger()); } if (Config.Modules.IncomeTax) { Modules.Add(new Tax()); } if (Config.Modules.Jobs) { Modules.Add(new Jobs()); } foreach (Module Mod in Modules) { Mod.Initialize(); } #if DEBUG int Build = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.Revision; Text.Caption = $"RealityV Build {Build}\nDO NOT DISTRIBUTE"; Menu.Add(DrainFuel); Menu.Add(FillFuel); //Menu.Add(Starve); //Menu.Add(Eat); //Menu.Add(GoHomeless); Menu.UseMouse = false; MainPool.Add(Menu); #endif Tick += OnTick; Aborted += (object sender, EventArgs e) => { foreach (Module Mod in Modules) { Mod.Abort(); } }; }
private void Common_Start(object sender, EventArgs e) { try { logger.Trace("Loading Main Menu"); lemonPool = new ObjectPool(); logger.Trace("Menu Pool created"); #if DEBUG mainMenu = new NativeMenu("NAL Beta", Strings.MenuMainTitle); #else mainMenu = new NativeMenu("NAL", Strings.MenuMainTitle); #endif itemLights = new NativeCheckboxItem(Strings.ItemLightsTitle, Strings.ItemLightsSubtitle, true); itemCallCops = new NativeItem(Strings.ItemCopsTitle, Strings.ItemCopsSubtitle); itemDifficulty = new NativeItem(Strings.ItemDifficulty, Strings.ItemDIfficultySubtitle); itemKills = new NativeItem(Strings.ItemKills, Strings.ItemKillsSubtitle); itemCheatEnabled = new NativeCheckboxItem(Strings.ItemCheat, Strings.ItemCheatDescription); itemCommand = new NativeItem(Strings.ItemCommand, Strings.ItemCommandDescription); itemModels = new NativeItem(Strings.ItemModels, Strings.ItemModelsDescription); modelMenu = new NativeMenu("Models", Strings.MenuModel); itemDefaultModel = new NativeItem("Default", "The classic NAL Model."); itemCopModel = new NativeItem("LSPD Officer", "The cop."); modelMenu.Add(itemDefaultModel); modelMenu.Add(itemCopModel); itemDefaultModel.Activated += ItemDefaultModel_Activated; itemCopModel.Activated += ItemCopModel_Activated; #region Items - Load & Save saveMenu = new NativeMenu(Strings.MenuSaveHeader, "SAVE"); itemSaveSlot1 = new NativeItem(string.Format(Strings.MenuSaveItem, 1), Strings.MenuSaveItemSubtitle); itemSaveSlot2 = new NativeItem(string.Format(Strings.MenuSaveItem, 2), Strings.MenuSaveItemSubtitle); itemSaveSlot3 = new NativeItem(string.Format(Strings.MenuSaveItem, 3), Strings.MenuSaveItemSubtitle); itemSaveSlot1.Activated += (menu, i) => SaveController.Save(Common.Blackout, 1); itemSaveSlot2.Activated += (menu, i) => SaveController.Save(Common.Blackout, 2); itemSaveSlot3.Activated += (menu, i) => SaveController.Save(Common.Blackout, 3); saveMenu.Add(itemSaveSlot1); saveMenu.Add(itemSaveSlot2); saveMenu.Add(itemSaveSlot3); lemonPool.Add(saveMenu); loadMenu = new NativeMenu(Strings.MenuLoadHeader, Strings.MenuLoadSubtitle); itemLoadSlot1 = new NativeItem(string.Format(Strings.MenuSaveItem, 1), Strings.MenuLoadItemSubtitle); itemLoadSlot2 = new NativeItem(string.Format(Strings.MenuSaveItem, 2), Strings.MenuLoadItemSubtitle); itemLoadSlot3 = new NativeItem(string.Format(Strings.MenuSaveItem, 3), Strings.MenuLoadItemSubtitle); itemLoadSlot1.Activated += (menu, i) => SaveController.Load(1); itemLoadSlot2.Activated += (menu, i) => SaveController.Load(2); itemLoadSlot3.Activated += (menu, i) => SaveController.Load(3); loadMenu.Add(itemLoadSlot1); loadMenu.Add(itemLoadSlot2); loadMenu.Add(itemLoadSlot3); lemonPool.Add(loadMenu); itemSave = mainMenu.AddSubMenu(saveMenu); itemSave.Title = Strings.ItemSaveTitle; itemSave.Description = Strings.ItemSaveSubtitle; itemLoad = mainMenu.AddSubMenu(loadMenu); itemLoad.Title = Strings.ItemLoadTitle; itemLoad.Description = Strings.ItemLoadSubtitle; #endregion foodMenu = new NativeMenu("Food", Strings.MenuFoodShopSubtitle); itemHamburger = HungryController.CreateFoodSellerItem(Strings.FoodBurger, Foods.Hamburger, 1); itemChicken = HungryController.CreateFoodSellerItem(Strings.FoodChicken, Foods.Chicken, 3); itemWater = HungryController.GenerateWaterSellItem(Strings.ItemWater, 2); foodMenu.Add(itemHamburger); foodMenu.Add(itemChicken); foodMenu.Add(itemWater); logger.Trace("All instances initialized"); mainMenu.Add(itemLights); mainMenu.Add(itemSave); mainMenu.Add(itemLoad); mainMenu.Add(itemCallCops); itemModels = mainMenu.AddSubMenu(modelMenu); itemModels.Title = Strings.ItemModels; itemModels.Description = Strings.ItemModelsDescription; mainMenu.Add(itemDifficulty); mainMenu.Add(itemKills); lemonPool.Add(mainMenu); lemonPool.Add(modelMenu); lemonPool.Add(foodMenu); logger.Trace("Main Menu Done"); Tick += MenuScript_Tick; KeyDown += MenuScript_KeyDown; itemLights.CheckboxChanged += ItemLights_CheckboxEvent; itemCallCops.Activated += ItemCallCops_Activated; itemCommand.Activated += ItemCommand_Activated; itemCheatEnabled.Activated += ItemCheatEnabled_Activated; timerBars.Add(hungryBar); timerBars.Add(waterBar); Common.Unload += Common_Unload; logger.Trace("Loading Ammu-Nation Menu"); buyMenu = new NativeMenu(Strings.AmmuTitle, Strings.AmmuSubtitle); itemPistol = AmmuController.GenerateWeaponSellerItem(Strings.AmmuPistol, Strings.AmmuPistolSubtitle, 100); itemPumpShotgun = AmmuController.GenerateWeaponSellerItem(Strings.AmmuPumpShotgun, Strings.AmmuPumpShotgunSubtitle, 200); itemCarbineRifle = AmmuController.GenerateWeaponSellerItem(Strings.AmmuCarbineRifle, Strings.AmmuCarbineRifleSubtitle, 350); itemBodyArmor = new NativeItem(Strings.WeaponBodyArmor, Strings.WeaponBodyArmorDescription) { AltTitle = "$380" }; logger.Trace("Instances created"); buyMenu.Add(itemPistol); buyMenu.Add(itemPumpShotgun); buyMenu.Add(itemBodyArmor); lemonPool.Add(buyMenu); itemPistol.Activated += ItemPistol_Activated; itemPumpShotgun.Activated += ItemPumpShotgun_Activated; itemCarbineRifle.Activated += ItemCarbineRifle_Activated; itemBodyArmor.Activated += ItemBodyArmor_Activated; repairBlip = World.CreateBlip(repair); repairBlip.IsFriendly = true; repairBlip.IsShortRange = true; repairBlip.Sprite = BlipSprite.Garage; repairBlip.Color = BlipColor.Blue; repairBlip.Name = Strings.RepairBlip; HungryController.AddBlipsToAllResellers(); Instance = this; this.Aborted += MenuScript_Aborted; CommandController.Init(); } #pragma warning disable CA1031 catch (Exception ex) #pragma warning restore CA1031 { GameUI.DisplayHelp(Strings.ExceptionMenu); logger.Fatal(ex, "Error while loading menu"); Common.UnloadMod(); this.Abort(); } }
private NativeMenu CreateDefaultAppMenu() { var result = new NativeMenu(); var aboutItem = new NativeMenuItem("About Avalonia"); aboutItem.Click += async(sender, e) => { var dialog = new AboutAvaloniaDialog(); var mainWindow = (Application.Current.ApplicationLifetime as IClassicDesktopStyleApplicationLifetime)?.MainWindow; await dialog.ShowDialog(mainWindow); }; result.Add(aboutItem); var macOpts = AvaloniaLocator.Current.GetService <MacOSPlatformOptions>(); if (macOpts == null || !macOpts.DisableDefaultApplicationMenuItems) { result.Add(new NativeMenuItemSeparator()); var servicesMenu = new NativeMenuItem("Services"); servicesMenu.Menu = new NativeMenu { [MacOSNativeMenuCommands.IsServicesSubmenuProperty] = true }; result.Add(servicesMenu); result.Add(new NativeMenuItemSeparator()); var hideItem = new NativeMenuItem("Hide " + Application.Current.Name) { Gesture = new KeyGesture(Key.H, KeyModifiers.Meta) }; hideItem.Click += (sender, args) => { _applicationCommands.HideApp(); }; result.Add(hideItem); var hideOthersItem = new NativeMenuItem("Hide Others") { Gesture = new KeyGesture(Key.Q, KeyModifiers.Meta | KeyModifiers.Alt) }; hideOthersItem.Click += (sender, args) => { _applicationCommands.HideOthers(); }; result.Add(hideOthersItem); var showAllItem = new NativeMenuItem("Show All"); showAllItem.Click += (sender, args) => { _applicationCommands.ShowAll(); }; result.Add(showAllItem); result.Add(new NativeMenuItemSeparator()); var quitItem = new NativeMenuItem("Quit") { Gesture = new KeyGesture(Key.Q, KeyModifiers.Meta) }; quitItem.Click += (sender, args) => { _applicationCommands.ShowAll(); }; result.Add(quitItem); } return(result); }