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);