"""Create an application menu.""" import webview from webview.menu import Menu, MenuAction, MenuSeparator def change_active_window_content(): active_window = webview.active_window() if active_window: active_window.load_html('
App preferences would open here (macOS app menu)
' ) def check_for_updates(): active_window = webview.active_window() if active_window: active_window.load_html( 'Checking for updates... (macOS app menu)
' ) if __name__ == '__main__': # App menu items (macOS only - appears between About and Services) # On other platforms, this menu is ignored macos_app_menu = Menu( '__app__', [ MenuAction('Preferences...', open_preferences), MenuSeparator(), MenuAction('Check for Updates', check_for_updates), ], ) window_menu = [Menu('Window', [MenuAction('Test', test)])] app_menu = [ macos_app_menu, # macOS app menu items Menu( 'Menu 1', [ MenuAction('Change Active Window Content', change_active_window_content), MenuSeparator(), Menu( 'Random', [ MenuAction('Click Me', click_me), MenuAction('File Dialog', open_save_file_dialog), ], ), ], ), Menu('Menu 2', [MenuAction('This will do nothing', do_nothing)]), ] window_1 = webview.create_window( 'Application Menu Example', 'https://pywebview.flowrl.com/hello' ) window_2 = webview.create_window( 'Window Menu Example', html='