mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 17:37:37 +00:00
WindowServer: Add "Open ProcessManager..." to system menu.
This will no doubt come in handy. :^)
This commit is contained in:
parent
8a0d77f576
commit
05f9257621
1 changed files with 20 additions and 12 deletions
|
@ -194,14 +194,15 @@ WSWindowManager::WSWindowManager()
|
||||||
{
|
{
|
||||||
byte system_menu_name[] = { 0xf8, 0 };
|
byte system_menu_name[] = { 0xf8, 0 };
|
||||||
m_system_menu = make<WSMenu>(nullptr, -1, String((const char*)system_menu_name));
|
m_system_menu = make<WSMenu>(nullptr, -1, String((const char*)system_menu_name));
|
||||||
m_system_menu->add_item(make<WSMenuItem>(0, "Launch Terminal"));
|
m_system_menu->add_item(make<WSMenuItem>(0, "Open Terminal..."));
|
||||||
|
m_system_menu->add_item(make<WSMenuItem>(1, "Open ProcessManager..."));
|
||||||
m_system_menu->add_item(make<WSMenuItem>(WSMenuItem::Separator));
|
m_system_menu->add_item(make<WSMenuItem>(WSMenuItem::Separator));
|
||||||
m_system_menu->add_item(make<WSMenuItem>(1, "640x480"));
|
m_system_menu->add_item(make<WSMenuItem>(100, "640x480"));
|
||||||
m_system_menu->add_item(make<WSMenuItem>(2, "800x600"));
|
m_system_menu->add_item(make<WSMenuItem>(101, "800x600"));
|
||||||
m_system_menu->add_item(make<WSMenuItem>(3, "1024x768"));
|
m_system_menu->add_item(make<WSMenuItem>(102, "1024x768"));
|
||||||
m_system_menu->add_item(make<WSMenuItem>(4, "1920x1080"));
|
m_system_menu->add_item(make<WSMenuItem>(103, "1920x1080"));
|
||||||
m_system_menu->add_item(make<WSMenuItem>(WSMenuItem::Separator));
|
m_system_menu->add_item(make<WSMenuItem>(WSMenuItem::Separator));
|
||||||
m_system_menu->add_item(make<WSMenuItem>(5, "About..."));
|
m_system_menu->add_item(make<WSMenuItem>(200, "About..."));
|
||||||
m_system_menu->on_item_activation = [this] (WSMenuItem& item) {
|
m_system_menu->on_item_activation = [this] (WSMenuItem& item) {
|
||||||
if (item.identifier() == 0) {
|
if (item.identifier() == 0) {
|
||||||
if (fork() == 0) {
|
if (fork() == 0) {
|
||||||
|
@ -210,13 +211,20 @@ WSWindowManager::WSWindowManager()
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
switch (item.identifier()) {
|
if (item.identifier() == 1) {
|
||||||
case 1: set_resolution(640, 480); break;
|
if (fork() == 0) {
|
||||||
case 2: set_resolution(800, 600); break;
|
execl("/bin/ProcessManager", "/bin/ProcessManager", nullptr);
|
||||||
case 3: set_resolution(1024, 768); break;
|
ASSERT_NOT_REACHED();
|
||||||
case 4: set_resolution(1920, 1080); break;
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
if (item.identifier() == 5) {
|
switch (item.identifier()) {
|
||||||
|
case 100: set_resolution(640, 480); break;
|
||||||
|
case 101: set_resolution(800, 600); break;
|
||||||
|
case 102: set_resolution(1024, 768); break;
|
||||||
|
case 103: set_resolution(1920, 1080); break;
|
||||||
|
}
|
||||||
|
if (item.identifier() == 200) {
|
||||||
if (fork() == 0) {
|
if (fork() == 0) {
|
||||||
execl("/bin/About", "/bin/About", nullptr);
|
execl("/bin/About", "/bin/About", nullptr);
|
||||||
ASSERT_NOT_REACHED();
|
ASSERT_NOT_REACHED();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue