Skip to content

[Bug]: File converter does not keep memory of its window size #586

Closed

Description

@fabio42170

What happened?

Hey,
I noticed that it is impossible to keep a specific window size when opening the software (I am talking about the application, not the wheel). It opens in a fixed compact window but I'd like to resize it to suit my screen size (as you can see the window is out of the screen btw)

Image

. When I close it and reopen it, the size I had chosen is forgotten.
Hope I'm being clear enough.

What did you expect?

I want the window to be the size I chose and memorize it when I close the application.

Steps to reproduce

  1. Open the soft, choose the correct size fo the window
  2. Close the software
    1. Reopen it and the size is the one I chose before

Files involved

No response

Filee version

2.1.0

Operating system

Édition Windows 11 Famille Version 26H2 Installé le ‎22/‎09/‎2026 Build du système d’exploitation 26300.9711 Pack de fonctionnalités Pack d’expérience de fonctionnalités Windows 1000.26100.372.0

Engines page status

No response

Log


Activity

  1. cre8ive-marketing commented on Oct 25, 2026

    @cre8ive-marketing
    Collaborator

    Thanks for the report and the screenshot, @fabio42170!

    Why it happens: Filee remembers the window's position, size and page, but only in memory (WindowService.MainWindowPlacement). Closing the window to the tray and opening it again keeps them; quitting Filee forgets them, and the window comes back at its fixed 1080 × 760. On a smaller screen, or with display scaling, that is taller than the screen, which is the cut-off window in your screenshot.

    What I'd do:

    1. Save the placement (size, position, maximized) in settings.json when the window closes, and use it at the next start. It's a new optional property with no schema change: a settings file without it opens as today.
    2. Keep the window on a screen that's still there and inside its working area, also for the first start. A 1080 × 760 window on a 1366 × 768 screen at 125 % then fits instead of running off the bottom.

    @KnifeLemon, nobody seems to be on this. Could you assign it to me? I'd keep it small and post the plan here first. #583 also edits WindowService.cs and AppSettings.cs, so I'd base it on whichever lands first.

  2. fabio42170 commented on Oct 25, 2026

    @fabio42170
    Author

    Hi!
    After resizing the window, I tried to save the presets by using the preset export menu, to no avail as I can't seem to find out the filee-preset.json file created after exporting. So, I decided to open the parameter folder located in C:\Users\xxxx\AppData\Roaming\Filee and modify the settings.json, but what should I insert in it? If I want to have a window as large as 1000x700, how can I code this? (and if I want to have the window in the middle of my screen, what other parameters should I insert?) The settings of the window size also appear in the presets.json, I modified them, in vain.
    Can you help me please?
    Thanks

  3. cre8ive-marketing commented on Oct 25, 2026

    @cre8ive-marketing
    Collaborator

    Thanks for trying, @fabio42170! In 2.1.0 there is no setting for the window's size or position in settings.json; that's what this issue would add. So editing the files can't do it yet:

    • The width / longEdge values in presets.json are a preset's picture resize options, not the window. If you changed them, set them back (or reset those presets), or those presets will resize pictures differently.
    • Preset export (Settings → General → Export) opens a Save dialog. The file goes where you pick in it, named filee-presets.json unless you change the name.

    What works today: make everything in the window smaller, so the window fits your screen. Press Ctrl + minus (or Ctrl + mouse wheel), or use Theme → Window size; Ctrl + 0 goes back to normal. This one is remembered after a restart (it's uiScale in settings.json, 0.7 to 1.8).

    Remembering the size and position you choose is the fix proposed above, waiting for the maintainer's go-ahead. It isn't released yet.

  4. KnifeLemon commented on Oct 26, 2026

    @KnifeLemon
    Owner

    @cre8ive-marketing yes please, it's yours. Both parts of your plan sound right: an optional placement property in settings.json (no schema bump), and keeping the window on a screen that's still there, inside its working area, also on the first start. Please post the plan here before the code. #583 won't land as it is (it's being split), so base it on main.

  5. cre8ive-marketing commented on Oct 26, 2026

    @cre8ive-marketing
    Collaborator

    Thanks @KnifeLemon! The plan, based on main:

    1. Remember the placement across restarts

    • AppSettings.MainWindow (new, optional, null by default; no schema bump): X, Y (screen pixels), Width, Height (device-independent, as ClientSize) and Maximized, the same values WindowService.MainWindowPlacement already keeps in memory today. Maximized keeps the size it had before, as today.
    • It's written when the main window closes (Closing, while it's still on screen), by a quiet save like SaveUiScale. It doesn't raise SettingsChanged, so nothing else is re-applied.
    • At start, CreateMain uses it when there's no in-memory placement yet. The page shown stays in memory only, as today.

    2. Keep the window on a screen, inside its working area (also on the first start, when nothing is saved)

    • The saved position is only used if its screen is still there (as ApplyTo already checks); otherwise the window is centred on the primary screen.
    • The size is fitted to that screen's working area, less a small margin. The 820 × 560 minimum is lowered for that window when the screen itself is smaller, so a 1366 × 768 screen at 125 % (1093 × 614) gets a window that fits instead of running off the bottom.
    • A window partly off screen (a monitor moved or rescaled) is moved back inside.

    Platforms: Windows and macOS restore position and size. On Wayland the compositor places windows itself, so only the size is restored there; the position is left alone, as Avalonia ignores it.

    Tests (headless has screens, so the fitting can be tested):

    • the placement round-trips through settings.json;
    • an old settings.json without it loads;
    • a saved position on a missing screen falls back to the centre;
    • an oversized saved size and the first-start default are fitted into a small working area;
    • the minimum is lowered only when needed.
  6. KnifeLemon commented on Oct 26, 2026

    @KnifeLemon
    Owner

    @cre8ive-marketing the plan looks good, go ahead. One thing to cover: saving only on the window's Closing has to work when Filee quits while the window is open (Quit from the tray, and Windows signing out or shutting down), not only when the window is closed to the tray. Please include that in the tests or say how you checked it.

  7. fabio42170 commented on Oct 26, 2026

    @fabio42170
    Author

    @cre8ive-marketing Actually, the text fits well in the window, that's not really the issue. If I unzoom with ctrl minus (or with the mouse), the text becomes too tiny. Ok, the app keeps remembering those settings indeed, but the point is that the window is still larger than the screen, and if you wish to use the app rather than the wheel (with the right-click context menu in windows), the application is full height and covers the screen so it's not really handy to go seek a file in your explorer (behind the main Filee window) and drag and drop it in Filee. Hope you see my point.
    Thanks anyway

  8. KnifeLemon commented on Oct 26, 2026

    @KnifeLemon
    Owner

    @fabio42170 I see your point, thanks for explaining. Making everything smaller isn't the fix you need: the window itself is taller than your screen.

    That's what the fix @cre8ive-marketing is working on covers. Part 2 of the plan fits the window inside your screen's working area (above the taskbar), also on the very first start, and part 1 remembers the size and position you give it after a restart. So you'll be able to make it e.g. 1000 × 700, put it next to Explorer and drag files across. It isn't released yet; I'll post here when it is.

  9. cre8ive-marketing commented on Oct 27, 2026

    @cre8ive-marketing
    Collaborator

    PR #640 is open: the window's size, position and maximized state are saved on Closing (close-to-tray, Quit, and Windows sign-out/shutdown all covered) and restored on the next start, fitted to the screen.

  10. fabio42170 commented on Oct 27, 2026

    @fabio42170
    Author

    Prefect! Thanks for following up on that!

  11. added 2 commits that reference this issue on Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

bugSomething isn't working

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions