XYplorer temporarily prevents control

Things you’d like to miss in the future...
Forum rules
:warnred20: :warnred20: :warnred20: :warnred20: :warnred20: READ THIS AND DO IT!!! :warnred20: :warnred20: :warnred20: :warnred20: :warnred20:

:info: Please include the following information:
1) Your XYplorer Version (e.g., v28.00.0801)
2) Your Windows Version (e.g., Win 11)
3) Your Screen Scaling Percentage (e.g., 125%).

:info: We strongly recommend adding your Windows Version and Screen Scaling Percentage to the Location field in your Profile or to your Signature. That way, you only have to type them once, and we won't have to search for that vital information.

:info: When attaching an Image, please use the Attachment tab at the bottom of your post and click "Add files".

:warnred20: :warnred20: :warnred20: :warnred20: :warnred20: READ THIS AND DO IT!!! :warnred20: :warnred20: :warnred20: :warnred20: :warnred20:
Post Reply
Native2904
Posts: 161
Joined: 23 Apr 2025 18:48
Location: Aachen

XYplorer temporarily prevents control

Post by Native2904 »

Hi Don,

I've noticed a small issue that has been occurring for some time now.
When I launch a process (e.g. a *.bat) from a folder, the window that pops up sometimes ends up in the background. I think this might be related to the Glow changes. However, if you then try to delete another file in that folder or perform a similar action, XYplorer becomes unresponsive and simply does nothing.

I don't know whether this information is relevant to you or whether you're already aware of it.
xy.gif
To see the attached files, you need to log into the forum.
Lts. 64-bit XY-Port. ƒ JetBrainsMono @ Windows 11 Pro 24H2 ▣ 1920x1080 ⇵ 115%
xytags4tc

admin
Site Admin
Posts: 67054
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: XYplorer temporarily prevents control

Post by admin »

Need more info. Which process, which window.

Native2904
Posts: 161
Joined: 23 Apr 2025 18:48
Location: Aachen

Re: XYplorer temporarily prevents control

Post by Native2904 »

If I double-click a .bat file in a subfolder of my Downloads folder, Windows displays a confirmation dialog with the buttons “Yes” and “No”. However, when I click “Yes” with the mouse, the dialog loses foreground focus and is moved behind the other windows. This does not happen when I use the keyboard.

If I understood the discussion correctly, this may be related to twinBASIC.

Occasionally, however, if the Windows confirmation dialog has lost foreground focus but is still open, I can no longer access the files in the original folder (the Downloads subfolder). The files appear to be inaccessible until the background dialog is closed....if my observation is correct.
Lts. 64-bit XY-Port. ƒ JetBrainsMono @ Windows 11 Pro 24H2 ▣ 1920x1080 ⇵ 115%
xytags4tc

admin
Site Admin
Posts: 67054
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: XYplorer temporarily prevents control

Post by admin »

Why do you make it a mystery? Show the BAT file, show the dialog.

Native2904
Posts: 161
Joined: 23 Apr 2025 18:48
Location: Aachen

Re: XYplorer temporarily prevents control

Post by Native2904 »

Code: Select all

