summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2022-12-25Maximization should also redraw borders....* schewm.c: wm_set_client_state(): Call dpy_draw_borders() as needed Samuel Fadel
2022-12-22General bug fixes and improvements.Samuel Fadel
2022-12-21Fix border drawing in tile toggling functions & launcher impl....* init.scm: Launcher impl and helpers * wm.scm: Launcher with fork & execlp (execvp) * schewm.c: Fix border by explicitly calling border drawing proc after restoring window size Samuel Fadel
2022-12-20Added .envrc...* .envrc: Setup env using guix shell Samuel Fadel
2022-12-20Rename manifest file into manifest.scmSamuel Fadel
2022-12-20Fixed managing prior existing windows when starting up the WM....* schewm.c: Also fixed num_workspaces (w/ minor refactor) and intial window mapping repositioning. Samuel Fadel
2022-12-19Refactoring to reduce repeated code, fix tiling bugs....* Makefile: Add optimization flag * init.scm: Use correct indices for workspaces * schewm.c: Many lines of repeated code removed Samuel Fadel
2022-12-19Some debugging and bug fixing....* schewm.c: Fix sizing when maximizing, investigate managing existing windows Samuel Fadel
2022-12-19Renamed init/config main.scm file into init.scm.Samuel Fadel
2022-12-18WM reconfiguration code....* main.scm: Added wm-reconifgure call to set initial config * wm.scm: Added wiring to call C code for reconfiguration * schewm.c: bugfix in ev_unmap_notify(); new wm_reconfigure() function Samuel Fadel
2022-12-18More robust main loop and all event handlers.Samuel Fadel
2022-12-16A working callback mechanism between C and Scheme code....Callbacks can be fully setup via Scheme code; the C code assumes callbacks have no args and return no values. Within Scheme we setup callbacks via some lambda functions that capture args when needed (see make-callback example). Key press handler operates on the C side using a hash map to find the callback to be called. Everything is set up on the Scheme side, which is less verbose and more convenient to read. * main.scm: Setup callbacks for keypresses * schewm.c: Callbacks hash maps for keys and buttons, handlers for keys * wm.scm: Minor reorganization (key grab also now takes the callback directly) Samuel Fadel
2022-12-11Implemented remaining C core functions....* main.scm: Updated function name * wm.scm: Bind remaining C core functions * schewm.c: Updated/implemented remaining core functions Samuel Fadel
2022-12-09Cleanup Scheme code; add more utility functions (dummies for now)...* main.scm: Code cleanup * wm.scm: Cleanup and moving of more functions * schewm.c: Implemented more utility functions Samuel Fadel
2022-12-09Implemented focus prev/next; cleanup on Scheme side....* schewm.c: Implemented focus prev/next and minor helper func * main.scm and wm.scm: Added focus prev/next calls to C Samuel Fadel
2022-12-08Working example with keybindings done from Scheme....* main.scm: Added utility and keybinding calls * wm.scm: Added necessary bindings to C code * schewm.c: Some utility functions for grabbing keys Samuel Fadel
2022-12-08More features implemented....* .manifest.scm: Added libx11 * Makefile: Add x11 to pkg-config calls * main.scm: Add more config, including some keybinding stuff * wm.scm: Add key-from-str function * schewm.c: keysym_from_str() and others implemented/refactored Samuel Fadel
2022-12-08Added dpy_update_window_list() call and impl.Samuel Fadel
2022-12-07Ported some more code....* schewm.c: Mostly added utility functions not yet wired to wm. Samuel Fadel
2022-12-06Minor reorganization....* schewm.c: Separate more clearly dpy-specific and wm-specific code. Samuel Fadel
2022-12-05Refactor logic to ignore certain clients....* schewm.c: Extract client-ignoring logic into the dpy_should_ignore_window function. Samuel Fadel
2022-12-05Minor logic improvement when initializing clients....* schewm.c: dpy_make_client: Improve logic to avoid cleanup in two places. Samuel Fadel
2022-12-04Update README with correct name.Samuel Fadel
2022-12-04Key grabbing, handling outputs, init clients....* main.scm: Added key press handler * wm.scm: Added key press handler * schewm.c: Added key grabbing, output management, client initialization (initial grab) Samuel Fadel
2022-12-03It's alive!...* Makefile: Add pkg-config flags to properly link some symbols * wm.scm: Added wm-run and cleanup * schewm.c: Ported a lot more stuff, still missing key features * main.scm: Call wm-run Samuel Fadel
2022-12-02Still missing a lot, but it's coming together....* schewm.c: Merge/port a lot of old code. Samuel Fadel
2022-12-02Sketching ideas.Samuel Fadel
2022-12-02Proof-of-concept event handling. See NOTE.Samuel Fadel
2022-12-01Initial commit....Sketching Scheme/C interop. Samuel Fadel