mirror of
https://github.com/cyberarm/w3d_hub_linux_launcher.git
synced 2026-03-22 04:06:18 +00:00
Improve wine settings, fixup wineprefix usage
This commit is contained in:
@@ -7,47 +7,70 @@ class W3DHub
|
||||
background 0xaa_252525
|
||||
|
||||
stack(width: 1.0, fill: true, max_width: 720, h_align: :center, scroll: true) do
|
||||
stack(width: 1.0, height: 112) do
|
||||
tagline "Launcher Language"
|
||||
@language_menu = list_box items: I18n.available_locales.map { |l| expand_language_code(l.to_s) }, choose: expand_language_code(Store.settings[:language]), width: 1.0, margin_left: 16
|
||||
para "Select the UI language you'd like to use in the W3D Hub Launcher.", margin_left: 16
|
||||
tagline "Launcher Language"
|
||||
@language_menu = list_box items: I18n.available_locales.map { |l| expand_language_code(l.to_s) }, choose: expand_language_code(Store.settings[:language]), width: 1.0, margin_left: 16
|
||||
para "Select the UI language you'd like to use in the W3D Hub Launcher.", margin_left: 16
|
||||
|
||||
|
||||
tagline "Launcher Directories", margin_top: 16
|
||||
caption "Applications Install Directory", margin_left: 16
|
||||
flow(width: 1.0, margin_left: 16) do
|
||||
@app_install_dir_input = edit_line Store.settings[:app_install_dir], fill: true
|
||||
button "Browse...", width: 128, tip: "Browse for applications install directory" do
|
||||
path = W3DHub.ask_folder
|
||||
@app_install_dir_input.value = path unless path.empty?
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
stack(width: 1.0, height: 200, margin_top: 16) do
|
||||
tagline "Launcher Directories"
|
||||
caption "Applications Install Directory", margin_left: 16
|
||||
flow(width: 1.0, fill: true, margin_left: 16) do
|
||||
@app_install_dir_input = edit_line Store.settings[:app_install_dir], fill: true
|
||||
button "Browse...", width: 128, tip: "Browse for applications install directory" do
|
||||
path = W3DHub.ask_folder
|
||||
@app_install_dir_input.value = path unless path.empty?
|
||||
end
|
||||
end
|
||||
|
||||
caption "Package Cache Directory", margin_left: 16, margin_top: 16
|
||||
flow(width: 1.0, fill: true, margin_left: 16) do
|
||||
@package_cache_dir_input = edit_line Store.settings[:package_cache_dir], fill: true
|
||||
button "Browse...", width: 128, tip: "Browse for package cache directory" do
|
||||
path = W3DHub.ask_folder
|
||||
@package_cache_dir_input.value = path unless path.empty?
|
||||
end
|
||||
caption "Package Cache Directory", margin_left: 16, margin_top: 16
|
||||
flow(width: 1.0, margin_left: 16) do
|
||||
@package_cache_dir_input = edit_line Store.settings[:package_cache_dir], fill: true
|
||||
button "Browse...", width: 128, tip: "Browse for package cache directory" do
|
||||
path = W3DHub.ask_folder
|
||||
@package_cache_dir_input.value = path unless path.empty?
|
||||
end
|
||||
end
|
||||
|
||||
if W3DHub.unix?
|
||||
stack(width: 1.0, height: 224, margin_top: 16) do
|
||||
tagline "Wine - Windows compatibility layer"
|
||||
caption "Wine Command", margin_left: 16
|
||||
@wine_command_input = edit_line Store.settings[:wine_command], width: 1.0, margin_left: 16
|
||||
para "Command to use to for Windows compatiblity layer.", margin_left: 16
|
||||
|
||||
caption "Wine Prefix", margin_left: 16, margin_top: 16
|
||||
flow(width: 1.0, height: 48, margin_left: 16) do
|
||||
@wine_prefix_toggle = toggle_button checked: Store.settings[:wine_prefix], enabled: false
|
||||
para "Whether each game gets its own prefix. Uses global/default prefix by default."
|
||||
tagline "Wine - Windows compatibility layer", margin_top: 16
|
||||
caption "Wine Command", margin_left: 16
|
||||
flow(width: 1.0, margin_left: 16) do
|
||||
@wine_command_input = edit_line Store.settings[:wine_command], fill: true
|
||||
button "Browse...", width: 128, tip: "Browse for wine executable" do
|
||||
path = W3DHub.ask_file(filters: %w[wine proton])
|
||||
@wine_command_input.value = path unless path.empty?
|
||||
end
|
||||
end
|
||||
para "Command to use to for Windows compatiblity layer.", margin_left: 16
|
||||
|
||||
caption "Wine Prefix", margin_left: 16, margin_top: 16
|
||||
flow(width: 1.0, margin_left: 16) do
|
||||
@wine_prefix_input = edit_line Store.settings[:wine_prefix], fill: true
|
||||
button "Browse...", width: 128, tip: "Browse for wine prefix directory" do
|
||||
path = W3DHub.ask_folder
|
||||
@wine_prefix_input.value = path unless path.empty?
|
||||
end
|
||||
end
|
||||
para "Leave empty to use default global prefix.", margin_left: 16
|
||||
|
||||
|
||||
tagline "Winetricks", margin_top: 16
|
||||
caption "Winetricks Command", margin_left: 16
|
||||
flow(width: 1.0, margin_left: 16) do
|
||||
@winetricks_command_input = edit_line Store.settings[:winetricks_command], fill: true, enabled: false
|
||||
button "Browse...", width: 128, tip: "Browse for winetricks executable", enabled: false do
|
||||
path = W3DHub.ask_file(filters: %w[winetricks protontricks])
|
||||
@winetricks_command_input.value = path unless path.empty?
|
||||
end
|
||||
end
|
||||
|
||||
caption "Fixups", margin_left: 16, margin_top: 16
|
||||
button "Install d3dcompiler_47", margin_left: 16, enabled: false
|
||||
para "Fixes games instantly crashing at startup due to not being able to compile shaders.", margin_left: 16
|
||||
|
||||
button "Install DXVK", margin_left: 16, margin_top: 16, enabled: false
|
||||
para "Use Vulkan-based DirectX translation layers.", margin_left: 16
|
||||
para "WARNING: Games will stop working if your hardware does not support Vulkan!", margin_left: 16
|
||||
end
|
||||
end
|
||||
|
||||
@@ -55,10 +78,9 @@ class W3DHub
|
||||
button "Save", width: 1.0 do
|
||||
save_settings!
|
||||
end
|
||||
|
||||
flow(fill: true)
|
||||
|
||||
end
|
||||
|
||||
button("Clear package cache: #{W3DHub.format_size(Dir.glob("#{Store.settings[:package_cache_dir]}/**/**").map { |f| File.file?(f) ? File.size(f) : 0}.sum)}", tip: "Purge #{Store.settings[:package_cache_dir]}", **DANGEROUS_BUTTON) do |btn|
|
||||
logger.info(LOG_TAG) { "Purging cache (#{Store.settings[:package_cache_dir]})..." }
|
||||
FileUtils.remove_dir(Store.settings[:package_cache_dir], force: true)
|
||||
@@ -106,7 +128,9 @@ class W3DHub
|
||||
Store.settings[:package_cache_dir] = @package_cache_dir_input.value
|
||||
|
||||
Store.settings[:wine_command] = @wine_command_input.value
|
||||
Store.settings[:wine_prefix] = @wine_prefix_toggle.value
|
||||
Store.settings[:wine_prefix] = @wine_prefix_input.value
|
||||
|
||||
Store.settings[:winetricks_command] = @winetricks_command_input.value
|
||||
|
||||
Store.settings.save_settings
|
||||
|
||||
|
||||
Reference in New Issue
Block a user