@echo off
REM ============================================================
REM StreamList - DEBUG build (Logging per StreamList.ini [Debug] Log=1)
REM Angelehnt an SnipClips build_debug.bat (gleiche Toolchain).
REM Icon in eigener .rc (ohne #include), wie bei SnipClip.
REM ============================================================

set MINGW_ROOT=C:\mingw64
set MINGW32_ROOT=C:\mingw64\mingw32
set SRC_DIR=%~dp0src
set OUT_DIR=%~dp0build\debug
set OUT_NAME=StreamList

if not exist "%OUT_DIR%" mkdir "%OUT_DIR%"

echo.
echo ============================================================
echo  Checking prerequisites
echo ============================================================

if not exist "%SRC_DIR%\fsplugin.h" goto :missing_header
if not exist "%MINGW_ROOT%\bin\x86_64-w64-mingw32-g++.exe" goto :missing_64bit

set HAVE_32BIT=0
if exist "%MINGW32_ROOT%\bin\i686-w64-mingw32-g++.exe" set HAVE_32BIT=1

echo   OK - 64-bit compiler found.
if %HAVE_32BIT%==1 echo   OK - 32-bit compiler found.
if %HAVE_32BIT%==0 echo   NOTE - 32-bit compiler not found, skipping 32-bit build.
echo.
goto :build64

:missing_header
echo [ERROR] fsplugin.h not found in %SRC_DIR%
goto :fail

:missing_64bit
echo [ERROR] 64-bit compiler not found at:
echo         %MINGW_ROOT%\bin\x86_64-w64-mingw32-g++.exe
goto :fail

:build64
echo ============================================================
echo  Building 64-bit (%OUT_NAME%.wfx64)
echo ============================================================
"%MINGW_ROOT%\bin\windres.exe" --target=pe-x86-64 -I "%SRC_DIR%" "%SRC_DIR%\streamlist_icon.rc" -O coff -o "%OUT_DIR%\streamlist_icon_res64.o"
if errorlevel 1 goto :fail64
REM Everything SDK 3 (C-Code von voidtools) als statische Bibliothek -
REM --exclude-libs verhindert, dass seine Funktionen mit exportiert werden.
REM Hinweise zur MinGW-Anpassung: src\everything3\README_StreamList.txt
"%MINGW_ROOT%\bin\x86_64-w64-mingw32-gcc.exe" -c -O2 -DEVERYTHING3_LIB -DNDEBUG -Wno-incompatible-pointer-types "%SRC_DIR%\everything3\src\Everything3.c" -o "%OUT_DIR%\everything3_64.o"
if errorlevel 1 goto :fail64
if exist "%OUT_DIR%\libeverything3_64.a" del "%OUT_DIR%\libeverything3_64.a"
"%MINGW_ROOT%\bin\ar.exe" rcs "%OUT_DIR%\libeverything3_64.a" "%OUT_DIR%\everything3_64.o"
if errorlevel 1 goto :fail64
"%MINGW_ROOT%\bin\x86_64-w64-mingw32-g++.exe" -std=c++17 -g -O0 -D_DEBUG -DSTREAMLIST_DEBUG -Wall -shared -static -static-libgcc -static-libstdc++ -o "%OUT_DIR%\%OUT_NAME%.wfx64" "%SRC_DIR%\streamlist.cpp" "%OUT_DIR%\streamlist_icon_res64.o" -L"%OUT_DIR%" -leverything3_64 -lshell32 -Wl,--exclude-libs,ALL
if errorlevel 1 goto :fail64
echo   OK - %OUT_NAME%.wfx64 built.
echo.
if %HAVE_32BIT%==1 goto :build32
goto :success

:fail64
echo [ERROR] 64-bit build failed. See compiler output above.
goto :fail

REM -fno-stack-protector: vermeidet libssp-0.dll-Abhaengigkeit (siehe SnipClip)
REM -Wl,--kill-at: unverzierte Exportnamen (FsInitW statt _FsInitW@16)
:build32
echo ============================================================
echo  Building 32-bit (%OUT_NAME%.wfx)
echo ============================================================
"%MINGW_ROOT%\bin\windres.exe" --target=pe-i386 -I "%SRC_DIR%" "%SRC_DIR%\streamlist_icon.rc" -O coff -o "%OUT_DIR%\streamlist_icon_res32.o"
if errorlevel 1 goto :fail32
"%MINGW32_ROOT%\bin\i686-w64-mingw32-gcc.exe" -c -O2 -DEVERYTHING3_LIB -DNDEBUG -Wno-incompatible-pointer-types -fno-stack-protector "%SRC_DIR%\everything3\src\Everything3.c" -o "%OUT_DIR%\everything3_32.o"
if errorlevel 1 goto :fail32
if exist "%OUT_DIR%\libeverything3_32.a" del "%OUT_DIR%\libeverything3_32.a"
"%MINGW32_ROOT%\bin\ar.exe" rcs "%OUT_DIR%\libeverything3_32.a" "%OUT_DIR%\everything3_32.o"
if errorlevel 1 goto :fail32
"%MINGW32_ROOT%\bin\i686-w64-mingw32-g++.exe" -std=c++17 -g -O0 -D_DEBUG -DSTREAMLIST_DEBUG -Wall -fno-stack-protector -shared -static -static-libgcc -static-libstdc++ -Wl,--kill-at -o "%OUT_DIR%\%OUT_NAME%.wfx" "%SRC_DIR%\streamlist.cpp" "%OUT_DIR%\streamlist_icon_res32.o" -L"%OUT_DIR%" -leverything3_32 -lshell32 -Wl,--exclude-libs,ALL
if errorlevel 1 goto :fail32
echo   OK - %OUT_NAME%.wfx built.
echo.
goto :success

:fail32
echo [ERROR] 32-bit build failed. See compiler output above.
goto :fail

:success
set RELEASE_DIR=%~dp0debug
if exist "%RELEASE_DIR%" rmdir /s /q "%RELEASE_DIR%"
mkdir "%RELEASE_DIR%"
copy /y "%OUT_DIR%\%OUT_NAME%.wfx64" "%RELEASE_DIR%\" >nul
if %HAVE_32BIT%==1 copy /y "%OUT_DIR%\%OUT_NAME%.wfx" "%RELEASE_DIR%\" >nul
if exist "%~dp0%OUT_NAME%.ini" copy /y "%~dp0%OUT_NAME%.ini" "%RELEASE_DIR%\" >nul
if exist "%~dp0%OUT_NAME%.lng" copy /y "%~dp0%OUT_NAME%.lng" "%RELEASE_DIR%\" >nul
for %%F in ("%~dp0README*.txt" "%~dp0LIESMICH.txt") do if exist "%%~F" copy /y "%%~F" "%RELEASE_DIR%\" >nul
if exist "%~dp0pluginst.inf" copy /y "%~dp0pluginst.inf" "%RELEASE_DIR%\" >nul

echo.
echo ============================================================
echo  Build finished successfully.
echo  Debug folder: %RELEASE_DIR%
echo  Testplan: TESTPLAN.txt
echo ============================================================
goto :end

:fail
echo.
echo ============================================================
echo  BUILD FAILED - see messages above.
echo ============================================================
exit /b 1

:end
pause
This example is merely illustrative.
To see the attached files, you need to log into the forum.
Lts. 64-bit XY-Port. ƒ JetBrainsMono @ Windows 11 Pro 24H2 ▣ 1920x1080 ⇵ 115%
xytags4tc

admin
Site Admin
Posts: 67054
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: XYplorer temporarily prevents control

Post by admin »

OK, I cannot reproduce it here without installing stuff. Can you make a basic example that makes the issue reproducible?

Native2904
Posts: 161
Joined: 23 Apr 2025 18:48
Location: Aachen

Re: XYplorer temporarily prevents control

Post by Native2904 »

Of course I understand that, and I am honestly a little embarrassed, but I am not able to describe this particular case in a way that would allow you to draw any meaningful conclusions from it.

What I do know for certain, however, is that from time to time XYplorer stops responding to mouse clicks. It is not completely frozen, though — it only seems to affect certain tabs.

The next time it happens, I will record a video and post it here for you. Hopefully that will make it easier to understand what is happening.
Lts. 64-bit XY-Port. ƒ JetBrainsMono @ Windows 11 Pro 24H2 ▣ 1920x1080 ⇵ 115%
xytags4tc

admin
Site Admin
Posts: 67054
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: XYplorer temporarily prevents control

Post by admin »

OK.

Generally, Windows is responsible for a meaningful Z-order of windows.

Native2904
Posts: 161
Joined: 23 Apr 2025 18:48
Location: Aachen

Re: XYplorer temporarily prevents control

Post by Native2904 »

Not mouse clicks but keyboard clicks – I’ll be back. Thank you!
Lts. 64-bit XY-Port. ƒ JetBrainsMono @ Windows 11 Pro 24H2 ▣ 1920x1080 ⇵ 115%
xytags4tc

Post Reply