Skip to content

reduce minimum size #1103

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

Merged
merged 3 commits into from
Jul 1, 2020
Merged

reduce minimum size #1103

merged 3 commits into from
Jul 1, 2020

Conversation

sssoleileraaa
Copy link
Contributor

@sssoleileraaa sssoleileraaa commented Jun 3, 2020

Description

Fixes #1074, see what it currently looks like:

Screenshot from 2020-06-23 23-08-14

This PR makes it so the client fits within a 1280x1024 screen when it opens and adds support for a small variation in size in the sourcelist when you change the window size.

Also small fix to the sign-in button so that it no longer does this when you shrink the client to its smallest height. This is what it used to look like:

Screenshot from 2020-06-23 23-06-28

Known issues that need to be addressed as follow-up or as part of this PR:

  • journalist designations vary in size and sometimes don't fit within the smaller window with the current font size, see how the journalist designation gets cut off in the conversation header and reply box:
    Screenshot from 2020-06-23 22-48-35
  • speech bubbles don't yet vary in size, so you'll have to horizontal scroll, but my thinking is that we'll want to adjust the size of speech bubbles as the window size changes as well. for example, if the window is 1280x1024 then the speech bubbles could look like this:
    Screenshot from 2020-06-23 22-49-43

Test Plan

  1. Set your screen resolution to 1280 x 1024 and start the client
  2. Check that all text, buttons, and widgets fit within the client window
  3. Minimize to the client's smallest width and repeat step 2

Regression Test

Also check that the text, buttons, and widgets match what's on the master branch when the client is expanded for a larger screen resolution.

Checklist

If these changes modify code paths involving cryptography, the opening of files in VMs or network (via the RPC service) traffic, Qubes testing in the staging environment is required. For fine tuning of the graphical user interface, testing in any environment in Qubes is required. Please check as applicable:

  • I have tested these changes in the appropriate Qubes environment
  • I do not have an appropriate Qubes OS workstation set up (the reviewer will need to test these changes)
  • These changes should not need testing in Qubes

If these changes add or remove files other than client code, the AppArmor profile may need to be updated. Please check as applicable:

  • I have updated the AppArmor profile
  • No update to the AppArmor profile is required for these changes
  • I don't know and would appreciate guidance

If these changes modify the database schema, you should include a database migration. Please check as applicable:

  • I have written a migration and upgraded a test database based on master and confirmed that the migration applies cleanly
  • I have written a migration but have not upgraded a test database based on master and would like the reviewer to do so
  • I need help writing a database migration
  • No database schema changes are needed

@sssoleileraaa
Copy link
Contributor Author

need to still tweak this to address the bug reported by Nina where the replybox is partially hidden when you double-click the titlebar or click on the max window button in Qubes

please hold off on review for now

@sssoleileraaa sssoleileraaa force-pushed the screenresrefactor branch 3 times, most recently from d8d8dcf to c129a24 Compare June 24, 2020 06:26
@eloquence
Copy link
Member

@eloquence to review with @ninavizz

@sssoleileraaa
Copy link
Contributor Author

(just trying to fix errors around black and isort since those changes were merged into the master branch this morning)

@eloquence
Copy link
Member

eloquence commented Jun 26, 2020

@ninavizz, @creviera and I discussed this today. Here's where we are:

  • In my testing, at the 1368x768 resolution, this PR allows the full client window to fit without horizontal scrolling or truncation. So that's a big improvement from current state, and if there are no other issues in review, this PR is IMO good to land.

  • I'll add a separate docs PR to specify this as the minimum supported screen resolution for running the SecureDrop Workstation.

  • While lower resolutions than 1368x768 are unlikely, we all agree that the client ideally should support graceful resizing of the client window, regardless of screen resolution. @ninavizz will file a separate issue with recommendations for the preferred resize behavior. I will file a couple of issues for the display of long source designations at lower window sizes. These issues can be prioritized separately from this PR.

@rmol
Copy link
Contributor

rmol commented Jun 29, 2020

I ran through this today and the only potentially undesirable behavior I noticed was a horizontal scrollbar at the bottom of the source list, when running the client at 1280x1024.

screenresrefactor-source-list-horizontal-scrollbar

@rmol
Copy link
Contributor

rmol commented Jun 29, 2020

And it occurs to me belatedly that I was testing on my cursed main Qubes machine, which has caused other visual variances in the past. 🤦 I should try another system.

@rmol
Copy link
Contributor

rmol commented Jun 30, 2020

Well, my clean and virtuous test Qubes machine also gets the sourcelist scrollbar at 1280x1024. Anyone else see this?

@rmol
Copy link
Contributor

rmol commented Jun 30, 2020

I may have overstated its cleanliness and virtue. I still had a custom DPI value from earlier testing. Resetting to 96 eliminated the scrollbar.

@kushaldas
Copy link
Contributor

I can see a different issue in the initial screen. The world list is getting cut off in the right hand side.

Screenshot from 2020-07-01 16-41-22

@sssoleileraaa
Copy link
Contributor Author

We can add a followup issue for supporting custom dpi settings.

As far as what Kushal is seeing as the default client, I'm surprised. On Debian, the inital screen looks like this for me (you can see the close button in the top right and that it fits within a 1280x1024 resolution screen:

Screenshot from 2020-07-01 10-55-47

If I double click it shrinks to the min width:

Screenshot from 2020-07-01 10-55-19

In Qubes, I see the same behavior.

Copy link
Contributor

@rmol rmol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As this looks good at default DPI settings, and we're going to address DPI flexibility in another issue, approving.

@rmol rmol merged commit 87621e1 into master Jul 1, 2020
@rmol rmol deleted the screenresrefactor branch July 1, 2020 18:08
@eloquence eloquence mentioned this pull request Jul 8, 2020
4 tasks
@sssoleileraaa sssoleileraaa mentioned this pull request Jul 28, 2020
7 tasks
@sssoleileraaa
Copy link
Contributor Author

This PR also closes #584

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.

Support 1366x768 screen resolution
4 participants