more structure notes
This commit is contained in:
parent
5b58d8aef3
commit
f8b1ed2ef1
1 changed files with 36 additions and 0 deletions
36
src/main.rs
36
src/main.rs
|
@ -52,12 +52,48 @@ fn main() -> anyhow::Result<()> {
|
|||
become_wm(&conn, screen)?;
|
||||
|
||||
// TODO: setup
|
||||
// Whole bunch to do here
|
||||
// - setting up application state
|
||||
// - in dwm, this is done by assigning pointers
|
||||
// - we'll likely use a top level struct to do the same
|
||||
// - this includes:
|
||||
// - the default screen along with its size
|
||||
// - the root window
|
||||
// - the drawable context (or our equivalent)
|
||||
// - fonts
|
||||
// - bar height and padding derived from fonts
|
||||
// - Xinerama information
|
||||
// - atoms? whatever those are?
|
||||
// - color schemes
|
||||
// - initial bar rendering
|
||||
// - fetch bar status
|
||||
// - creating the dummy window for propriety and specification compliance
|
||||
// - Have to assign a bunch of special properties here
|
||||
// - set the full extent of your event_mask
|
||||
// - We set SUBSTRUCTURE_REDIRECT in become_wm mostly to check for another wm
|
||||
// - we have a bunch more we want, like pointer movement, button press, etc etc
|
||||
// - setup key listeners
|
||||
// - end by focusing the root window
|
||||
// - basically all of dwm's drw.c needs to be accounted for including:
|
||||
// - some utf8 management (we get that for free in Rust)
|
||||
// - an abstraction for drawing over pixel maps
|
||||
// - graphics context management
|
||||
// - font loading and rendering
|
||||
// - we *could* fall back to X core fonts, but I'd prefer not to
|
||||
//
|
||||
|
||||
// TODO: pledge if on openBSD
|
||||
|
||||
// TODO: dwm scan
|
||||
// Check for X windows to manage and manage them if needed
|
||||
|
||||
// TODO: dwm run
|
||||
// event loop moment
|
||||
|
||||
// TODO: dwm cleanup
|
||||
// if we structure the program well, this will be done
|
||||
// automatically by the borrow checker, and we don't even
|
||||
// need to think about it
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue