diff --git a/Userland/Utilities/CMakeLists.txt b/Userland/Utilities/CMakeLists.txt index e98b883cd4..8847e38664 100644 --- a/Userland/Utilities/CMakeLists.txt +++ b/Userland/Utilities/CMakeLists.txt @@ -62,7 +62,7 @@ target_link_libraries(checksum LibCrypto) target_link_libraries(chres LibGUI) target_link_libraries(cksum LibCrypto) target_link_libraries(config LibConfig) -target_link_libraries(copy LibGUI) +target_link_libraries(copy LibGUI LibMain) target_link_libraries(diff LibDiff) target_link_libraries(disasm LibX86) target_link_libraries(dmesg LibMain) diff --git a/Userland/Utilities/copy.cpp b/Userland/Utilities/copy.cpp index 3adfb1c5a5..dcac098a7d 100644 --- a/Userland/Utilities/copy.cpp +++ b/Userland/Utilities/copy.cpp @@ -10,8 +10,10 @@ #include #include #include +#include #include #include +#include #include struct Options { @@ -20,7 +22,7 @@ struct Options { bool clear; }; -static Options parse_options(int argc, char* argv[]) +static Options parse_options(Main::Arguments arguments) { const char* type = "text/plain"; Vector text; @@ -31,7 +33,7 @@ static Options parse_options(int argc, char* argv[]) args_parser.add_option(type, "Pick a type", "type", 't', "type"); args_parser.add_option(clear, "Instead of copying, clear the clipboard", "clear", 'c'); args_parser.add_positional_argument(text, "Text to copy", "text", Core::ArgsParser::Required::No); - args_parser.parse(argc, argv); + args_parser.parse(arguments); Options options; options.type = type; @@ -60,11 +62,11 @@ static Options parse_options(int argc, char* argv[]) return options; } -int main(int argc, char* argv[]) +ErrorOr serenity_main(Main::Arguments arguments) { - auto app = GUI::Application::construct(argc, argv); + auto app = GUI::Application::construct(arguments); - Options options = parse_options(argc, argv); + Options options = parse_options(arguments); auto& clipboard = GUI::Clipboard::the(); if (options.clear)