Comments (7)
Hi! Are you talking about modifying the configuration file?
Currently, only the window size is read from the configuration file, the position is ignored.
The reason for this is potential bugs/problems with changing display resolutions and external monitors. I am pretty sure that disconnecting external monitors and other resolution-related actions would lead to a condition where a position is stored that is not on the physical screen. Until I have figured out an easy and reliable way to prevent that, I have decided not to load the position. I am storing it though.
from oculante.
Yes, the config files. So currently there is no way to prevent the window from at least jumping around?
Curious how the multi-monitor bug manifess, you can't move a window to an illegal position, right, so do you get a single top-left pixel in the bottom-right corner if you're missing the monitor that would be logically "bottom/right" of the main one?
from oculante.
So currently there is no way to prevent the window from at least jumping around?
What do you mean by that? Is that a separate issue? When is it "jumping around"?
Curious how the multi-monitor bug manifess, you can't move a window to an illegal position, right, so do you get a single top-left pixel in the bottom-right corner if you're missing the monitor that would be logically "bottom/right" of the main one?
You have a 1920x1080 display, move the window to 3500,1500 on your secondary monitor, then close oculante, disconnect your laptop. Next time you open oculante, it will try to open off screen.
from oculante.
I mean that the position of the window changes every time I launch the app. I thought it was tied to the app not respecting the corner coordinates, but maybe it's a separate one
from oculante.
As far as I know I am not doing anything special for window placement - I think your window manager / operating system will do the window placement. I think winit
is used under the hood, so that will handle window-related interaction with the different operating systems.
from oculante.
I'm launching without any window managers. Also other apps are not jumping around, but not sure if any of them uses Wininit. Tried simp (if I recall correctly, it's also egui, so also winit?) and it seems to have the same issue (only it doesn't support remembering window size which your app does.
Maybe it's due to the fact that you ignore the position and so winit does some random stuff? So maybe add an option to override the multimonitor safeguard and always read position from config (and if it's outside, let the OS force it back to whatever place)?
from oculante.
I am closing this as this seems to be a quite special use case and is very likely something that may be beyond my control (winit / egui)
from oculante.
Related Issues (20)
- Support 16-bit grayscale images? HOT 9
- Handle Associated alpha images HOT 11
- Oculante does not load single-channel EXR images HOT 4
- Use `image` internal formats
- Gifs piped into oculante do not animate HOT 3
- native wayland support HOT 2
- Ensure window size can't be too small HOT 1
- Webp images with large size don't get loaded HOT 1
- Image displayed wrong compared to other applications HOT 3
- Allow configurable min window size HOT 1
- No dependencies in Cargo.lock for build with options: --no-default-features notan/shaderc HOT 4
- error[E0599]: no variant or associated item named `get_mouse_position` found for enum `mouse_position::mouse_position::Mouse` in the current scope HOT 7
- heif support via avif-decode
- ERROR rfd::backend::xdg_desktop_portal HOT 5
- Transparency in images shows contents below oculante HOT 8
- GIFs increase in speed when workspace is switched HOT 1
- "Show checker background" option doesn't work" HOT 1
- A JPG file starting with 0x52 0x49 can't be opened HOT 2
- The executable icon on Windows is only available in 48x48px HOT 1
- Delete and overwrite operations should ask for a confirmation HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oculante.