diff --git a/CMakeLists.txt b/CMakeLists.txt index 058773e494..7be3482738 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,6 +110,12 @@ if(KWIN_BUILD_KCMS) ) endif() +if(KWIN_BUILD_TABBOX AND KWIN_BUILD_KCMS) + find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS + WidgetsAddons + ) +endif() + find_package(Threads) set_package_properties(Threads PROPERTIES PURPOSE "Needed for VirtualTerminal support in KWin Wayland" diff --git a/src/kcms/options/actions.ui b/src/kcms/options/actions.ui index 7f84a587b0..0de01f1b36 100644 --- a/src/kcms/options/actions.ui +++ b/src/kcms/options/actions.ui @@ -13,6 +13,9 @@ + + true + Inactive Inner Window Actions @@ -180,6 +183,9 @@ + + true + Inner Window, Titlebar and Frame Actions diff --git a/src/kcms/options/main.cpp b/src/kcms/options/main.cpp index 1fdcf7bbde..fa05782227 100644 --- a/src/kcms/options/main.cpp +++ b/src/kcms/options/main.cpp @@ -65,6 +65,7 @@ KWinOptions::KWinOptions(QObject *parent, const KPluginMetaData &data) QVBoxLayout *layout = new QVBoxLayout(widget()); layout->setContentsMargins(0, 0, 0, 0); tab = new QTabWidget(widget()); + tab->setDocumentMode(true); layout->addWidget(tab); const auto connectKCM = [this](KCModule *mod) { diff --git a/src/kcms/options/mouse.ui b/src/kcms/options/mouse.ui index 1f55328808..956db6c412 100644 --- a/src/kcms/options/mouse.ui +++ b/src/kcms/options/mouse.ui @@ -16,6 +16,9 @@ Titlebar Actions + + true + Qt::AlignHCenter|Qt::AlignTop @@ -142,6 +145,9 @@ Titlebar and Frame Actions + + true + Qt::AlignCenter @@ -223,7 +229,7 @@ - + 0 0 @@ -338,7 +344,7 @@ - + 0 0 @@ -453,7 +459,7 @@ - + 0 0 @@ -588,6 +594,9 @@ Maximize Button Actions + + true + Qt::AlignHCenter|Qt::AlignTop diff --git a/src/kcms/tabbox/CMakeLists.txt b/src/kcms/tabbox/CMakeLists.txt index 6d6aa1f759..12b9d056e7 100644 --- a/src/kcms/tabbox/CMakeLists.txt +++ b/src/kcms/tabbox/CMakeLists.txt @@ -27,6 +27,7 @@ target_link_libraries(kcm_kwintabbox KF6::Package KF6::Service KF6::XmlGui # For kkeysequencewidget + KF6::WidgetsAddons ) if (KWIN_BUILD_X11) target_link_libraries(kcm_kwintabbox diff --git a/src/kcms/tabbox/main.cpp b/src/kcms/tabbox/main.cpp index e052c6ec83..e6d69ad3aa 100644 --- a/src/kcms/tabbox/main.cpp +++ b/src/kcms/tabbox/main.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -29,6 +30,7 @@ #include #include #include +#include #include // Plasma #include @@ -55,6 +57,7 @@ KWinTabBoxConfig::KWinTabBoxConfig(QObject *parent, const KPluginMetaData &data) , m_data(new KWinTabboxData(this)) { QTabWidget *tabWidget = new QTabWidget(widget()); + tabWidget->setDocumentMode(true); m_primaryTabBoxUi = new KWinTabBoxConfigForm(KWinTabBoxConfigForm::TabboxType::Main, m_data->tabBoxConfig(), m_data->shortcutConfig(), @@ -74,17 +77,23 @@ KWinTabBoxConfig::KWinTabBoxConfig(QObject *parent, const KPluginMetaData &data) }); QHBoxLayout *buttonBar = new QHBoxLayout(); + QStyle *style = widget()->style(); + + buttonBar->setContentsMargins(style->pixelMetric(QStyle::PM_LayoutLeftMargin), 0, style->pixelMetric(QStyle::PM_LayoutRightMargin), style->pixelMetric(QStyle::PM_LayoutBottomMargin)); QSpacerItem *buttonBarSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); buttonBar->addItem(buttonBarSpacer); buttonBar->addWidget(ghnsButton); QVBoxLayout *layout = new QVBoxLayout(widget()); + layout->setContentsMargins(0, 0, 0, 0); KTitleWidget *infoLabel = new KTitleWidget(tabWidget); infoLabel->setText(i18n("Focus policy settings limit the functionality of navigating through windows."), KTitleWidget::InfoMessage); infoLabel->setIcon(KTitleWidget::InfoMessage, KTitleWidget::ImageLeft); layout->addWidget(infoLabel, 0); layout->addWidget(tabWidget, 1); + KSeparator *separator = new KSeparator(); + layout->addWidget(separator); layout->addLayout(buttonBar); widget()->setLayout(layout);