starfish-app / Starfish

A Gemini browser for elementary OS.
gemini://josipantolis.from.hr/starfish/
GNU General Public License v3.0
25 stars 2 forks source link

Align text content to justify by default #28

Open Suzie97 opened 2 years ago

Suzie97 commented 2 years ago

Problem

Right now, text is left aligned by default, and also takes up a lot of width. This makes text harder to read in bigger monitors or ultra wide monitors because the text takes up a lot of the screen width, and users need to turn their heads around from left to right in order to read.

Proposal

Make text centre-aligned/justify by default with ample padding on the left and right sides.

Prior Art

Lagrange

Screenshot 2022-01-17 at 16 40 48

Communique

Communique is not a gemini client, but its a RSS reader. Sharing this screenshot since this is my app so it serves as the best example for my proposal. image

Antolius commented 2 years ago

I thought about exposing a configurable max-width setting to the user and then limiting text lines to that. But in my own use I just find myself narrowing the window itself to comfortable reading width. I admit this is a bit non-standard and that it might not occur to users to do that. Perhaps we could encourage this by removing the maximize button from the toolbar :thinking: ?

I feel typical browsers are usually kept maximized because of how busy web pages are. With gemtext this is not an issue. But then again, neither Lagrange nor Communique have this problem (busy content) and yet they keep the idea of running maximized. So perhaps the original motivation for maximizing a window is not the only one.

Philosophically I'm somewhat happy with the idea of smaller window size. elementary already has pretty zen desktop (without files on it), and I'm happy with Starfish blending in with the OS instead of taking over all of the screen. User's desktop background is probably prettier than empty padding.

Lastly, there's one more advantage of narrow window approach that I admit is probably extremely niche: users can position it horizontally on the screen. For example I have a laptop with built in numpad, but I center myself around the home row keys. As a result I'm always looking at my screen slightly off-center (from the left). To compensate I keep Starfish (and other text rich app) window slightly to the left so that it aligns with me, not the laptop screen.

Suzie97 commented 2 years ago

In Communique, the maximise button makes the window fullscreen and hides all UI. There is no traditional maximise mode. The headerbar/toolbar hides to the top and drops down when the mouse cursor is hovered over the top part of the screen.

Can Starfish work in the same manner? This way, we can guide the user to use the app normally when browsing through the gemini space. They will be able to resize the window to their liking, and all the header bar UI will be directly accessible. But when user's want to read something without any distractions, they can just hit the fullscreen button and all UI will be hidden and they can focus on the content. When they're done, just unfullscreen the app and get back to browsing.

Antolius commented 2 years ago

Having a distinct full screen mode makes sense. I'll take a look at now Communique works.