From 99b00bcb3b2803bde4d24f9273a6b81909df5f47 Mon Sep 17 00:00:00 2001 From: Samuel Fadel Date: Sun, 11 Dec 2022 13:03:04 +0100 Subject: Implemented remaining C core functions. * main.scm: Updated function name * wm.scm: Bind remaining C core functions * schewm.c: Updated/implemented remaining core functions --- wm.scm | 99 ++++++++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 69 insertions(+), 30 deletions(-) (limited to 'wm.scm') diff --git a/wm.scm b/wm.scm index bdbc6dd..3dd4797 100644 --- a/wm.scm +++ b/wm.scm @@ -26,7 +26,7 @@ wm-toggle-bottom-left wm-toggle-bottom-right wm-set-workspace - wm-set-client-workspace + wm-set-focused-client-workspace wm-client-monitor-prev wm-client-monitor-next wm-run @@ -121,41 +121,80 @@ (wm-grab-key-with-mod key)) (wm-grab-keys (cdr keybindings))))) -(define wm-focus-prev - (schewm-func void "wm_focus_prev" '())) - -(define wm-focus-next - (schewm-func void "wm_focus_next" '())) - (define c/wm-set-key-press-handler (schewm-func void "wm_set_key_press_handler" (list '*))) (define (wm-set-key-press-handler! handler) - ;; mod (state, uint16) - ;; keysym (detail, uint8) + ;; Event handler args are: + ;; - mod (`ev.state' clean from noise, uint16) + ;; - keysym (`ev.detail' converted to keysym, uint32) (c/wm-set-key-press-handler (procedure->pointer void handler - (list uint16 uint8)))) - -;; XXX: Dummy -(define (wm-focus-close) '()) -(define (wm-pack-left) '()) -(define (wm-pack-right) '()) -(define (wm-pack-top) '()) -(define (wm-pack-bottom) '()) -(define (wm-toggle-maximize) '()) -(define (wm-toggle-half-left) '()) -(define (wm-toggle-half-right) '()) -(define (wm-toggle-half-top) '()) -(define (wm-toggle-half-bottom) '()) -(define (wm-toggle-top-left) '()) -(define (wm-toggle-top-right) '()) -(define (wm-toggle-bottom-left) '()) -(define (wm-toggle-bottom-right) '()) -(define (wm-set-workspace) '()) -(define (wm-set-client-workspace) '()) -(define (wm-client-monitor-prev) '()) -(define (wm-client-monitor-next) '()) + (list uint16 uint32)))) + +(define wm-focus-prev + (schewm-func void "wm_focus_prev" '())) + +(define wm-focus-next + (schewm-func void "wm_focus_next" '())) + +(define wm-focus-close + (schewm-func void "wm_focus_close" '())) + +(define wm-pack-left + (schewm-func void "wm_pack_left" '())) + +(define wm-pack-right + (schewm-func void "wm_pack_right" '())) + +(define wm-pack-top + (schewm-func void "wm_pack_top" '())) + +(define wm-pack-bottom + (schewm-func void "wm_pack_bottom" '())) + +(define wm-toggle-maximize + (schewm-func void "wm_toggle_maximize" '())) + +(define wm-toggle-half-left + (schewm-func void "wm_toggle_half_left" '())) + +(define wm-toggle-half-right + (schewm-func void "wm_toggle_half_right" '())) + +(define wm-toggle-half-top + (schewm-func void "wm_toggle_half_top" '())) + +(define wm-toggle-half-bottom + (schewm-func void "wm_toggle_half_bottom" '())) + +(define wm-toggle-top-left + (schewm-func void "wm_toggle_top_left" '())) + +(define wm-toggle-top-right + (schewm-func void "wm_toggle_top_right" '())) + +(define wm-toggle-bottom-left + (schewm-func void "wm_toggle_bottom_left" '())) + +(define wm-toggle-bottom-right + (schewm-func void "wm_toggle_bottom_right" '())) + +(define wm-set-workspace + (schewm-func void + "wm_set_workspace" + (list uint32))) + +(define wm-set-focused-client-workspace + (schewm-func void + "wm_set_focused_client_workspace" + (list uint32))) + +(define wm-client-monitor-prev + (schewm-func void "wm_client_monitor_prev" '())) + +(define wm-client-monitor-next + (schewm-func void "wm_client_monitor_next" '())) -- cgit v1.2.3