1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-24 11:15:07 +00:00
serenity/Userland/Applications/Welcome/main.cpp
thankyouverycool f833473df0 Apps+Demos+Dialogs: Remove unnecessary minimum window sizes
The new layout system conveniently calculates these for us now.
In the case of Mandelbrot where it needs to be overriden, make
sure to disable obey min widget size first. In EmojiInputDialog's
case, the window needs to be resized instead to center correctly.
2022-08-25 13:28:50 +02:00

40 lines
1.2 KiB
C++

/*
* Copyright (c) 2021, the SerenityOS developers.
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include "WelcomeWidget.h"
#include <LibConfig/Client.h>
#include <LibCore/System.h>
#include <LibGUI/Application.h>
#include <LibGUI/Icon.h>
#include <LibGUI/Window.h>
#include <LibMain/Main.h>
#include <unistd.h>
ErrorOr<int> serenity_main(Main::Arguments arguments)
{
TRY(Core::System::pledge("stdio recvfd sendfd rpath unix proc exec"));
auto app = TRY(GUI::Application::try_create(arguments));
Config::pledge_domain("SystemServer");
TRY(Core::System::unveil("/res", "r"));
TRY(Core::System::unveil("/home", "r"));
TRY(Core::System::unveil("/tmp/user/%uid/portal/webcontent", "rw"));
TRY(Core::System::unveil("/bin/Help", "x"));
TRY(Core::System::unveil(nullptr, nullptr));
auto app_icon = GUI::Icon::default_icon("app-welcome"sv);
auto window = TRY(GUI::Window::try_create());
window->resize(480, 250);
window->center_on_screen();
window->set_title("Welcome");
window->set_icon(app_icon.bitmap_for_size(16));
auto welcome_widget = TRY(window->try_set_main_widget<WelcomeWidget>());
window->show();
return app->exec();
}