Add developer mode

This commit is contained in:
wheaney 2026-01-10 10:26:10 -08:00
parent efd652b77c
commit f90ac4fe3c
4 changed files with 19 additions and 2 deletions

View File

@ -98,5 +98,9 @@
<label>Curved display</label>
<description>Curve the displays around you</description>
</entry>
<entry name="DeveloperMode" type="Bool">
<default>false</default>
</entry>
</group>
</kcfg>

View File

@ -263,6 +263,9 @@ void BreezyDesktopEffect::reconfigure(ReconfigureFlags)
if (m_removeVirtualDisplaysOnDisable != removeVD) { m_removeVirtualDisplaysOnDisable = removeVD; Q_EMIT removeVirtualDisplaysOnDisableChanged(); }
if (m_mirrorPhysicalDisplays != mirrorPhysicalDisplays) { m_mirrorPhysicalDisplays = mirrorPhysicalDisplays; Q_EMIT mirrorPhysicalDisplaysChanged(); }
const bool developerMode = BreezyDesktopConfig::developerMode();
if (m_developerMode != developerMode) { m_developerMode = developerMode; Q_EMIT developerModeChanged(); }
bool curved = BreezyDesktopConfig::curvedDisplay() && m_curvedDisplaySupported;
if (m_curvedDisplay != curved) { m_curvedDisplay = curved; Q_EMIT curvedDisplayChanged(); }
@ -270,6 +273,11 @@ void BreezyDesktopEffect::reconfigure(ReconfigureFlags)
m_allDisplaysFollowMode = BreezyDesktopConfig::allDisplaysFollowMode();
}
bool BreezyDesktopEffect::developerMode() const
{
return m_developerMode;
}
QVariantMap BreezyDesktopEffect::initialProperties(Output *screen)
{
return QVariantMap{

View File

@ -53,6 +53,7 @@ namespace KWin
Q_PROPERTY(bool mirrorPhysicalDisplays READ mirrorPhysicalDisplays NOTIFY mirrorPhysicalDisplaysChanged)
Q_PROPERTY(bool curvedDisplay READ curvedDisplay NOTIFY curvedDisplayChanged)
Q_PROPERTY(bool curvedDisplaySupported READ curvedDisplaySupported WRITE setCurvedDisplaySupported NOTIFY curvedDisplaySupportedChanged)
Q_PROPERTY(bool developerMode READ developerMode NOTIFY developerModeChanged)
public:
@ -105,6 +106,7 @@ namespace KWin
bool removeVirtualDisplaysOnDisable() const;
bool mirrorPhysicalDisplays() const;
bool curvedDisplay() const;
bool developerMode() const;
void setCurvedDisplaySupported(bool supported);
void showCursor();
@ -144,6 +146,7 @@ namespace KWin
void mirrorPhysicalDisplaysChanged();
void curvedDisplayChanged();
void curvedDisplaySupportedChanged();
void developerModeChanged();
void cursorImageSourceChanged();
void cursorPosChanged();
@ -204,6 +207,7 @@ namespace KWin
bool m_mirrorPhysicalDisplays = false;
bool m_curvedDisplay = false;
bool m_curvedDisplaySupported = false;
bool m_developerMode = false;
float m_smoothFollowThreshold = 1.0f;
bool m_allDisplaysFollowMode = false;
bool m_focusedSmoothFollowEnabled = false;

View File

@ -30,8 +30,9 @@ Item {
property real viewportDiagonalFOVDegrees: effect.diagonalFOV
property var viewportResolution: effect.displayResolution
property bool mirrorPhysicalDisplays: effect.mirrorPhysicalDisplays
property bool developerMode: effect.developerMode
property var screens: KWinComponents.Workspace.screens.filter(function(screen) {
return mirrorPhysicalDisplays || screen.name.includes("BreezyDesktop") || supportedModels.some(model => screen.model.includes(model));
return developerMode || mirrorPhysicalDisplays || screen.name.includes("BreezyDesktop") || supportedModels.some(model => screen.model.includes(model));
})
property var sizeAdjustedScreens: screens.map(function(screen) {
const sizeComplement = (1.0 - distanceAdjustedSize) / 2.0;
@ -114,7 +115,7 @@ Item {
return displays.monitorsToPlacements(fovDetails, adjustedGeometries, effect.displaySpacing);
}
property bool targetScreenSupported: supportedModels.some(model => root.targetScreen.model.includes(model))
property bool targetScreenSupported: developerMode || supportedModels.some(model => root.targetScreen.model.includes(model))
property bool targetScreenIsVirtual: targetScreen.name.includes("BreezyDesktop")
property bool poseResetState: effect.poseResetState
property bool isEnabled: effect.isEnabled