Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve server browser UI and refresh server list on disconnect #3216

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

jtbx
Copy link
Contributor

@jtbx jtbx commented Nov 15, 2023

Improved some of the server browser's UI (based on #3161 and #3203) and implemented a setting in the client that refreshes the server list when the player disconnects from a server (#1782).
Full description of changes are in the commit messages.

Screenshots of changes
Info tab
Filters tab
Friends tab

Obviously a lot of it is not perfect so I would like some opinions on it.

Some of the problems I currently have are:

  • grid headers (sort buttons) have a little space in between them which doesn't look nice when selecting one
  • the filter tab is still very cramped and in my opinion it needs a bit of padding which I wasn't able to figure out easily
  • as shown in Zatline's issue, the friends tab still needs improvement

Adds a new client setting which determines whether the server browser
should be refreshed once the player disconnects from a server. This
would remove the need for manually refreshing the server browser,
which would probably contain very outdated information by the time
the player disconnects.
Based on the problems addressed in teeworlds#3161 and the mockups provided in teeworlds#3203.

Changes:
 - Turn server list header into a non-rounded rectangle and use full
   white transparency when selected
 - Shorten the width of the Ping column
 - Remove difficulty icon from browser entries
 - Add a small margin to gametype icons in browser entries
 - Make the sorted column more opaque so it's easier to see
 - Display the "% loaded" message in the middle of the status rect
 - Alter the colors of friends list entries to make them more vibrant
 - Make friends list entries more opaque (and nicer to look at)
 - Use different style headings for sidebar tabs
 - Add a parameter "Transparent" to DoButton_CheckBox which decides
   whether a check box's background should be transparent. This is
   used in the filter tab to remove the look of the weird corners and
   unfitting opacity on each of the checkboxes.
 - Use more opacity and rounding for the rects in info and filter tabs
 - Align text to the right in the "Server details" rect
 - Remove gametype and difficulty icons in the "Server details" rect
 - Use wideview style entries by default
@ChillerDragon
Copy link
Contributor

Woah new tw pr!!!

Uhm did you implement #1782 without #1026 ?

Sounds annoying to lose all loaded servers on disconnect :(

@jtbx
Copy link
Contributor Author

jtbx commented Nov 15, 2023

Well I originally tried to implement #2833 (dim all old serverlist entries on refresh) multiple times, but I had a few problems and I just gave up in the end. Here is the unfinished diff if you would like to take a look: https://paste.rs/pVjfe

As far as I can see #1026 isn't actually proposing anything new except for fixing the missing servers issue.

@ChillerDragon
Copy link
Contributor

Imo old servers should still be displayed while new ones are loading. So pressing refresh should not empty the list. And before that is implemented the list should not refresh automatically.

@jtbx
Copy link
Contributor Author

jtbx commented Nov 15, 2023 via email

@ChillerDragon
Copy link
Contributor

Are you saying that it would be alright to just show the old list until the new list fully loads?

Ideally it would partially mix. Replace the updated ones and after the full load remove the not loaded ones.

@jtbx
Copy link
Contributor Author

jtbx commented Nov 15, 2023

Okay I'll try working on that later, thanks

@jtbx jtbx marked this pull request as draft February 23, 2024 04:33
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.

None yet

2 participants