[GH-ISSUE #284] Rename "Apply" button to "Restart" #229

Open
opened 2026-05-05 05:44:23 -06:00 by gitea-mirror · 14 comments
Owner

Originally created by @mssalvatore on GitHub (Apr 11, 2019).
Original GitHub issue: https://github.com/debauchee/barrier/issues/284

Problem

Some of my barrier clients do not have a keyboard or mouse plugged into them. From time to time, I may need to restart barrier either to apply a new setting or to resolve occasional bugginess on the client side. My current process is unnecessarily cumbersome as I cannot restart barrier (after stopping) without plugging a mouse into the client.

Proposed Solution

Add a "restart" button to the GUI so that rather than clicking "stop", plugging in a mouse, and clicking "start", I can simply click the "reset" button on the client. Barrier will stop (disconnecting the mouse and keyboard) and restart by itself so that I do not have to plug in a mouse to get barrier started again.

I'd be willing to implement this solution, but I wanted to get feedback from the community before doing the work.

Possible objections to this proposal:

Objection: The barrier GUI is currently simple and uncluttered. Adding extra buttons could clutter the GUI.
Response: Perhaps an entry in the menu would be better if clutter is a concern.

Objection: You shouldn't have to restart barrier all that often. Any bugginess should be resolved so that restarting barrier is a rare occurrence.
Response: There may be reasons besides bugginess to restart barrier.

Originally created by @mssalvatore on GitHub (Apr 11, 2019). Original GitHub issue: https://github.com/debauchee/barrier/issues/284 # Problem Some of my barrier clients do not have a keyboard or mouse plugged into them. From time to time, I may need to restart barrier either to apply a new setting or to resolve occasional bugginess on the client side. My current process is unnecessarily cumbersome as I cannot restart barrier (after stopping) without plugging a mouse into the client. # Proposed Solution Add a "restart" button to the GUI so that rather than clicking "stop", plugging in a mouse, and clicking "start", I can simply click the "reset" button on the client. Barrier will stop (disconnecting the mouse and keyboard) and restart by itself so that I do not have to plug in a mouse to get barrier started again. I'd be willing to implement this solution, but I wanted to get feedback from the community before doing the work. # Possible objections to this proposal: **Objection:** The barrier GUI is currently simple and uncluttered. Adding extra buttons could clutter the GUI. **Response:** Perhaps an entry in the menu would be better if clutter is a concern. **Objection:** You shouldn't have to restart barrier all that often. Any bugginess should be resolved so that restarting barrier is a rare occurrence. **Response**: There may be reasons besides bugginess to restart barrier.
gitea-mirror added the
enhancement
label 2026-05-05 05:44:23 -06:00
Author
Owner

@noisyshape commented on GitHub (Apr 11, 2019):

Does pressing apply not accomplish what you want? Even if it does, it's obtuse enough that maybe there should be a dedicated restart button. Or maybe apply/start could be the same button depending on whether the configuration has changed. That would be fancy.

<!-- gh-comment-id:481960168 --> @noisyshape commented on GitHub (Apr 11, 2019): Does pressing apply not accomplish what you want? Even if it does, it's obtuse enough that maybe there should be a dedicated restart button. Or maybe apply/start could be the same button depending on whether the configuration has changed. That would be fancy.
Author
Owner

@p12tic commented on GitHub (Apr 11, 2019):

The problem is that you can't restart client from the server. Apply only changes client from client, or server from server. I agree that it's worthwhile feature, I have to reset barrier regularly too.

<!-- gh-comment-id:482057942 --> @p12tic commented on GitHub (Apr 11, 2019): The problem is that you can't restart client from the server. Apply only changes client from client, or server from server. I agree that it's worthwhile feature, I have to reset barrier regularly too.
Author
Owner

@mssalvatore commented on GitHub (Apr 11, 2019):

@noisyshape, pressing "apply" absolutely does what I want. It never occurred to me to use it as a restart button. Most of the time I restart the client it's because something seems amiss, not because I have changes to apply, so I agree that it's an "obtuse" way of restarting the client. Maybe the button could say "Apply/Restart"?

<!-- gh-comment-id:482098342 --> @mssalvatore commented on GitHub (Apr 11, 2019): @noisyshape, pressing "apply" absolutely does what I want. It never occurred to me to use it as a restart button. Most of the time I restart the client it's because something seems amiss, not because I have changes to apply, so I agree that it's an "obtuse" way of restarting the client. Maybe the button could say "Apply/Restart"?
Author
Owner

@mssalvatore commented on GitHub (Apr 12, 2019):

I very briefly took a look at the code and this is what I found:

When the "Apply" button is pressed, the MainWindow calls "restartBarrier()"
d85a47ad80/src/gui/src/MainWindow.cpp (L1043-L1046)

The "RestartBarrier()" function simply stops and starts barrier.
d85a47ad80/src/gui/src/MainWindow.cpp (L432-L436)

New settings get applied in startBarrier(). In other words, the difference between the "Start" button and the "Apply" button is only that one starts barrier when it is stopped and the other restarts barrier. Therefore, on the surface (and I've only scratched the surface), it appears that the "Apply" button is misnamed and "Restart" may be a more accurate description of what the button does. The fact that the "Apply" button applies new settings is purely incidental; the "Start" button also applies new settings.

<!-- gh-comment-id:482693334 --> @mssalvatore commented on GitHub (Apr 12, 2019): I very briefly took a look at the code and this is what I found: When the "Apply" button is pressed, the MainWindow calls "restartBarrier()" https://github.com/debauchee/barrier/blob/d85a47ad800247fdf568c40072af9b9761ff30cc/src/gui/src/MainWindow.cpp#L1043-L1046 The "RestartBarrier()" function simply stops and starts barrier. https://github.com/debauchee/barrier/blob/d85a47ad800247fdf568c40072af9b9761ff30cc/src/gui/src/MainWindow.cpp#L432-L436 New settings get applied in startBarrier(). In other words, the difference between the "Start" button and the "Apply" button is only that one starts barrier when it is stopped and the other restarts barrier. Therefore, on the surface (and I've only scratched the surface), it appears that the "Apply" button is misnamed and "Restart" may be a more accurate description of what the button does. The fact that the "Apply" button applies new settings is purely incidental; the "Start" button also applies new settings.
Author
Owner

@mssalvatore commented on GitHub (Apr 12, 2019):

I've proposed a commit that renames the "Apply" button to "Restart". All languages other than English are still translated as "Apply". If my commit is accepted, I could use a lot of help fixing the translations since I don't speak 50 languages :)

<!-- gh-comment-id:482753762 --> @mssalvatore commented on GitHub (Apr 12, 2019): I've proposed a commit that renames the "Apply" button to "Restart". All languages other than English are still translated as "Apply". If my commit is accepted, I could use a lot of help fixing the translations since I don't speak 50 languages :)
Author
Owner

