mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-26 14:26:00 +01:00
don't recalc offset on monitor reload offset auto
This commit is contained in:
parent
1396d2a39b
commit
2ee9fb0675
2 changed files with 4 additions and 4 deletions
|
@ -11,7 +11,7 @@ struct SMonitorRule;
|
||||||
|
|
||||||
class CMonitor {
|
class CMonitor {
|
||||||
public:
|
public:
|
||||||
Vector2D vecPosition = Vector2D(0,0);
|
Vector2D vecPosition = Vector2D(-1,-1); // means unset
|
||||||
Vector2D vecSize = Vector2D(0,0);
|
Vector2D vecSize = Vector2D(0,0);
|
||||||
Vector2D vecPixelSize = Vector2D(0,0);
|
Vector2D vecPixelSize = Vector2D(0,0);
|
||||||
Vector2D vecTransformedSize = Vector2D(0,0);
|
Vector2D vecTransformedSize = Vector2D(0,0);
|
||||||
|
|
|
@ -955,8 +955,6 @@ bool CHyprRenderer::applyMonitorRule(CMonitor* pMonitor, SMonitorRule* pMonitorR
|
||||||
wlr_output_set_scale(pMonitor->output, pMonitorRule->scale);
|
wlr_output_set_scale(pMonitor->output, pMonitorRule->scale);
|
||||||
pMonitor->scale = pMonitorRule->scale;
|
pMonitor->scale = pMonitorRule->scale;
|
||||||
|
|
||||||
pMonitor->vecPosition = pMonitorRule->offset;
|
|
||||||
|
|
||||||
// loop over modes and choose an appropriate one.
|
// loop over modes and choose an appropriate one.
|
||||||
if (pMonitorRule->resolution != Vector2D() && pMonitorRule->resolution != Vector2D(-1,-1) && pMonitorRule->resolution != Vector2D(-1,-2)) {
|
if (pMonitorRule->resolution != Vector2D() && pMonitorRule->resolution != Vector2D(-1,-1) && pMonitorRule->resolution != Vector2D(-1,-2)) {
|
||||||
if (!wl_list_empty(&pMonitor->output->modes)) {
|
if (!wl_list_empty(&pMonitor->output->modes)) {
|
||||||
|
@ -1175,7 +1173,7 @@ bool CHyprRenderer::applyMonitorRule(CMonitor* pMonitor, SMonitorRule* pMonitorR
|
||||||
pMonitor->vecSize = (Vector2D(x, y) / pMonitor->scale).floor();
|
pMonitor->vecSize = (Vector2D(x, y) / pMonitor->scale).floor();
|
||||||
pMonitor->vecTransformedSize = Vector2D(x,y);
|
pMonitor->vecTransformedSize = Vector2D(x,y);
|
||||||
|
|
||||||
if (pMonitorRule->offset == Vector2D(-1, -1)) {
|
if (pMonitorRule->offset == Vector2D(-1, -1) && pMonitor->vecPosition == Vector2D(-1, -1)) {
|
||||||
// let's find manually a sensible position for it, to the right.
|
// let's find manually a sensible position for it, to the right.
|
||||||
Vector2D finalPos;
|
Vector2D finalPos;
|
||||||
|
|
||||||
|
@ -1189,6 +1187,8 @@ bool CHyprRenderer::applyMonitorRule(CMonitor* pMonitor, SMonitorRule* pMonitorR
|
||||||
}
|
}
|
||||||
|
|
||||||
pMonitor->vecPosition = finalPos;
|
pMonitor->vecPosition = finalPos;
|
||||||
|
} else if (pMonitorRule->offset != Vector2D(-1, -1)) {
|
||||||
|
pMonitor->vecPosition = pMonitorRule->offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pMonitor->isMirror())
|
if (!pMonitor->isMirror())
|
||||||
|
|
Loading…
Reference in a new issue