From 888efa03d186dcf63f463fec6012261c595f2f3a Mon Sep 17 00:00:00 2001 From: stefonarch Date: Wed, 17 Dec 2025 12:15:17 +0100 Subject: [PATCH 1/4] Ui file --- src/behaviour.ui | 602 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 580 insertions(+), 22 deletions(-) diff --git a/src/behaviour.ui b/src/behaviour.ui index 6a0ab76..509ca65 100644 --- a/src/behaviour.ui +++ b/src/behaviour.ui @@ -6,33 +6,591 @@ 0 0 - 251 - 153 + 790 + 1051 - - - 6 - - - 6 - - - 6 - - - 6 - - - - - Placement Policy + + + + + true + + + + 0 + 0 + 770 + 1031 + + + + + + + + + Placement Policy + + + + + + + + Automatic + + + + + Cascade + + + + + Center + + + + + Cursor + + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + + + Focus + + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + Requires movement + + + + + + + Raise on focus + + + + + + + Focus follows mouse + + + + + + + + + + + + Window snapping + + + + + + Range + + + + + + + Notify clients + + + + + + + Maximize on top + + + + + + + + + + Corner range + + + + + + + Qt::Orientation::Horizontal + + + + 539 + 20 + + + + + + + + Qt::Orientation::Horizontal + + + + 539 + 20 + + + + + + + + Overlay + + + + + + + + + + + + + Resistance + + + + + + Screen edge strength + + + + + + + + + + Threshold to unsnap + + + + + + + + + + Qt::Orientation::Horizontal + + + + 159 + 20 + + + + + + + + Window edge strength + + + + + + + + + + Threshold to unmaximize + + + + + + + + + + Qt::Orientation::Horizontal + + + + 159 + 20 + + + + + + + + + + + Resize + + + + + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + + Never + + + + + Always + + + + + Nonpixel + + + + + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + Minimum area + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + Corner range + + + + + + + Show popup + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + Draw contents + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + Keep border + + + + + + + + + + + + Margins + + + + + + Qt::Orientation::Horizontal + + + + 66 + 20 + + + + + + + + Qt::Orientation::Horizontal + + + + 66 + 20 + + + + + + + + + + + Qt::Orientation::Horizontal + + + + 66 + 20 + + + + + + + + Qt::Orientation::Horizontal + + + + 428 + 20 + + + + + + + + Qt::Orientation::Horizontal + + + + 66 + 20 + + + + + + + + + + + Qt::Orientation::Horizontal + + + + 65 + 20 + + + + + + + + + + + Qt::Orientation::Horizontal + + + + 66 + 20 + + + + + + + + Qt::Orientation::Horizontal + + + + 66 + 20 + + + + + + + + + + + Qt::Orientation::Horizontal + + + + 66 + 20 + + + + + + + + Qt::Orientation::Horizontal + + + + 428 + 20 + + + + + + + + Qt::Orientation::Horizontal + + + + 428 + 20 + + + + + + + + + + + Qt::Orientation::Vertical + + + + 20 + 40 + + + + + + - - - From 81be06ab02f84eec5847de672caab23cec64987a Mon Sep 17 00:00:00 2001 From: stefonarch Date: Fri, 19 Dec 2025 21:19:28 +0100 Subject: [PATCH 2/4] Added ui file; focus; snapping; resistance; resize; magnifier --- src/behaviour.cpp | 131 ++++++++++ src/behaviour.ui | 512 +++++++++++++++++++------------------- src/behaviour.ui.~ | 607 +++++++++++++++++++++++++++++++++++++++++++++ src/settings.cpp | 46 +++- 4 files changed, 1041 insertions(+), 255 deletions(-) create mode 100644 src/behaviour.ui.~ diff --git a/src/behaviour.cpp b/src/behaviour.cpp index f73133a..de1e283 100644 --- a/src/behaviour.cpp +++ b/src/behaviour.cpp @@ -19,6 +19,7 @@ Behaviour::~Behaviour() void Behaviour::activate() { /* Placement Policy */ + ui->placementPolicy->setToolTip(tr("Placement policy for new windows")); QVector> policies; policies.append(QSharedPointer(new Pair("automatic", tr("Automatic")))); policies.append(QSharedPointer(new Pair("cascade", tr("Cascade")))); @@ -34,9 +35,139 @@ void Behaviour::activate() ui->placementPolicy->setCurrentIndex(index); } } + + /* Focus Follow Mouse */ + ui->followMouse->setChecked(getBool("/labwc_config/focus/followMouse")); + ui->followMouse->setToolTip(tr("Focus is given to window under mouse cursor")); + + /* Focus Requires Movement */ + ui->followMouseRequiresMovement->setChecked(getBool("/labwc_config/focus/followMouseRequiresMovement")); + ui->followMouseRequiresMovement->setToolTip(tr("Requires cursor movement if followMouse is enabled")); + ui->followMouseRequiresMovement->setEnabled(ui->followMouse->isChecked()); + connect(ui->followMouse, &QCheckBox::toggled, ui->followMouseRequiresMovement, &QWidget::setEnabled); + + /* Raise on Focus */ + ui->raiseOnFocus->setChecked(getBool("/labwc_config/focus/raiseOnFocus")); + ui->raiseOnFocus->setToolTip(tr("Raise window to top when focused.")); + + /* Gap (Core) */ + ui->gap->setValue(getInt("/labwc_config/core/gap")); + ui->gap->setToolTip(tr("Distance between windows and output edges when using movement actions")); + + /* Snapping Corner Range */ + ui->snapCornerRange->setValue(getInt("/labwc_config/snapping/cornerRange")); + ui->snapCornerRange->setToolTip(tr("")); + + /* Maximize On Top */ + ui->topMaximize->setChecked(getBool("/labwc_config/snapping/topMaximize")); + ui->topMaximize->setToolTip(tr("Maximize instead of snapping on top edge")); + + /* Notify Clients */ + QVector> notifyclients; + notifyclients.append(QSharedPointer(new Pair("always", tr("Always")))); + notifyclients.append(QSharedPointer(new Pair("region", tr("Region")))); + notifyclients.append(QSharedPointer(new Pair("edge", tr("Edge")))); + notifyclients.append(QSharedPointer(new Pair("never", tr("Never")))); + + QString current_notifyclientvalue = getStr("/labwc_config/snapping/notifyClient"); + int notifyclientvalue_index = -1; + foreach (auto notifyclientvalue, notifyclients) { + ui->notifyClients->addItem(notifyclientvalue.get()->description(), + QVariant(notifyclientvalue.get()->value())); + ++notifyclientvalue_index; + if (current_notifyclientvalue == notifyclientvalue.get()->value()) { + ui->notifyClients->setCurrentIndex(notifyclientvalue_index); + } + } + + /* Resistance: Screen Edge Strength */ + ui->screenEdgeStrength->setValue(getInt("/labwc_config/resistance/screenEdgeStrength")); + ui->screenEdgeStrength->setToolTip(tr("Resist interactive moves and resizes of a window\nacross screen edges or the edges of any other window, respectively"));//FIXME + + /* Window Edge Strength */ + ui->windowEdgeStrength->setValue(getInt("/labwc_config/resistance/windowEdgeStrength")); + ui->windowEdgeStrength->setToolTip(tr("Resist interactive moves and resizes of a window\nacross screen edges or the edges of any other window, respectively"));//FIXME + + /* resistance UnSnap Treshold */ + ui->unSnapTreshold->setValue(getInt("/labwc_config/resistance/unSnapTreshold")); + ui->unSnapTreshold->setToolTip(tr("Movement of cursor required for a tiled or maximized window to be moved")); + + /* resistance UnMaximizeTreshold */ + ui->unMaximizeTreshold->setValue(getInt("/labwc_config/resistance/unMaximizeTreshold")); + ui->unMaximizeTreshold->setToolTip(tr("One-dimensional movement of cursor required for\na vertically or horizontally maximized window to be moved.")); + + /* Resize: drawContents */ + ui->drawContents->setChecked(getBool("/labwc_config/resize/drawContents")); + ui->drawContents->setToolTip(tr("Application redraws its contents while resizing.\nIf disabled, an outlined rectangle is shown")); + + /* Keep Border (under 'theme') */ + ui->keepBorder->setChecked(getBool("/labwc_config/theme/keepBorder")); + ui->keepBorder->setToolTip(tr("Even when disabling server side decorations via ToggleDecorations,\nkeep a small border (and resize area) around the window")); + + /* Resize: Corner Range */ + ui->resizeCornerRange->setValue(getInt("/labwc_config/resize/cornerRange")); + ui->resizeCornerRange->setToolTip(tr("Size of corner regions to which all 'Corner' mousebinds contexts apply\n as well size of border region for which mouse resizing will apply in any direction.")); + + /* Resize Minimum Area */ + ui->resizeMinimumArea->setValue(getInt("/labwc_config/resize/resizeMinimumArea")); + ui->resizeMinimumArea->setToolTip(tr("Treat borders of server-side decorations as \nif they were at least the indicated thickness")); + + /* Show Popup */ + ui->popupShow->setToolTip(tr("Show a small indicator on top of the window when resizing or moving")); + QVector> resizeShowPopup; + resizeShowPopup.append(QSharedPointer(new Pair("Never", tr("Never")))); + resizeShowPopup.append(QSharedPointer(new Pair("Always", tr("Always")))); + resizeShowPopup.append(QSharedPointer(new Pair("Nonpixel", tr("Nonpixel")))); + + QString current_popupValue = getStr("/labwc_config/resize/popupShow"); + int popupValue_index = -1; + foreach (auto popupValue, resizeShowPopup) { + ui->popupShow->addItem(popupValue.get()->description(), + QVariant(popupValue.get()->value())); + ++popupValue_index; + if (current_popupValue == popupValue.get()->value()) { + ui->popupShow->setCurrentIndex(popupValue_index); + } + } + + /* Magnifier */ + ui->magnifierWidth->setValue(getInt("/labwc_config/magnifier/width")); + ui->magnifierWidth->setToolTip(tr("For full screen magnifier set to -1")); + ui->magnifierHeight->setValue(getInt("/labwc_config/magnifier/height")); + ui->magnifierHeight->setToolTip(tr("For full screen magnifier set to -1")); + + ui->initScale->setValue(getFloat("/labwc_config/magnifier/initScale")); + ui->initScale->setToolTip(tr("Initial number of times by which magnified image is scaled")); + + ui->increment->setValue(getFloat("/labwc_config/magnifier/increment")); + ui->increment->setToolTip(tr("Steps for changes on each call to 'ZoomIn' or 'ZoomOut'")); + + ui->useFilter->setChecked(getBool("/labwc_config/magnifier/useFilter")); + ui->useFilter->setToolTip(tr("Apply a bilinear filter to the magnified image")); } void Behaviour::onApply() { setStr("/labwc_config/placement/policy", DATA(ui->placementPolicy)); + setBool("/labwc_config/focus/followMouse", ui->followMouse->isChecked()); + setBool("/labwc_config/focus/followMouseRequiresMovement", ui->followMouseRequiresMovement->isChecked()); + setBool("/labwc_config/focus/raiseOnFocus", ui->raiseOnFocus->isChecked()); + setInt("/labwc_config/core/gap", ui->gap->value()); + setInt("/labwc_config/snapping/cornerRange", ui->snapCornerRange->value()); + setBool("/labwc_config/snapping/topMaximize", ui->topMaximize->isChecked()); + setStr("/labwc_config/snapping/notifyClient", DATA(ui->notifyClients)); + setInt("/labwc_config/resistance/screenEdgeStrength", ui->screenEdgeStrength->value()); + setInt("/labwc_config/resistance/windowEdgeStrength", ui->windowEdgeStrength->value()); + setInt("/labwc_config/resistance/unSnapTreshold", ui->unSnapTreshold->value()); + setInt("/labwc_config/resistance/unMaximizeTreshold", ui->unMaximizeTreshold->value()); + setBool("/labwc_config/resize/drawContents", ui->drawContents->isChecked()); + setBool("/labwc_config/theme/keepBorder", ui->keepBorder->isChecked()); + setInt("/labwc_config/resize/cornerRange", ui->resizeCornerRange->value()); + setInt("/labwc_config/resize/resizeMinimumArea", ui->resizeMinimumArea->value()); + setStr("/labwc_config/resize/popupShow", DATA(ui->popupShow)); + setInt("/labwc_config/magnifier/width", ui->magnifierWidth->value()); + setInt("/labwc_config/magnifier/height", ui->magnifierHeight->value()); + setFloat("/labwc_config/magnifier/initScale", ui->initScale->value()); + setFloat("/labwc_config/magnifier/increment", ui->increment->value()); + setBool("/labwc_config/magnifier/useFilter", ui->useFilter->isChecked()); } diff --git a/src/behaviour.ui b/src/behaviour.ui index 509ca65..94f6654 100644 --- a/src/behaviour.ui +++ b/src/behaviour.ui @@ -36,27 +36,37 @@ - - - - Automatic - - - - - Cascade - - - - - Center - - - - - Cursor - - + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Focus follows mouse + + + + + + + Requires movement + @@ -75,90 +85,83 @@ - - - Focus + + + Raise on focus - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - Requires movement - - - - - - - Raise on focus - - - - - - - Focus follows mouse - - - - - - - + + + + + Gap + + + + + + + px + + + 50 + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Orientation::Vertical + + + QSizePolicy::Policy::Fixed + + + + 15 + 15 + + + + + + Window snapping - - - - Range - - - - - + + Notify clients - - + + Maximize on top - - - - - - - Corner range - - - - + Qt::Orientation::Horizontal @@ -171,66 +174,57 @@ - - - - Qt::Orientation::Horizontal - - - - 539 - 20 - + + + + px - + - - + + - Overlay + Corner range - - + + - + Resistance - + Screen edge strength - - - - - - Threshold to unsnap + + + px + + + -99 - - - - - + + Qt::Orientation::Horizontal - 159 + 398 20 @@ -244,26 +238,83 @@ - + + + px + + + -99 + + - + + + + Qt::Orientation::Horizontal + + + + 398 + 20 + + + + + + + + Threshold to unsnap + + + + + + + px + + + + + + + Qt::Orientation::Horizontal + + + + 398 + 20 + + + + + Threshold to unmaximize - - + + + + px + + + 100 + + + 10 + + - - + + Qt::Orientation::Horizontal - 159 + 398 20 @@ -273,7 +324,7 @@ - + Resize @@ -281,7 +332,11 @@ - + + + px + + @@ -297,26 +352,14 @@ - - - - Never - - - - - Always - - - - - Nonpixel - - - + - + + + px + + @@ -379,7 +422,7 @@ - + Draw contents @@ -399,7 +442,7 @@ - + Keep border @@ -411,165 +454,126 @@ - + - Margins + Magnifier - - - Qt::Orientation::Horizontal - - - - 66 - 20 - + + + Width - + - - - Qt::Orientation::Horizontal + + + px - - - 66 - 20 - + + -1 - + + 1900 + + + 50 + + - + + + Height + + - - - Qt::Orientation::Horizontal + + + px - - - 66 - 20 - + + -1 - + + 2000 + + + 50 + + - + Qt::Orientation::Horizontal - 428 + 248 20 - - - Qt::Orientation::Horizontal - - - - 66 - 20 - + + + Initscale - + - - - - - - Qt::Orientation::Horizontal + + + 1 - - - 65 - 20 - + + 8.000000000000000 - - - - - - - - - Qt::Orientation::Horizontal + + 0.100000000000000 - - - 66 - 20 - - - + - - - - Qt::Orientation::Horizontal - - - - 66 - 20 - + + + + Increment - - - - + - - - - Qt::Orientation::Horizontal + + + + 1.000000000000000 - - - 66 - 20 - + + 0.010000000000000 - + - - + + Qt::Orientation::Horizontal - 428 + 248 20 - - - - Qt::Orientation::Horizontal - - - - 428 - 20 - + + + + Use filter - + diff --git a/src/behaviour.ui.~ b/src/behaviour.ui.~ new file mode 100644 index 0000000..2a7417a --- /dev/null +++ b/src/behaviour.ui.~ @@ -0,0 +1,607 @@ + + + pageBehaviour + + + + 0 + 0 + 790 + 1051 + + + + + + + true + + + + + 0 + 0 + 770 + 1031 + + + + + + + + + Placement Policy + + + + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Focus follows mouse + + + + + + + Requires movement + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + + + Raise on focus + + + + + + + Window snapping + + + + + + Qt::Orientation::Horizontal + + + + 539 + 20 + + + + + + + + Notify clients + + + + + + + Corner range + + + + + + + Maximize on top + + + + + + + px + + + + + + + + + + Resistance + + + + + + + + + Screen edge strength + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + px + + + -99 + + + + + + + + + + + + + Window edge strength + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + px + + + -99 + + + + + + + + + + + + + Threshold to unsnap + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + px + + + + + + + + + + + + + Threshold to unmaximize + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + px + + + 999 + + + + + + + + + + + + Resize + + + + + + + + px + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + + + + px + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + Minimum area + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + Corner range + + + + + + + Show popup + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + Draw contents + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + Keep border + + + + + + + + + + + + Margins + + + + + + Top + + + + + + + + + + Qt::Orientation::Horizontal + + + + 18 + 20 + + + + + + + + Left + + + + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + Bottom + + + + + + + + + + Qt::Orientation::Horizontal + + + + 18 + 20 + + + + + + + + Right + + + + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + Gap + + + + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Orientation::Horizontal + + + + 318 + 20 + + + + + + + + + + + Qt::Orientation::Vertical + + + + 20 + 40 + + + + + + + + + + + + + diff --git a/src/settings.cpp b/src/settings.cpp index 0035a20..c1364ef 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -36,7 +36,51 @@ void initSettings(std::vector> *settings) // Behaviour settings->push_back(std::make_shared("/labwc_config/placement/policy", LAB_FILE_TYPE_RCXML, LAB_VALUE_TYPE_STRING, - "Cascade")); + "cascade")); + settings->push_back(std::make_shared("/labwc_config/focus/followMouse", + LAB_FILE_TYPE_RCXML, LAB_VALUE_TYPE_BOOL, 0)); + settings->push_back(std::make_shared("/labwc_config/focus/followMouseRequiresMovement", + LAB_FILE_TYPE_RCXML, LAB_VALUE_TYPE_BOOL, 0)); + settings->push_back(std::make_shared("/labwc_config/focus/raiseOnFocus", + LAB_FILE_TYPE_RCXML, LAB_VALUE_TYPE_BOOL, 0)); + settings->push_back(std::make_shared("/labwc_config/core/gap", LAB_FILE_TYPE_RCXML, + LAB_VALUE_TYPE_INT, 0)); + settings->push_back(std::make_shared("/labwc_config/snapping/cornerRange", LAB_FILE_TYPE_RCXML, + LAB_VALUE_TYPE_INT, 50)); + settings->push_back(std::make_shared("/labwc_config/snapping/topMaximize", + LAB_FILE_TYPE_RCXML, LAB_VALUE_TYPE_BOOL, 1)); + settings->push_back(std::make_shared("/labwc_config/snapping/notifyClient", + LAB_FILE_TYPE_RCXML, LAB_VALUE_TYPE_STRING, + "always")); + settings->push_back(std::make_shared("/labwc_config/resistance/screenEdgeStrength", LAB_FILE_TYPE_RCXML, + LAB_VALUE_TYPE_INT, 20)); + settings->push_back(std::make_shared("/labwc_config/resistance/windowEdgeStrength", LAB_FILE_TYPE_RCXML, + LAB_VALUE_TYPE_INT, 50)); + settings->push_back(std::make_shared("/labwc_config/resistance/unSnapTreshold", LAB_FILE_TYPE_RCXML, + LAB_VALUE_TYPE_INT, 20)); + settings->push_back(std::make_shared("/labwc_config/resistance/unMaximizeTreshold", LAB_FILE_TYPE_RCXML, + LAB_VALUE_TYPE_INT, 150)); + settings->push_back(std::make_shared("/labwc_config/resize/drawContents", + LAB_FILE_TYPE_RCXML, LAB_VALUE_TYPE_BOOL, 1)); + settings->push_back(std::make_shared("/labwc_config/theme/keepBorder", + LAB_FILE_TYPE_RCXML, LAB_VALUE_TYPE_BOOL, 1)); + settings->push_back(std::make_shared("/labwc_config/resize/cornerRange", LAB_FILE_TYPE_RCXML, + LAB_VALUE_TYPE_INT, 8)); // Default is half the titlebar height + settings->push_back(std::make_shared("/labwc_config/resize/resizeMinimumArea", LAB_FILE_TYPE_RCXML, + LAB_VALUE_TYPE_INT, 8)); + settings->push_back(std::make_shared("/labwc_config/resize/popupShow", + LAB_FILE_TYPE_RCXML, LAB_VALUE_TYPE_STRING, + "Never")); + settings->push_back(std::make_shared("/labwc_config/magnifier/width", LAB_FILE_TYPE_RCXML, + LAB_VALUE_TYPE_INT, 400)); + settings->push_back(std::make_shared("/labwc_config/magnifier/height", LAB_FILE_TYPE_RCXML, + LAB_VALUE_TYPE_INT, 400)); + settings->push_back(std::make_shared("/labwc_config/magnifier/initScale", LAB_FILE_TYPE_RCXML, + LAB_VALUE_TYPE_FLOAT, 2.0f)); + settings->push_back(std::make_shared("/labwc_config/magnifier/increment", LAB_FILE_TYPE_RCXML, + LAB_VALUE_TYPE_FLOAT, 0.2f)); + settings->push_back(std::make_shared("/labwc_config/magnifier/useFilter", + LAB_FILE_TYPE_RCXML, LAB_VALUE_TYPE_BOOL, 1)); // Mouse & Touchpad settings->push_back(std::make_shared("XCURSOR_THEME", LAB_FILE_TYPE_ENVIRONMENT, From a2184a902eef17b6e25e179f0b2e8ca93348dea8 Mon Sep 17 00:00:00 2001 From: stefonarch Date: Sun, 21 Dec 2025 19:47:21 +0100 Subject: [PATCH 3/4] Ordered .ui file --- src/behaviour.ui | 118 ++++----- src/behaviour.ui.~ | 607 --------------------------------------------- 2 files changed, 59 insertions(+), 666 deletions(-) delete mode 100644 src/behaviour.ui.~ diff --git a/src/behaviour.ui b/src/behaviour.ui index 94f6654..7a828f1 100644 --- a/src/behaviour.ui +++ b/src/behaviour.ui @@ -106,7 +106,7 @@ px - 50 + 80 @@ -147,20 +147,6 @@ Window snapping - - - - Notify clients - - - - - - - Maximize on top - - - @@ -188,6 +174,20 @@ + + + + Maximize on top + + + + + + + Notify clients + + + @@ -331,10 +331,17 @@ - - - - px + + + + Draw contents + + + + + + + Keep border @@ -351,18 +358,8 @@ - - - - - - - px - - - - - + + Qt::Orientation::Horizontal @@ -374,15 +371,22 @@ - - + + - Minimum area + Corner range - - + + + + px + + + + + Qt::Orientation::Horizontal @@ -394,22 +398,22 @@ - - + + - Corner range + Minimum area - - - - Show popup + + + + px - - + + Qt::Orientation::Horizontal @@ -421,15 +425,18 @@ - - + + - Draw contents + Show popup - - + + + + + Qt::Orientation::Horizontal @@ -441,13 +448,6 @@ - - - - Keep border - - - @@ -475,7 +475,7 @@ -1 - 1900 + 2000 50 @@ -551,7 +551,7 @@ 1.000000000000000 - 0.010000000000000 + 0.100000000000000 diff --git a/src/behaviour.ui.~ b/src/behaviour.ui.~ deleted file mode 100644 index 2a7417a..0000000 --- a/src/behaviour.ui.~ +++ /dev/null @@ -1,607 +0,0 @@ - - - pageBehaviour - - - - 0 - 0 - 790 - 1051 - - - - - - - true - - - - - 0 - 0 - 770 - 1031 - - - - - - - - - Placement Policy - - - - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - - - - - Focus follows mouse - - - - - - - Requires movement - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - - - Raise on focus - - - - - - - Window snapping - - - - - - Qt::Orientation::Horizontal - - - - 539 - 20 - - - - - - - - Notify clients - - - - - - - Corner range - - - - - - - Maximize on top - - - - - - - px - - - - - - - - - - Resistance - - - - - - - - - Screen edge strength - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - px - - - -99 - - - - - - - - - - - - - Window edge strength - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - px - - - -99 - - - - - - - - - - - - - Threshold to unsnap - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - px - - - - - - - - - - - - - Threshold to unmaximize - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - px - - - 999 - - - - - - - - - - - - Resize - - - - - - - - px - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - - - - px - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - Minimum area - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - Corner range - - - - - - - Show popup - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - Draw contents - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - Keep border - - - - - - - - - - - - Margins - - - - - - Top - - - - - - - - - - Qt::Orientation::Horizontal - - - - 18 - 20 - - - - - - - - Left - - - - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - Bottom - - - - - - - - - - Qt::Orientation::Horizontal - - - - 18 - 20 - - - - - - - - Right - - - - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - Gap - - - - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - Qt::Orientation::Horizontal - - - - 40 - 20 - - - - - - - - Qt::Orientation::Horizontal - - - - 318 - 20 - - - - - - - - - - - Qt::Orientation::Vertical - - - - 20 - 40 - - - - - - - - - - - - - From 74360cf1cbf8da95fa4cb4999c42e18275a8b3e8 Mon Sep 17 00:00:00 2001 From: stefonarch Date: Sun, 21 Dec 2025 20:05:36 +0100 Subject: [PATCH 4/4] Added missing tooltip and better wording for notifyClients --- src/behaviour.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/behaviour.cpp b/src/behaviour.cpp index de1e283..f7d4059 100644 --- a/src/behaviour.cpp +++ b/src/behaviour.cpp @@ -63,10 +63,11 @@ void Behaviour::activate() ui->topMaximize->setToolTip(tr("Maximize instead of snapping on top edge")); /* Notify Clients */ + ui->notifyClients->setToolTip(tr("Snapping windows can trigger corresponding\ntiling events for native Wayland clients.")); QVector> notifyclients; notifyclients.append(QSharedPointer(new Pair("always", tr("Always")))); - notifyclients.append(QSharedPointer(new Pair("region", tr("Region")))); - notifyclients.append(QSharedPointer(new Pair("edge", tr("Edge")))); + notifyclients.append(QSharedPointer(new Pair("region", tr("Only on regions")))); + notifyclients.append(QSharedPointer(new Pair("edge", tr("Only on edges")))); notifyclients.append(QSharedPointer(new Pair("never", tr("Never")))); QString current_notifyclientvalue = getStr("/labwc_config/snapping/notifyClient");