diff --git a/app/config/behaviorsettings.ui b/app/config/behaviorsettings.ui --- a/app/config/behaviorsettings.ui +++ b/app/config/behaviorsettings.ui @@ -95,6 +95,13 @@ + + + + Remember and restore window fullscreen state + + + diff --git a/app/config/yakuake.kcfg b/app/config/yakuake.kcfg --- a/app/config/yakuake.kcfg +++ b/app/config/yakuake.kcfg @@ -78,6 +78,11 @@ Whether the application window should be opened after program start. false + + + Whether the window will be shown fullscreen again when it has been previously. + false + diff --git a/app/mainwindow.h b/app/mainwindow.h --- a/app/mainwindow.h +++ b/app/mainwindow.h @@ -176,6 +176,7 @@ void updateUseTranslucency(); bool m_useTranslucency; + bool m_isFullscreen; KActionCollection* m_actionCollection; QList m_contextDependentActions; diff --git a/app/mainwindow.cpp b/app/mainwindow.cpp --- a/app/mainwindow.cpp +++ b/app/mainwindow.cpp @@ -87,6 +87,7 @@ m_tabBar = new TabBar(this); m_titleBar = new TitleBar(this); m_firstRunDialog = NULL; + m_isFullscreen = false; #if HAVE_X11 m_kwinAssistPropSet = false; @@ -1318,6 +1319,7 @@ updateUseTranslucency(); if (Settings::pollMouse()) toggleMousePoll(false); + if (Settings::rememberFullscreen()) setFullScreen(m_isFullscreen); } void MainWindow::sharedAfterOpenWindow() @@ -1395,6 +1397,7 @@ void MainWindow::setFullScreen(bool state) { + if (isVisible()) m_isFullscreen = state; if (state) { setWindowState(windowState() | Qt::WindowFullScreen);