1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-01-24 18:03:53 +03:00

fix #713,solid background for maximized windows

--this works similar with transparency with no-maximized
windows feature but on reverse. e.g. transparency for
non-maximized windows and solidness for maximized ones
--opacity to 1 when applet is active
--when the user uses a semi transparent panel for
un-maximized active windows and the user activates
a pop up for an applet a better visual effect is the
panel to not have any transparency
--improve translation strings and options order
This commit is contained in:
Michail Vourlakos 2017-09-18 19:06:25 +03:00
parent 1fc4cd25cf
commit 339b570c35
4 changed files with 26 additions and 3 deletions

View File

@ -72,6 +72,9 @@
<entry name="backgroundOnlyOnMaximized" type="Bool">
<default>false</default>
</entry>
<entry name="solidBackgroundForMaximized" type="Bool">
<default>false</default>
</entry>
<entry name="splitterPosition" type="Int">
<default>-1</default>
</entry>

View File

@ -257,7 +257,9 @@ Item{
anchors.bottomMargin: Latte.WindowSystem.compositingActive ? shadowsSvgItem.margins.bottom - bottomIncreaser : 0
anchors.fill:parent
opacity: root.solidPanel ? 1 : plasmoid.configuration.panelTransparency / 100
opacity: root.solidPanel || root.forceSolidPanel
|| (root.hasExpandedApplet && root.zoomFactor===1 && plasmoid.configuration.panelSize===100) ?
1 : plasmoid.configuration.panelTransparency / 100
property rect efGeometry: Qt.rect(-1,-1,0,0)

View File

@ -68,6 +68,8 @@ DragDrop.DropArea {
}
property bool blurEnabled: plasmoid.configuration.blurEnabled && !root.forceTransparentPanel
|| (hasExpandedApplet && zoomFactor===1 && plasmoid.configuration.panelSize===100)
property bool confirmedDragEntered: false
property bool containsOnlyPlasmaTasks: false //this is flag to indicate when from tasks only a plasma based one is found
property bool dockContainsMouse: dock && dock.visibility ? dock.visibility.containsMouse : false
@ -75,6 +77,7 @@ DragDrop.DropArea {
property bool disablePanelShadowMaximized: plasmoid.configuration.disablePanelShadowForMaximized
property bool drawShadowsExternal: panelShadowsActive && behaveAsPlasmaPanel
property bool editMode: plasmoid.userConfiguring
property bool forceSolidPanel: plasmoid.configuration.solidBackgroundForMaximized && windowsModel.hasMaximizedWindow
property bool forceTransparentPanel: root.backgroundOnlyOnMaximized && !windowsModel.hasMaximizedWindow && Latte.WindowSystem.compositingActive
&& !(hasExpandedApplet && zoomFactor===1 && plasmoid.configuration.panelSize===100)
@ -99,6 +102,7 @@ DragDrop.DropArea {
property bool onlyAddingStarup: true //is used for the initialization phase in startup where there arent removals, this variable provides a way to grow icon size
property bool shrinkThickMargins: plasmoid.configuration.shrinkThickMargins
property bool solidPanel: Latte.WindowSystem.compositingActive ? plasmoid.configuration.solidPanel : true
//FIXME: possibly this is going to be the default behavior, this user choice
//has been dropped from the Dock Configuration Window
//property bool smallAutomaticIconJumps: plasmoid.configuration.smallAutomaticIconJumps
@ -1319,7 +1323,7 @@ DragDrop.DropArea {
Loader{
id: windowsModel
active: (plasmoid.configuration.backgroundOnlyOnMaximized || root.disablePanelShadowMaximized) && dock
active: (plasmoid.configuration.backgroundOnlyOnMaximized || root.disablePanelShadowMaximized || plasmoid.configuration.solidBackgroundForMaximized) && dock
property bool hasMaximizedWindow: active && item ? item.maximizedWindowOnScreen : false
sourceComponent: WindowsModel{}

View File

@ -84,10 +84,24 @@ PlasmaComponents.Page {
}
}
PlasmaComponents.CheckBox {
id: solidForMaximizedChk
Layout.leftMargin: units.smallSpacing * 2
text: i18n("Force solid background for maximized windows")
checked: plasmoid.configuration.solidBackgroundForMaximized
tooltip: i18n("The panel background removes its transparency setting \n when there is a maximized window")
onClicked: {
plasmoid.configuration.solidBackgroundForMaximized = checked;
// plasmoid.configuration.disablePanelShadowForMaximized = false;
// hideShadowsOnMaximizedChk.checked = false;
}
}
PlasmaComponents.CheckBox {
id: onlyOnMaximizedChk
Layout.leftMargin: units.smallSpacing * 2
text: i18n("Show background only for maximized windows")
text: i18n("Hide background for not maximized windows")
checked: plasmoid.configuration.backgroundOnlyOnMaximized
tooltip: i18n("The panel background becomes transparent but is shown \nwhen there is a maximized window")