cassidyjames / ephemeral

A private-by-default, always-incognito browser for elementary OS
https://cassidyjames.com
GNU General Public License v3.0
154 stars 22 forks source link

Adapt to small sizes (i.e. for phones) #53

Open 4jNsY6fCVqZv opened 5 years ago

4jNsY6fCVqZv commented 5 years ago

Many GNOME apps have already done this during the development of the Purism Librem phone. So has Epiphany. Since Ephemeral is inspired by Firefox Focus, it would be wonderful to get mobile ready!

The code is hosted at Purism: https://source.puri.sm/Librem5/libhandy

Here you can find some additional links by Adrien Plazas: https://bytesgnomeschozo.blogspot.com/2018/10/librem-5-gnome-332.html

cassidyjames commented 5 years ago

libhandy is not explicitly needed for responsive layouts, and in itself does not determine the design of the app. Consequently, I'm going to consider this out of scope. If you have specific recommendations for more responsive behaviors I will consider those individually.

4jNsY6fCVqZv commented 5 years ago

I understand that very well! Have you ever tested Ephemeral mobile? And at what level are you already working on making a responsive layout possible? libhandy was just an idea, because GNOME/Purism currently do a lot for the new Librem Phone.

cassidyjames commented 5 years ago

@4jNsY6fCVqZv Ephemeral is designed for elementary OS, which does not run on mobile (and has minimum display size requirements). So I have not tested Ephemeral on a mobile device. However, I am open to specific issue reports that affect window sizing or other mobile issues.

cassidyjames commented 4 years ago

Re-opening as I've decided it could be cool to see Ephemeral running on a Librem 5 or PinePhone. cc @Exalm

alice-mkh commented 4 years ago

Ok, so what Epiphany does is:

  1. Put the address bar into a Hdy.Column and not restrict its minimum width

This allows to have margins on desktop, which would nicely interpolate into no margins on mobile as you resize it

  1. At a certain breakpoint hide the buttons on the left and right sides (Gtk.Revealer) and instead reveal a Gtk.ActionBar with these same buttons, but on the bottom.

Since we can't do breakpoints nicely, it boils down to listening to size-allocate really.

  1. There's a special tab switcher, but you have no tabs, so not an issue :p
alice-mkh commented 4 years ago

And obviously if you have long strings somewhere, ellipsize/wrap them.

cassidyjames commented 4 years ago

I don't think I love the buttons moving from the top to the bottom (as that's pretty jarring on desktop), but I could see maybe dropping (some of) them into the menu? Especially since we have gestures for back/forward, so those are slightly less important.

alice-mkh commented 4 years ago

Pages can disable the gesture, so it shouldn't be relied on exclusively.

Menu would be another option, indeed. That's what Epiphany did initially iirc, but it looked super weird as it had 3 rows of buttons in there. Ephemeral would have 2, so maybe? It would match e.g. Firefox and Chrome on Android.