cassidyjames / ephemeral

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

Remember Window State/Size/Position #148

Open amxmln opened 5 years ago

amxmln commented 5 years ago

First of all, this is a great project! I love Firefox Focus on my phone and to have a similar experience on the desktop is great.

However, one nit-pick I have with Ephemeral is that the window does not remember its state between sessions. I often end up using it maximised on my smaller laptop screen and it’s a hassle to have to do that every time a new window opens or I start a new session. Considering most apps on elementary do remember their windows’ sizes and positions I would feel this isn’t an unreasonable request.

Thanks for considering it. Keep up the great work!

cassidyjames commented 5 years ago

@amxmln the reason I did not implement state saving is two-fold:

  1. Ephemeral is, well, ephemeral in nature. It doesn't remember anything from the previous session between sessions, so I didn't think window state/position would be relevant to restore.
  2. The multi-window nature makes it really hard to get right. Do I remember the first-opened window? The last opened window? The last-focused window? It gets dicey quick.

That said, I'm not entirely opposed to it if we can satisfactorily work through those points.

amxmln commented 5 years ago

I get that it would be a sort of "break" with the stateless nature of Ephemeral, but I think it would be a useful addition nonetheless—other preferences like the default search engine get saved as well, after all.

How do other applications on elementary handle it? Files for example allows multiple windows, but as far as I can tell it simply remembers the state of the last one closed. That aside, I think it would already be a great help if Ephemeral simply remembered whether or not the last window was maximised and opened new windows according to that state.

4jNsY6fCVqZv commented 5 years ago

To what extent can protection against canvas fingerprinting be taken into account when solving this issue? https://wiki.mozilla.org/Security/Fingerprinting#Canvas_Fingerprinting_Detection