Additions and fixes for #178
This commit is contained in:
+10
-2
@@ -30,6 +30,7 @@ Public Class frmMain
|
|||||||
Private bMenuEnabled As Boolean = True
|
Private bMenuEnabled As Boolean = True
|
||||||
Private bLockdown As Boolean = True
|
Private bLockdown As Boolean = True
|
||||||
Private bFirstRun As Boolean = False
|
Private bFirstRun As Boolean = False
|
||||||
|
Private bInitialLoad As Boolean = True
|
||||||
Private bProcessIsAdmin As Boolean = False
|
Private bProcessIsAdmin As Boolean = False
|
||||||
Private bLogToggle As Boolean = False
|
Private bLogToggle As Boolean = False
|
||||||
Private bShowToggle As Boolean = True
|
Private bShowToggle As Boolean = True
|
||||||
@@ -1748,10 +1749,11 @@ Public Class frmMain
|
|||||||
|
|
||||||
Private Function VerifyAutoStartLinux(ByRef sErrorMessage As String) As Boolean
|
Private Function VerifyAutoStartLinux(ByRef sErrorMessage As String) As Boolean
|
||||||
Dim oProcess As Process
|
Dim oProcess As Process
|
||||||
|
Dim sDesktopFile As String = String.Empty
|
||||||
Dim sAutoStartFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) & Path.DirectorySeparatorChar & ".config/autostart/"
|
Dim sAutoStartFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) & Path.DirectorySeparatorChar & ".config/autostart/"
|
||||||
|
|
||||||
'Check if the app is still properly installed
|
'Check if the app is still properly installed
|
||||||
If File.Exists("/usr/share/applications/gbm.desktop") Then
|
If mgrPath.VerifyLinuxDesktopFileLocation(sDesktopFile) Then
|
||||||
If File.Exists(sAutoStartFolder & Path.DirectorySeparatorChar & "gbm.desktop") Then
|
If File.Exists(sAutoStartFolder & Path.DirectorySeparatorChar & "gbm.desktop") Then
|
||||||
Return True
|
Return True
|
||||||
Else
|
Else
|
||||||
@@ -1763,7 +1765,7 @@ Public Class frmMain
|
|||||||
Try
|
Try
|
||||||
oProcess = New Process
|
oProcess = New Process
|
||||||
oProcess.StartInfo.FileName = "/bin/ln"
|
oProcess.StartInfo.FileName = "/bin/ln"
|
||||||
oProcess.StartInfo.Arguments = "-s /usr/share/applications/gbm.desktop " & sAutoStartFolder
|
oProcess.StartInfo.Arguments = "-s " & sDesktopFile & " " & sAutoStartFolder
|
||||||
oProcess.StartInfo.UseShellExecute = False
|
oProcess.StartInfo.UseShellExecute = False
|
||||||
oProcess.StartInfo.RedirectStandardOutput = True
|
oProcess.StartInfo.RedirectStandardOutput = True
|
||||||
oProcess.StartInfo.CreateNoWindow = True
|
oProcess.StartInfo.CreateNoWindow = True
|
||||||
@@ -1973,6 +1975,12 @@ Public Class frmMain
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub frmMain_Activated(sender As System.Object, e As System.EventArgs) Handles MyBase.Activated
|
Private Sub frmMain_Activated(sender As System.Object, e As System.EventArgs) Handles MyBase.Activated
|
||||||
|
If bInitialLoad Then
|
||||||
|
If oSettings.StartToTray And mgrCommon.IsUnix Then
|
||||||
|
Me.WindowState = FormWindowState.Minimized
|
||||||
|
End If
|
||||||
|
bInitialLoad = False
|
||||||
|
End If
|
||||||
txtLog.Select(txtLog.TextLength, 0)
|
txtLog.Select(txtLog.TextLength, 0)
|
||||||
txtLog.ScrollToCaret()
|
txtLog.ScrollToCaret()
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@@ -18,9 +18,10 @@ Public Class frmSettings
|
|||||||
|
|
||||||
Private Sub HandleLinuxAutoStart(ByVal bToggle As Boolean)
|
Private Sub HandleLinuxAutoStart(ByVal bToggle As Boolean)
|
||||||
Dim oProcess As Process
|
Dim oProcess As Process
|
||||||
|
Dim sDesktopFile = String.Empty
|
||||||
Dim sAutoStartFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) & Path.DirectorySeparatorChar & ".config/autostart/"
|
Dim sAutoStartFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) & Path.DirectorySeparatorChar & ".config/autostart/"
|
||||||
|
|
||||||
If bToggle Then
|
If bToggle And mgrPath.VerifyLinuxDesktopFileLocation(sDesktopFile) Then
|
||||||
'Create the autostart folder if it doesn't exist yet
|
'Create the autostart folder if it doesn't exist yet
|
||||||
If Not Directory.Exists(sAutoStartFolder) Then
|
If Not Directory.Exists(sAutoStartFolder) Then
|
||||||
Directory.CreateDirectory(sAutoStartFolder)
|
Directory.CreateDirectory(sAutoStartFolder)
|
||||||
@@ -29,7 +30,7 @@ Public Class frmSettings
|
|||||||
Try
|
Try
|
||||||
oProcess = New Process
|
oProcess = New Process
|
||||||
oProcess.StartInfo.FileName = "/bin/ln"
|
oProcess.StartInfo.FileName = "/bin/ln"
|
||||||
oProcess.StartInfo.Arguments = "-s /usr/share/applications/gbm.desktop " & sAutoStartFolder
|
oProcess.StartInfo.Arguments = "-s " & sDesktopFile & " " & sAutoStartFolder
|
||||||
oProcess.StartInfo.UseShellExecute = False
|
oProcess.StartInfo.UseShellExecute = False
|
||||||
oProcess.StartInfo.RedirectStandardOutput = True
|
oProcess.StartInfo.RedirectStandardOutput = True
|
||||||
oProcess.StartInfo.CreateNoWindow = True
|
oProcess.StartInfo.CreateNoWindow = True
|
||||||
@@ -358,10 +359,9 @@ Public Class frmSettings
|
|||||||
|
|
||||||
If mgrCommon.IsUnix Then
|
If mgrCommon.IsUnix Then
|
||||||
'Only enable this option on Linux if GBM was installed with an official method
|
'Only enable this option on Linux if GBM was installed with an official method
|
||||||
If Not File.Exists("/usr/share/applications/gbm.desktop") Then
|
If Not mgrPath.VerifyLinuxDesktopFileLocation() Then
|
||||||
chkAutoStart.Enabled = False
|
chkAutoStart.Enabled = False
|
||||||
End If
|
End If
|
||||||
chkStartMinimized.Enabled = False
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'Handle Panels
|
'Handle Panels
|
||||||
|
|||||||
@@ -652,4 +652,17 @@ Public Class mgrPath
|
|||||||
|
|
||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Shared Function VerifyLinuxDesktopFileLocation(Optional ByRef sFoundPath As String = "") As Boolean
|
||||||
|
Dim sLocations As String() = New String() {"/usr/share/applications/gbm.desktop", "/usr/local/share/applications/gbm.desktop"}
|
||||||
|
|
||||||
|
For Each s As String In sLocations
|
||||||
|
If File.Exists(s) Then
|
||||||
|
sFoundPath = s
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
Return False
|
||||||
|
End Function
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
Generated
+1
-1
@@ -3310,7 +3310,7 @@ Namespace My.Resources
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Looks up a localized string similar to GBM is set to start automatically, but the desktop link is missing. Automatic start has been disabled, please re-install GBM using a package manager..
|
''' Looks up a localized string similar to GBM is set to start automatically, but the desktop link is missing. Automatic start has been disabled, please re-install GBM using a package manager or the makefile..
|
||||||
'''</summary>
|
'''</summary>
|
||||||
Friend ReadOnly Property frmMain_ErrorLinuxAutoStartLinkMissing() As String
|
Friend ReadOnly Property frmMain_ErrorLinuxAutoStartLinkMissing() As String
|
||||||
Get
|
Get
|
||||||
|
|||||||
@@ -2369,7 +2369,7 @@
|
|||||||
<value>[PARAM] stores saved games in the Windows registry, accessing the registry requires elevated permissions. Please restart GBM as Administrator to restore this backup.</value>
|
<value>[PARAM] stores saved games in the Windows registry, accessing the registry requires elevated permissions. Please restart GBM as Administrator to restore this backup.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="frmMain_ErrorLinuxAutoStartLinkMissing" xml:space="preserve">
|
<data name="frmMain_ErrorLinuxAutoStartLinkMissing" xml:space="preserve">
|
||||||
<value>GBM is set to start automatically, but the desktop link is missing. Automatic start has been disabled, please re-install GBM using a package manager.</value>
|
<value>GBM is set to start automatically, but the desktop link is missing. Automatic start has been disabled, please re-install GBM using a package manager or the makefile.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="mgrCommon_FolderSelection" xml:space="preserve">
|
<data name="mgrCommon_FolderSelection" xml:space="preserve">
|
||||||
<value>Current Folder</value>
|
<value>Current Folder</value>
|
||||||
|
|||||||
+3
-3
@@ -31,9 +31,9 @@ Windows:
|
|||||||
|
|
||||||
Linux:
|
Linux:
|
||||||
|
|
||||||
- You can now set GBM to automatically start on log-in via the "Startup" Settings.
|
- You can now set GBM to automatically start on log-in via the "Startup" settings.
|
||||||
- This requires that GBM be installed via a package manager, so any required files are in a known location. The option will be disabled otherwise.
|
- This requires that GBM be installed via a package manager or the makefile, so any required files are in a known location. The option will be disabled otherwise.
|
||||||
- The "Start Minimized" option is still unavailable in Linux due to issues with Mono.
|
- The "Start Minimized" option is now available in "Startup" settings.
|
||||||
- GBM now stores all Wine configuration data seperately from the core game configuration:
|
- GBM now stores all Wine configuration data seperately from the core game configuration:
|
||||||
- The core configuration is no longer altered in any way when a game is detected running in Wine or Proton.
|
- The core configuration is no longer altered in any way when a game is detected running in Wine or Proton.
|
||||||
- The Wine configuration data is now automatically updated each time a game is detected, such as when running the game from a new prefix.
|
- The Wine configuration data is now automatically updated each time a game is detected, such as when running the game from a new prefix.
|
||||||
|
|||||||
Reference in New Issue
Block a user