diff options
author | Samuel Fadel <samuel@nihil.ws> | 2022-12-02 18:12:56 +0100 |
---|---|---|
committer | Samuel Fadel <samuel@nihil.ws> | 2022-12-02 18:12:56 +0100 |
commit | f7ec25115caf0ff0c17275571f740748becfcc3e (patch) | |
tree | 27214eb106bc4f05a7a630707c5c3b9d4b09c291 | |
parent | 21ebd4dda267d09c60d8b646782aed28138c5690 (diff) |
Sketching ideas.
-rw-r--r-- | main.scm | 14 | ||||
-rw-r--r-- | schewm.c | 14 | ||||
-rw-r--r-- | wm.scm | 3 |
3 files changed, 30 insertions, 1 deletions
@@ -1,8 +1,20 @@ -(use-modules (wm)) +(use-modules (srfi srfi-9) + (wm)) + +(define-record-type <wm-config> + (make-config border-width outer-border-width) + wm-config? + (border-width config-border-width set-config-border-width!) + (outer-border-width config-outer-border-width set-config-outer-border-width!)) + +(define config + (make-config 2 0)) (when (wm-init) (wm-set-configure-notify-handler! (lambda (x y w h) (display (+ x y w h)) (display "\n"))) + (display config) + (display "\n") (wm-quit)) @@ -8,6 +8,20 @@ #include <xcb/xcb_keysyms.h> #include <X11/keysym.h> +static uint16_t mod_key = XCB_MOD_MASK_4; +static const uint16_t SHIFT = XCB_MOD_MASK_SHIFT; + +void wm_set_mod_key(uint16_t mod) { + mod_key = mod; +} + +uint16_t wm_get_mod_key(bool with_shift) { + if (with_shift) { + return mod_key | SHIFT; + } + return mod_key; +} + /* * Array of (internal) event handlers. They cast the event pointer to * the proper type and call the custom handlers defined in Scheme. @@ -34,3 +34,6 @@ (procedure->pointer void handler (list int16 int16 uint32 uint32)))) + +(define (wm-set-keybind mod keysym handler) + ) |