feat: initial-size config and command line
Closes: #71
Changes fullscreen (command line and config) to use a parameter:
- all (to cover all screens, probably not working in most compositors, but sets according property on toplevel. This is not the same thing as e.g. sway global fullscreen, btw)
- current-screen
Old fullscreen (--fullscreen and fullscreen = true) still working, this does the same as using "current-screen".
Adds option for initial resize
- smart (existing behaviour) (e.g.
--resize smartorresize = { mode = "smart" }) - actual size (e.g.
--resize 2000x800orresize = { mode = "size", width=2000, height= 800 })
Adds option for the existing floating hack (--floating-hack or floating-hack=true), default is off.
- [x] WindowSizing in both command_line and configuration needs deduplicating
- [x] behaviour with different compositor settings for the window needs testing
- [x] reconsider default
- [x] consider all-screens
- [x] use options instead of None directly
Requires #322 to be included before next release.
I think I'll change this to
--fullscreen=all|current|none (with --fullscreen and fullscreen=true in config still working)
--resize-window=w,h|smart
--floating-hack
because these might be used in any combination. You could place Satty in Fullscreen and still want to have a floating, sized window if you exit fullscreen. I think this should work better for the control flow in main.rs.
EDIT: included above
Changing back to draft so we can include #335 here.