Skip to content

Feature: custom wine binary path per bottle#42

Open
nain1-gh wants to merge 11 commits intowinegui:mainfrom
nain1-gh:feature/wine-binary-path-per-bottle
Open

Feature: custom wine binary path per bottle#42
nain1-gh wants to merge 11 commits intowinegui:mainfrom
nain1-gh:feature/wine-binary-path-per-bottle

Conversation

@nain1-gh
Copy link

Hi,

First of all I would like to thank you for your development of WineGUI. It is a really nice graphical interface on top of Wine.

Recently I came across the need for having one specific version of Wine linked to one specific bottle (wine prefix). Since WineGUI does not yet support this, I took the liberty of adding this feature myself.

In short, I added a config option to winegui.ini called WineBinaryPath which allows the user to set a specific path to a custom Wine binary. When this option is empty, the regular system Wine binary is used and WineGUI behaves as before these commits. Obviously, this path can also be changed via the GUI (see screenshots below).

Furthermore, this feature should be compatible with old winegui.ini files where the WineBinaryPath option is not yet present. If this option is not present, it should be detected and added to winegui.ini automatically with an empty value (i.e. it will use the system wine binary).

I tried to follow your guidelines in creating this pull request, but feel free to tell me if I did something incorrectly.

Below are some screenshots to illustrate my changes:


image image

@nain1-gh
Copy link
Author

Incidentally, I think this feature also (partly?) solves the problem in issue 22 on your GitLab instance.

@melroy89
Copy link
Member

melroy89 commented Dec 29, 2025

Thank you for your PR and joining github. Development is mainly taking place on my gitlab instance however, but that doesn't matter too much for now (although I could give you an account). This is just a mirror after all. You won't be able to merge PRs here.

Its quite a big change and it was indeed part of the planning to support this feature. So thank you once again for taking the time to implement it yourself.

Just keep in mind, there is one big MR open at the moment: https://gitlab.melroy.org/melroy/winegui/-/merge_requests/41 (which is migrating the whole code base from GTK3 to GTK4, with a lot of changes)

This MR above has a bit more priority at the moment (not saying your PR is not important xD).. I'm just saying it could lead to some merge conflicts. So just that you know.

Hopefully I'm soon finalize the GTK4 binaries across all the platforms and able to merge it and release a new version. Feel free to join us on Telegram as well? https://t.me/winegui

And also feel free to test the GTK4 binaries (see build artifacts) for your Linux distribution, which would help me out as well to get that MR merged so we can continue with new features like this PR :)

@nain1-gh
Copy link
Author

Ok, I did not yet see that MR 😆.

I'll keep track of the GTK4 progress and see if I can adjust my PR when it is finished.

@melroy89
Copy link
Member

melroy89 commented Jan 2, 2026

ok I merged GTK4.. you now have conflicts (as expected).

@nain1-gh
Copy link
Author

nain1-gh commented Jan 8, 2026

ok, I think I got everything working now with GTK4

@nain1-gh
Copy link
Author

Hi, is there anything else I need to do before this work can be merged?

@melroy89
Copy link
Member

melroy89 commented Mar 18, 2026

Hi, development is done in GitLab, https://gitlab.melroy.org/melroy/winegui, (github is just a mirror). So I try to apply this PR in git.. But I get:

error: src/bottle_edit_window.cc: patch does not apply
Checking patch src/bottle_item.cc...
Checking patch src/bottle_manager.cc...
Hunk #1 succeeded at 749 (offset 1 line).
Hunk #2 succeeded at 804 (offset 1 line).
Hunk #3 succeeded at 873 (offset 1 line).
Hunk #4 succeeded at 907 (offset 1 line).
Hunk #5 succeeded at 967 (offset 1 line).
Hunk #6 succeeded at 1501 (offset 4 lines).
Checking patch src/helper.cc...
Hunk #1 succeeded at 170 (offset -2 lines).
Hunk #2 succeeded at 256 (offset -2 lines).
Hunk #3 succeeded at 390 (offset -2 lines).
Hunk #4 succeeded at 406 (offset -2 lines).
Hunk #5 succeeded at 446 (offset -2 lines).
Hunk #6 succeeded at 460 (offset -2 lines).
Checking patch src/signal_controller.cc...
Hunk #1 succeeded at 292 (offset -40 lines).
Hunk #2 succeeded at 316 (offset -40 lines).

etc.

I believe its because you might be behind several commits from the upstream branch on your fork. Also try to run ./scripts/fix-format.sh? (be sure you comply with the correct clang-format version: 19.1.1). As well ./scripts/cpp-check.sh (Cppcheck 2.19.0).


full output:

error: patch failed: include/bottle_edit_window.h:100
error: include/bottle_edit_window.h: patch does not apply
error: patch failed: src/bottle_edit_window.cc:70
error: src/bottle_edit_window.cc: patch does not apply
error: patch failed: src/bottle_config_file.cc:57
error: src/bottle_config_file.cc: patch does not apply
error: patch failed: src/bottle_edit_window.cc:397
error: src/bottle_edit_window.cc: patch does not apply
error: patch failed: src/main_window.cc:1074
error: src/main_window.cc: patch does not apply
error: patch failed: include/bottle_manager.h:71
error: include/bottle_manager.h: patch does not apply
error: patch failed: include/bottle_manager.h:71
error: include/bottle_manager.h: patch does not apply
error: patch failed: src/bottle_config_file.cc:137
error: src/bottle_config_file.cc: patch does not apply
error: patch failed: src/bottle_edit_window.cc:413
error: src/bottle_edit_window.cc: patch does not apply
error: patch failed: include/bottle_edit_window.h:110
error: include/bottle_edit_window.h: patch does not apply
error: patch failed: src/bottle_config_file.cc:132
error: src/bottle_config_file.cc: patch does not apply
error: patch failed: src/bottle_edit_window.cc:155
error: src/bottle_edit_window.cc: patch does not apply
error: patch failed: src/main_window.cc:1210
error: src/main_window.cc: patch does not apply

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants