From f650141a07197a3ad1784554cda732c50229e83c Mon Sep 17 00:00:00 2001 From: Casey Duncan Date: Tue, 13 Oct 2020 19:47:30 -0600 Subject: [PATCH 1/2] Ensure TK_FULLSCREEN is updated when setting fullscreen at runtime --- Terminal/Source/Terminal.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Terminal/Source/Terminal.cpp b/Terminal/Source/Terminal.cpp index e3ec9a1..62cef9d 100644 --- a/Terminal/Source/Terminal.cpp +++ b/Terminal/Source/Terminal.cpp @@ -655,6 +655,7 @@ namespace BearLibTerminal if (updated.window_fullscreen != m_options.window_fullscreen) { // XXX: It's not always possible to change fullscreen state in runtime. + m_vars[TK_FULLSCREEN] = updated.window_fullscreen; m_window->SetFullscreen(updated.window_fullscreen); } From 824b0ff5a7eb29e053801c78ff47ba3f94b70ad7 Mon Sep 17 00:00:00 2001 From: Casey Duncan Date: Tue, 13 Oct 2020 19:49:06 -0600 Subject: [PATCH 2/2] Basic fullscreen support for MacOS --- Terminal/Source/CocoaWindow.mm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Terminal/Source/CocoaWindow.mm b/Terminal/Source/CocoaWindow.mm index c8def11..e3d53da 100644 --- a/Terminal/Source/CocoaWindow.mm +++ b/Terminal/Source/CocoaWindow.mm @@ -572,7 +572,10 @@ -(id)initWithImpl:(BearLibTerminal::CocoaWindow::Impl*)impl; void CocoaWindow::SetFullscreen(bool fullscreen) { - LOG(Error, "CocoaWindow::SetFullscreen: not yet implemented"); + bool is_fullscreen = ([m_impl->m_window styleMask] & NSFullScreenWindowMask) == NSFullScreenWindowMask; + if (is_fullscreen != fullscreen) { + [m_impl->m_window toggleFullScreen: nil]; + } } void CocoaWindow::SetCursorVisibility(bool visible)