4 days ago
Topic:
Why is PatchMyPC discontinued?
GianlucaAdministrator Posts: 1346
|
You're right. I've just added it again. The problem is they don't advertise the home version enough. If you go to the page for a versions comparison (here https://patchmypc.com/pricing/) you can find no trace of it.
|
|
|
4 days ago
Topic:
Why is PatchMyPC discontinued?
jopa66Posts: 17
|
Gianluca wrote:
It's become a paid software and we only have free tools here.
Still FREE for home users. They also have portable version. https://patchmypc.com/product/home-updater/
|
|
|
11 days ago
Topic:
Start minimized Thunderbird
SpacePosts: 3
|
Ok, I have solved it differently
I have installed the extension 'minimize_on_startup' and works perfectly https://github.com/aAndrzej-dev/Minimize-on-startup
|
|
|
12 days ago
Topic:
Start minimized Thunderbird
SpacePosts: 3
|
Ok. thank you
I see the solutions very complicated for me, I will choose to install the program, without being portable and I solve it.
Regards
|
|
|
12 days ago
Topic:
Start minimized Thunderbird
GianlucaAdministrator Posts: 1346
|
Hi Space! It's simply impossible. SyMenu has an option to start a program maximized or minimized, but PAF programs use a launcher (the portabilizer), and SyMenu can't do anything beyond asking the launcher to start in a specific state. Unfortunately, apart from the splash screen, the launcher doesn't have a window and doesn't pass the request about window state to the actual program, so there's no solution.
Well, actually, there are two possible solutions... but be warned, they're not exactly simple.
1) Ask John  This is a limitation of the PAF launcher. Ideally, you should be able to run it with a command-line argument to tell it to launch the real app minimized... but I fear they haven't considered this. Try checking the documentation here to be sure: https://portableapps.com/manuals/PortableApps.comLauncher/ref/launcher.ini/launch.html Anyway, ask John, he's always super kind and might implement the feature in no time.
2) Hack it Strangely enough, I had a similar need with Firefox. I wanted Firefox to open maximized and move to my primary monitor (I use two). So I created a customizable PowerShell script, which I’ve attached below. In SyMenu, you just need to create a SyProgram where the Path is "powershell.exe" and the Arguments are: -File [full path to the PS script] -processName [name of your program] You can run it after launching Thunderbird, or use it to launch Thunderbird and minimize it directly.
Of course, feel free to modify the script however you like and maybe share it here once it's done. You could even make it non-generic by hardcoding the process name, but I kept it generic so it can be reused for other programs. Or you could add a parameter to specify whether the program should be maximized or minimized. Just my two cents for further improvements.
# -------------------------------------------------------------------------------------------------------------- # Created by : Gianluca Negrelli # Copyright : 2025.03.27 # -------------------------------------------------------------------------------------------------------------- # Maximizes the window of a process and moves it to the primary monitor, which in my # case is the one on the right. # The process name is passed without extension as an argument. E.g. firefox. # The script is used by SyMenu in the autoexec after launching certain programs. # --------------------------------------------------------------------------------------------------------------
#$processName = $args[0] # Get the process name from the command line if provided (e.g. -processName firefox). param ( [string]$processName ) # For debugging # $processName = "firefox"
# Definition of Win32 functions as a custom type. $signature = @" using System; using System.Runtime.InteropServices; public class Win32 { [DllImport("user32.dll", SetLastError = true)] public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
[DllImport("user32.dll", SetLastError = true)] public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
[DllImport("user32.dll")] public static extern bool GetWindowRect(IntPtr hWnd, out RECT lpRect);
[DllImport("user32.dll")] public static extern bool GetWindowPlacement(IntPtr hWnd, ref WINDOWPLACEMENT lpwndpl);
public const int SW_MAXIMIZE = 3; public const int SW_MINIMIZE = 6; public const int SW_RESTORE = 9; public const uint SWP_NOZORDER = 0x0004; public const uint SWP_NOACTIVATE = 0x0010; public const uint SWP_SHOWWINDOW = 0x0040;
[StructLayout(LayoutKind.Sequential)] public struct RECT { public int Left; public int Top; public int Right; public int Bottom; }
[StructLayout(LayoutKind.Sequential)] public struct WINDOWPLACEMENT { public int length; public int flags; public int showCmd; public POINT ptMinPosition; public POINT ptMaxPosition; public RECT rcNormalPosition; }
[StructLayout(LayoutKind.Sequential)] public struct POINT { public int x; public int y; } } "@
# Load the Windows Forms assembly and the custom Win32 type. Add-Type -AssemblyName System.Windows.Forms Add-Type -TypeDefinition $signature
if (-not $processName ){ Write-Host "Missing process name to search for (e.g. firefox)" return }
# Query the system to check if more than one screen is present. $screens = [System.Windows.Forms.Screen]::AllScreens
# Delay allows programs to start before performing window operations. Write-Host "Waiting 5 seconds to allow $processName to activate..." Start-Sleep -Seconds 5
# Get all processes matching the provided $processName that have a window ($_.MainWindowHandle -ne 0). $windows = Get-Process -Name $processName | Where-Object { $_.MainWindowHandle -ne 0 } foreach($window in $windows) { # Get the window handle $mainWindowHandle = $window.MainWindowHandle
# Check if the window is already on the primary screen. $screen = [System.Windows.Forms.Screen]::FromHandle($mainWindowHandle) Write-Output "The window '$($window.ProcessName)' is on screen: $($screen.DeviceName)"
if ($screens.Count -ne 1 -and $screen.DeviceName -eq "\\.\DISPLAY2") { # More than one screen is present and it's not on monitor 2, so repositioning is needed.
# If maximized, restore first because taskbar differences between screens affect sizing. $placement = New-Object Win32+WINDOWPLACEMENT $placement.length = [System.Runtime.InteropServices.Marshal]::SizeOf($placement) if ([Win32]::GetWindowPlacement($mainWindowHandle, [ref]$placement)) { if ($placement.showCmd -eq [Win32]::SW_MAXIMIZE) { # Window is maximized, needs to be restored. [Win32]::ShowWindow($mainWindowHandle, [Win32]::SW_RESTORE) } }
# Get the current rectangle of the restored window to replicate size and position on the primary screen. $rect = New-Object Win32+RECT [Win32]::GetWindowRect($mainWindowHandle, [ref]$rect)
# Calculate current width and height of the window. $width = $rect.Right - $rect.Left $height = $rect.Bottom - $rect.Top
# Calculate window position on the left monitor, assuming secondary is mapped at x = -1920 $left = $rect.Left + 1920 $top = $rect.Top
# Move the window to the primary monitor. $windowPosFlags = [Win32]::SWP_NOZORDER -bor [Win32]::SWP_NOACTIVATE -bor [Win32]::SWP_SHOWWINDOW [Win32]::SetWindowPos($mainWindowHandle, [IntPtr]::Zero, $left, $top, $width, $height, $windowPosFlags) }
# Maximize the window [Win32]::ShowWindow($mainWindowHandle, [Win32]::SW_MAXIMIZE) }
|
|
|
12 days ago
Topic:
Start minimized Thunderbird
SpacePosts: 3
|
Hi, Is there any way to start minimized Thunderbird? When using .paf platform, it does not leave
|
|
|
18 days ago
Topic:
Adding a shortcut from GodMode
GianlucaAdministrator Posts: 1346
|
In the Windows world a canonical name is the easy way to refer to a function to avoid referring to it with its ID (the GUID). You found canonical names in god mode, in the control panel, in start menu, in several system snap ins, and so on.
|
|
|
18 days ago
Topic:
Adding a shortcut from GodMode
SvenHPosts: 36
|
On the web pages you refer to I found the GUID that applies to Fonts (shell:::{BD84B380-8CA2-1069-AB1D-08000948F534}).
GUID was completely unknown to me (I am a retired COBOL programmer who only wants to simplify the use of Windows :-) ). Also, I don't understand what is meant by "canonical names".
Thanks for the help!
|
|
|
19 days ago
Topic:
Adding a shortcut from GodMode
GianlucaAdministrator Posts: 1346
|
I don't know why it happens...
This is the shortcut content I see (the bold part is the magic string):
L À F jÄ ± hU)ª GODMOD~1.{ED Ž ï¾ËZZ2[Òc. ½ p°‚ G o d M o d e . { E D 7 B A 4 7 0 - 8 E 5 4 - 4 6 5 E - 8 2 5 C - 9 9 7 1 2 0 4 3 E 0 1 C } ï¾p¤{íTŽ^F‚\™q Cà ¤ ž3‹#p$ ùô)tX®@‚r?<kÝÖ€³„½¢Œi« Hõ4 Y 1SPS0ñ%·ïG¥ñ`Œžë¬= C h a n g e F o n t S e t t i n g s ¡ 1SPS7˜x|!C³ðà iqÕ… 9 M i c r o s o f t . F o n t s \ : : { 9 3 4 1 2 5 8 9 - 7 4 D 4 - 4 E 4 E - A D 0 E - E 0 C B 6 2 1 4 4 0 F D } A 1SPSà…ŸòùOh«‘ +'³Ù% f a u n t ; f o n t s ; t y p e ; t r u e t y p e ; t y p e ; o p e n t y p e ; f o u n t ; c o n f g ; c o n f i g u r a t i o n ; c o n f i g u r e ; d e f i n e ; m a n a g e m e n t ; o p t i o n s ; p e r s o n a l i s e ; p e r s o n a l i z e ; u p ; s e t t i n g s ; s e t u p ; a u t o h i d e ; a u t o - h i d e ; a u t o m a t i c a l l y ; h i d e ; m a k e ; i n v i s i b l e ; a u t o m a t i c a l l y ; a u t o s h o w ; a u t o - s h o w ; m a k e ; v i s i b l e ; s e e ; s h o w ; u n l o c k ; v i e w ; 1 1SPS³wíÆlE®[([8×° S
The God mode feature I choose to create the shortcut has been "Change Font Settings".
Anyway... my suggestion is a bit lame. It's easier to search the magic strings (the right name is canonical names) in the Internet and, if you find a good source, please share it because it'd be a precious resource for others too.
Anyway if you want to use the GUIDs instead, the right command is: explorer shell:::{93412589-74D4-4E4E-AD0E-E0CB621440FD}
To configure this command in SyMenu you have to proceed in the usual way: create a new SyProgram then add: explorer.exe as a path and shell:::{93412589-74D4-4E4E-AD0E-E0CB621440FD} as parameter.
Why am I suggesting you to use the GUIDs instead of the canonical names? Because there's plenty of documentation for them:
- https://winaero.com/clsid-guid-shell-list-windows-10/
- https://www.tenforums.com/tutorials/3123-clsid-key-guid-shortcuts-list-windows-10-a.html
Let me know how you decide to proceed please.
|
|
|
20 days ago
Topic:
Total Commander
gcelsiPosts: 1
|
To overcome the portability issue of Total Commander, the best method is to use the startup parameters /i and /f. For example, if the executable is at c:\PortableApps\TotalCommander1156\TOTALCMD64.EXE you just need to run
c:\PortableApps\TotalCommander1156\TOTALCMD64.EXE /i=c:\PortableApps\TotalCommander1156\Wincmd.ini /f=c:\PortableApps\TotalCommander1156\wcx_ftp.ini
and then adjust all the settings inside Wincmd.ini such as
pluginbasedir=%COMMANDER_PATH%\Plugins However, since I use multiple computers and sometimes different versions of Total Commander, I created a dedicated folder,
c:\PortableApps\TotalCommanderMV\
which stays constant regardless of the TC versions and can also be placed on a USB drive or a Cloud-synced folder (provided it is writable). Inside it, there are several folders for organization:
- TotalCommanderMV\Bar
- TotalCommanderMV\GHISLER
- TotalCommanderMV\Icone
- TotalCommanderMV\Language
- TotalCommanderMV\Plugins
- TotalCommanderMV\Plugins\WFX
- TotalCommanderMV\Plugins\WLX
- TotalCommanderMV\Utility
In some situations, TC stubbornly tries to use the folder c:\Users\<username>\AppData\Roaming\GHISLER\
To solve this, I avoid using the startup parameters /i and /f and instead create a hard link inside the Windows user folders by deleting
c:\Users\<username>\AppData\Roaming\GHISLER
and replacing it with a hard link to the constant folder above, using the DOS command:
mklink /J "c:\Users\<username>\AppData\Roaming\GHISLER" "c:\PortableApps\TotalCommanderMV\GHISLER"
following the syntax:
MKLINK /J Link Target
edited by gcelsi on 22/09/2025
|
|
|
22 days ago
Topic:
Adding a shortcut from GodMode
SvenHPosts: 36
|
Of course I should have come up with that way of renaming myself...
But the text string 'Microsoft.Fonts' is not there, see the attachment.
|
|
|
22 days ago
Topic:
Adding a shortcut from GodMode
GianlucaAdministrator Posts: 1346
|
It's only an Explorer visualization limit. Try to use an alternative resource explorer like Double Commander or the old good CLI. You'll see the files like they really are.
|
|
|
23 days ago
Topic:
Adding a shortcut from GodMode
SvenHPosts: 36
|
In Explorer I can see the extension for other file types (mp4, txt, etc.) but not for shortcuts. For those, it only says shortcut.
|
|
|
23 days ago
Topic:
Adding a shortcut from GodMode
GianlucaAdministrator Posts: 1346
|
Ok I haven't understood your problem was the loading part. It's strange, I opened the shortcut with the simple Windows notepad. Probably the way you are opening it tricks Windows that opens the shortcut's target instead. But in this case the target is not a file so it doesn't succeed.
Try this procedure: since a shortcut file has a .lkn extension, change the extension in .txt and now open it with your text editor.
|
|
|
23 days ago
Topic:
Adding a shortcut from GodMode
SvenHPosts: 36
|
I'm sorry but I don't understand your answer. If I can't load the shortcut file into any program, how can I see the text?
|
|
|
23 days ago
Topic:
Adding a shortcut from GodMode
GianlucaAdministrator Posts: 1346
|
You can see the text among the binary chars.
|
|
|
23 days ago
Topic:
Adding a shortcut from GodMode
SvenHPosts: 36
|
Gianluca wrote:
If you open your GodMode shortcut with a text editor, you'll see the same string I used: 'Microsoft.Fonts'.
I tried opening it with both Notepad++ and Hex Editor Neo without luck. How do I do it? I also tried attaching it here but that didn't work either.
|
|
|
24 days ago
Topic:
Adding a shortcut from GodMode
GianlucaAdministrator Posts: 1346
|
If you open your GodMode shortcut with a text editor, you'll see the same string I used: 'Microsoft.Fonts'. I guess that for every shortcut pointing to a Control Panel tool, the trick works the same way: invoking those magical strings.
If you like, try opening some other shortcuts that aren't hosted by the Control Panel and inspect them with your editor to see how those tools are invoked. Then, try to recreate the invocation in SyMenu and, if you succeed, please share!
|
|
|
24 days ago
Topic:
Adding a shortcut from GodMode
SvenHPosts: 36
|
In this case, the setting can also be accessed from the Control Panel, but I assume that not all settings from GodMode are accessible from the Control Panel. If so, I wonder how this (or any other) could be referenced.
|
|
|
24 days ago
Topic:
Adding a shortcut from GodMode
GianlucaAdministrator Posts: 1346
|
BTW another way to accomplish that is to use the right command plus parameter in a new SyProgram.
You have to create a new SyProgram then add: control.exe as a path and /name Microsoft.Fonts as parameter. Done.
If you prefer you can use a SyWindowsCommand adopting the same technique.
|
|
|