ScriptForge - ui.Activate() Fix maximize

ui.Activate(...)
sets the focus on the window in argument.

Before the actual patch, when the window
in background was maximized, it appeared
in foreground simply "restored".

Now "restored" or "maximized" depends on
the previous status.

Limited impact on existing scripts.
Improvement valid for Python and Basic
user scripts.

No impact on help documentation.

Change-Id: Ie3d30967948d114a422345afa9d13d54e587b79e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201175
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
This commit is contained in:
Jean-Pierre Ledure
2026-03-08 11:04:02 +01:00
parent 015861bbf4
commit c428b24381
2 changed files with 10 additions and 7 deletions
+3
View File
@@ -217,6 +217,7 @@ Dim oEnum As Object &apos; com.sun.star.container.XEnumeration
Dim oComp As Object &apos; com.sun.star.lang.XComponent
Dim vWindow As Window &apos; A single component
Dim oContainer As Object &apos; com.sun.star.awt.XWindow
Dim bMaximized As Boolean &apos; True when window is maximized
Const cstThisSub = &quot;UI.Activate&quot;
Const cstSubArgs = &quot;WindowName&quot;
@@ -242,9 +243,11 @@ Try:
Set oContainer = vWindow.Frame.ContainerWindow
With oContainer
If .isVisible() = False Then .setVisible(True)
bMaximized = .IsMaximized
.IsMinimized = False
.setFocus()
.toFront() &apos; Force window change in Linux
If bMaximized Then .IsMaximized = True &apos; Re-maximized only when True
Wait 1 &apos; Bypass desynchro issue in Linux
End With
bActivate = True
+7 -7
View File
@@ -1,6 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ScriptForge" library:readonly="false" library:passwordprotected="false">
<library:element library:name="SF_Timer"/>
<library:element library:name="SF_FileSystem"/>
<library:element library:name="__License"/>
<library:element library:name="SF_Root"/>
<library:element library:name="SF_Region"/>
<library:element library:name="SF_L10N"/>
<library:element library:name="SF_SharedMemory"/>
<library:element library:name="_CodingConventions"/>
<library:element library:name="SF_Session"/>
<library:element library:name="SF_Dictionary"/>
@@ -14,11 +21,4 @@
<library:element library:name="SF_Utils"/>
<library:element library:name="SF_String"/>
<library:element library:name="_ModuleModel"/>
<library:element library:name="SF_SharedMemory"/>
<library:element library:name="SF_L10N"/>
<library:element library:name="SF_Region"/>
<library:element library:name="SF_Root"/>
<library:element library:name="__License"/>
<library:element library:name="SF_FileSystem"/>
<library:element library:name="SF_Timer"/>
</library:library>