;;; workgroups-structs.el --- Data structures for WG ;;; Commentary: ;; ;; `wg-defstruct' - it creates functions named like "wg-buf-...", ;; "wg-session-...", "wg-make-win" and so on (to manipulate the ;; structures) ;; ;; So if you have "(wg-defstruct wg session ...)" - then you have ;; `wg-session-file-name' and other defined fields. ;; ;; To get a value you can use: ;; (wg-session-... (wg-current-session)) ;; ;; Example: ;; (wg-session-file-name (wg-current-session)) ;; (wg-workgroup-parameters (wg-current-workgroup)) ;; ;; To set a value (code used in `wg-write-session-file'): ;; (setf (wg-session-file-name (wg-current-session)) filename) ;; ;;; Code: (require 'workgroups-utils-basic) (wg-defstruct wg buf (uid (wg-generate-uid)) (name) (file-name) (point) (mark) (local-vars) (special-data) ;; This may be used later: (gc)) (wg-defstruct wg win (uid) (parameters) (edges) (point) (start) (hscroll) (dedicated) (selected) (minibuffer-scroll) (buf-uid)) (wg-defstruct wg wtree (uid) (dir) (edges) (wlist)) (wg-defstruct wg wconfig (uid (wg-generate-uid)) (name) (parameters) (left) (top) (width) (height) (vertical-scroll-bars) (scroll-bar-width) (wtree)) (wg-defstruct wg workgroup (uid (wg-generate-uid)) (name) (modified) (parameters) (base-wconfig) (selected-frame-wconfig) (saved-wconfigs) (strong-buf-uids) (weak-buf-uids)) (wg-defstruct wg session (uid (wg-generate-uid)) (name) (modified) (parameters) (file-name) (version wg-version) (workgroup-list) (buf-list)) (wg-defstruct wg workgroup-state (undo-pointer) (undo-list)) (provide 'workgroups-structs) ;;; workgroups-structs.el ends here