Spider: Add Manual link to the help-context-menu

This commit is contained in:
Strawby 2023-11-01 19:39:48 +01:00 committed by Sam Atkins
parent df6668ff5b
commit 387decbb01
Notes: sideshowbarker 2024-07-17 18:23:22 +09:00
2 changed files with 11 additions and 1 deletions

View File

@ -16,4 +16,4 @@ set(GENERATED_SOURCES
) )
serenity_app(Spider ICON app-spider) serenity_app(Spider ICON app-spider)
target_link_libraries(Spider PRIVATE LibCards LibGUI LibGfx LibCore LibConfig LibMain) target_link_libraries(Spider PRIVATE LibCards LibGUI LibGfx LibCore LibDesktop LibConfig LibMain)

View File

@ -8,10 +8,12 @@
#include "Game.h" #include "Game.h"
#include <AK/NumberFormat.h> #include <AK/NumberFormat.h>
#include <AK/URL.h>
#include <Games/Spider/SpiderGML.h> #include <Games/Spider/SpiderGML.h>
#include <LibConfig/Client.h> #include <LibConfig/Client.h>
#include <LibCore/System.h> #include <LibCore/System.h>
#include <LibCore/Timer.h> #include <LibCore/Timer.h>
#include <LibDesktop/Launcher.h>
#include <LibGUI/Action.h> #include <LibGUI/Action.h>
#include <LibGUI/ActionGroup.h> #include <LibGUI/ActionGroup.h>
#include <LibGUI/Application.h> #include <LibGUI/Application.h>
@ -40,6 +42,11 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
Config::pledge_domains({ "Games", "Spider" }); Config::pledge_domains({ "Games", "Spider" });
Config::monitor_domain("Games"); Config::monitor_domain("Games");
auto const man_file = "/usr/share/man/man6/Spider.md";
TRY(Desktop::Launcher::add_allowed_handler_with_only_specific_urls("/bin/Help", { URL::create_with_file_scheme(man_file) }));
TRY(Desktop::Launcher::seal_allowlist());
TRY(Core::System::pledge("stdio recvfd sendfd rpath proc exec")); TRY(Core::System::pledge("stdio recvfd sendfd rpath proc exec"));
TRY(Core::System::unveil("/res", "r")); TRY(Core::System::unveil("/res", "r"));
@ -279,6 +286,9 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
auto help_menu = window->add_menu("&Help"_string); auto help_menu = window->add_menu("&Help"_string);
help_menu->add_action(GUI::CommonActions::make_command_palette_action(window)); help_menu->add_action(GUI::CommonActions::make_command_palette_action(window));
help_menu->add_action(GUI::CommonActions::make_help_action([&man_file](auto&) {
Desktop::Launcher::open(URL::create_with_file_scheme(man_file), "/bin/Help");
}));
help_menu->add_action(GUI::CommonActions::make_about_action("Spider"_string, app_icon, window)); help_menu->add_action(GUI::CommonActions::make_about_action("Spider"_string, app_icon, window));
window->set_resizable(false); window->set_resizable(false);