summaryrefslogtreecommitdiff
path: root/schewm.c
AgeCommit message (Collapse)Author
2022-12-25Maximization should also redraw borders.Samuel Fadel
* schewm.c: wm_set_client_state(): Call dpy_draw_borders() as needed
2022-12-22General bug fixes and improvements.Samuel Fadel
2022-12-21Fix border drawing in tile toggling functions & launcher impl.Samuel Fadel
* 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
2022-12-20Fixed managing prior existing windows when starting up the WM.Samuel Fadel
* schewm.c: Also fixed num_workspaces (w/ minor refactor) and intial window mapping repositioning.
2022-12-19Refactoring to reduce repeated code, fix tiling bugs.Samuel Fadel
* Makefile: Add optimization flag * init.scm: Use correct indices for workspaces * schewm.c: Many lines of repeated code removed
2022-12-19Some debugging and bug fixing.Samuel Fadel
* schewm.c: Fix sizing when maximizing, investigate managing existing windows
2022-12-18WM reconfiguration code.Samuel Fadel
* 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
2022-12-18More robust main loop and all event handlers.Samuel Fadel
2022-12-16A working callback mechanism between C and Scheme code.Samuel Fadel
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)
2022-12-11Implemented remaining C core functions.Samuel Fadel
* main.scm: Updated function name * wm.scm: Bind remaining C core functions * schewm.c: Updated/implemented remaining core functions
2022-12-09Cleanup Scheme code; add more utility functions (dummies for now)Samuel Fadel
* main.scm: Code cleanup * wm.scm: Cleanup and moving of more functions * schewm.c: Implemented more utility functions
2022-12-09Implemented focus prev/next; cleanup on Scheme side.Samuel Fadel
* schewm.c: Implemented focus prev/next and minor helper func * main.scm and wm.scm: Added focus prev/next calls to C
2022-12-08Working example with keybindings done from Scheme.Samuel Fadel
* main.scm: Added utility and keybinding calls * wm.scm: Added necessary bindings to C code * schewm.c: Some utility functions for grabbing keys
2022-12-08More features implemented.Samuel Fadel
* .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
2022-12-08Added dpy_update_window_list() call and impl.Samuel Fadel
2022-12-07Ported some more code.Samuel Fadel
* schewm.c: Mostly added utility functions not yet wired to wm.
2022-12-06Minor reorganization.Samuel Fadel
* schewm.c: Separate more clearly dpy-specific and wm-specific code.
2022-12-05Refactor logic to ignore certain clients.Samuel Fadel
* schewm.c: Extract client-ignoring logic into the dpy_should_ignore_window function.
2022-12-05Minor logic improvement when initializing clients.Samuel Fadel
* schewm.c: dpy_make_client: Improve logic to avoid cleanup in two places.
2022-12-04Key grabbing, handling outputs, init clients.Samuel Fadel
* main.scm: Added key press handler * wm.scm: Added key press handler * schewm.c: Added key grabbing, output management, client initialization (initial grab)
2022-12-03It's alive!Samuel Fadel
* 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
2022-12-02Still missing a lot, but it's coming together.Samuel Fadel
* schewm.c: Merge/port a lot of old code.
2022-12-02Sketching ideas.Samuel Fadel
2022-12-02Proof-of-concept event handling. See NOTE.Samuel Fadel
2022-12-01Initial commit.Samuel Fadel
Sketching Scheme/C interop.