@noisyshape commented on GitHub (Apr 12, 2019):

Ah, but now there's the opposite problem: How do I apply the changes I just made? That's probably why it was labeled Apply in the first place. If there's one button, I think it needs to be 'Apply/restart'.

<!-- gh-comment-id:482754450 --> @noisyshape commented on GitHub (Apr 12, 2019): Ah, but now there's the opposite problem: How do I apply the changes I just made? That's probably why it was labeled Apply in the first place. If there's one button, I think it needs to be 'Apply/restart'.
Author
Owner

@p12tic commented on GitHub (Apr 12, 2019):

What about "Reload"?

<!-- gh-comment-id:482754850 --> @p12tic commented on GitHub (Apr 12, 2019): What about "Reload"?
Author
Owner

@mssalvatore commented on GitHub (Apr 12, 2019):

I think this problem highlights an anti-pattern within barrier. Most other applications allow you to change configuration settings and then save them, followed by a restart. Barrier uses whatever settings are in the form at the time it's started. I think this Apply/Restart/Reload conundrum is evidence a confusing interface.

I don't propose (in this issue) that the entire GUI be redesigned because I was too dumb to figure out that the Apply button restarts barrier. I'm fine with "Restart", "Apply/Restart", "Reload". They're all clearer and more accurate than "Apply". If someone with authority makes a decision I'll update my commit accordingly.

<!-- gh-comment-id:482755498 --> @mssalvatore commented on GitHub (Apr 12, 2019): I think this problem highlights an anti-pattern within barrier. Most other applications allow you to change configuration settings and then save them, followed by a restart. Barrier uses whatever settings are in the form at the time it's started. I think this Apply/Restart/Reload conundrum is evidence a confusing interface. I don't propose (in this issue) that the entire GUI be redesigned because I was too dumb to figure out that the Apply button restarts barrier. I'm fine with "Restart", "Apply/Restart", "Reload". They're all clearer and more accurate than "Apply". If someone with authority makes a decision I'll update my commit accordingly.
Author
Owner

@noisyshape commented on GitHub (Apr 14, 2019):

The person you're waiting for is @AdrianKoshka

<!-- gh-comment-id:482906443 --> @noisyshape commented on GitHub (Apr 14, 2019): The person you're waiting for is @AdrianKoshka
Author
Owner

@AdrianKoshka commented on GitHub (Apr 17, 2019):

I'm back from vacation. I like "Reload" myself.

<!-- gh-comment-id:484161356 --> @AdrianKoshka commented on GitHub (Apr 17, 2019): I'm back from vacation. I like "Reload" myself.
Author
Owner

@mssalvatore commented on GitHub (May 14, 2019):

Now that "apply" has been named "reload" in English, the other language files must be updated. Is there a quick/easy way to get that done, or do we need volunteers who speak each of these languages to chime in?

<!-- gh-comment-id:492390883 --> @mssalvatore commented on GitHub (May 14, 2019): Now that "apply" has been named "reload" in English, the other language files must be updated. Is there a quick/easy way to get that done, or do we need volunteers who speak each of these languages to chime in?
Author
Owner

@AdrianKoshka commented on GitHub (May 14, 2019):

I don't know, I guess we'd possibly need volunteers.

<!-- gh-comment-id:492392194 --> @AdrianKoshka commented on GitHub (May 14, 2019): I don't know, I guess we'd possibly need volunteers.
Author
Owner

@mssalvatore commented on GitHub (May 14, 2019):

I can handle spanish, french, and german.

<!-- gh-comment-id:492395382 --> @mssalvatore commented on GitHub (May 14, 2019): I can handle spanish, french, and german.
Author
Owner

@AdrianKoshka commented on GitHub (May 14, 2019):

Thanks! :)

<!-- gh-comment-id:492395530 --> @AdrianKoshka commented on GitHub (May 14, 2019): Thanks! :)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/barrier#229
No description provided.