Skip to content

Qt: Add button to main menu's view tab to allow GUI to enter fullscreen.#14566

Open
SDreadnoug2 wants to merge 1 commit into
PCSX2:masterfrom
SDreadnoug2:feature/mainWindowFullScreen
Open

Qt: Add button to main menu's view tab to allow GUI to enter fullscreen.#14566
SDreadnoug2 wants to merge 1 commit into
PCSX2:masterfrom
SDreadnoug2:feature/mainWindowFullScreen

Conversation

@SDreadnoug2

Copy link
Copy Markdown

Description of Changes

Fulfills the request for a feature in #14405 which asks to add the option to enter fullscreen from the main menu bar, rather than having to add MainWindowFullscreen = true to the PSCX2.ini file.
In the view tab of the main menu bar, I've added a Fullscreen(GUI) check box, which on clicking enters fullscreen, and on clicking again exits fullscreen.

Rationale behind Changes

Currently users have to edit their PCSX2.ini file, adding MainWindowFullscreen = true. Whilst this works, it requires a restart of the program/knowing you're supposed to do that. This simplifies things to a check box.

Suggested Testing Steps

  1. Open PCSX2 and open the View tab.
  2. Click Fullscreen (GUI)
  3. The program should enter Fullscreen mode.
  4. Click Fullscreen (GUI) again, the program should exit fullscreen mode.
  5. Opening and closing the program in either mode keeps the program in that state.

Did you use AI to help find, test, or implement this issue or feature?

no

@github-actions github-actions Bot added the GUI/Qt label Jun 8, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for submitting a contribution to PCSX2

As this is your first pull request, please be aware of the contributing guidelines.

Additionally, as per recent changes in GitHub Actions, your pull request will need to be approved by a maintainer before GitHub Actions can run against it. You can find more information about this change here.

Please be patient until this happens. In the meantime if you'd like to confirm the builds are passing, you have the option of opening a PR on your own fork, just make sure your fork's master branch is up to date!

@SDreadnoug2 SDreadnoug2 force-pushed the feature/mainWindowFullScreen branch 3 times, most recently from 9c354d7 to 325affd Compare June 8, 2026 22:26
Comment thread pcsx2-qt/MainWindow.cpp
}

void MainWindow::onViewFullscreenGUIActionTriggered(bool checked) {
Host::SetBaseBoolSettingValue("UI", "MainWindowFullscreen", checked);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can call Host::CommitBaseSettingChanges(); here to save the setting.

Also use git-clang-format (or just regular clang-format if there aren't too many unrelated changes) to format your changes.

@chaoticgd

Copy link
Copy Markdown
Member

I'm worried this has the potential to cause confusion. Like if someone tries to enter fullscreen normally, but clicks this option accidentally. Then they'd be left wondering why exiting fullscreen normally doesn't actually exit fullscreen.

@Pesa

Pesa commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Does this really need a menu item? Too many options can cause confusion, UI clutter, and cognitive overload for users. Especially in this case where the two menu items are very similarly named (and "GUI" is just confusing, the game window is also a GUI technically).

Moreover, I didn't really see a justification for adding this option.

My suggestion, if you want to expose this setting in the UI, is to change the existing "Start fullscreen" checkbox in Interface settings into a combobox with 4 choices: Never, Game, Main Window, Both (exact wording TBD). Or alternatively add a second checkbox there to fullscreen the main window.

Either way, please at least consider hiding this new menu item on macOS. On macOS, every app has a built-in menu item "Enter Full Screen" added by the OS, so this new item is redundant.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants