Tmux etc
This commit is contained in:
parent
276853ba84
commit
1cb167b597
361 changed files with 77302 additions and 4 deletions
|
|
@ -0,0 +1,54 @@
|
|||
(in-package :de.anvi.croatoan)
|
||||
|
||||
;; panel
|
||||
;; panel stack extension for curses
|
||||
;; http://invisible-island.net/ncurses/man/panel.3x.html
|
||||
|
||||
;; defined in source/classes.lisp
|
||||
;; (defparameter *window-stack* nil)
|
||||
|
||||
(defun raise (win)
|
||||
"Raise window one position in the stack."
|
||||
(when (not (eq win (car *window-stack*)))
|
||||
(let ((pos (position win *window-stack*)))
|
||||
(rotatef (nth (1- pos) *window-stack*)
|
||||
(nth pos *window-stack*)))))
|
||||
|
||||
(defun raise-to-top (win)
|
||||
"Raise window to the top of the window stack."
|
||||
(setf *window-stack* (cons win (remove win *window-stack*))))
|
||||
|
||||
(defun lower (win)
|
||||
"Lower window one position in the stack."
|
||||
(when (not (eq win (car (last *window-stack*))))
|
||||
(let ((pos (position win *window-stack*)))
|
||||
(rotatef (nth (1+ pos) *window-stack*)
|
||||
(nth pos *window-stack*)))))
|
||||
|
||||
(defun lower-to-bottom (win)
|
||||
"Lower window to the bottom of the window stack."
|
||||
(when (not (eq win (car (last *window-stack*))))
|
||||
(setf *window-stack* (append (remove win *window-stack*) (list win)))))
|
||||
|
||||
(defun empty-stack ()
|
||||
"Remove all windows from the stack."
|
||||
(setf *window-stack* nil))
|
||||
|
||||
(defun refresh-stack ()
|
||||
"Touch and refresh visible windows in the window stack."
|
||||
(if *window-stack*
|
||||
(progn
|
||||
(mapc #'(lambda (w)
|
||||
(when (visiblep w)
|
||||
(touch w)
|
||||
(mark-for-refresh w)))
|
||||
(reverse *window-stack*))
|
||||
(refresh-marked))
|
||||
(error "refresh stack: stack empty")))
|
||||
|
||||
;; https://www.informatimago.com/develop/lisp/l99/p19.lisp
|
||||
;; todo: what if count is longer than a list? use mod
|
||||
(defun rotate (list count)
|
||||
(if (minusp count)
|
||||
(rotate list (+ (length list) count))
|
||||
(nconc (subseq list count) (subseq list 0 count))))
|
||||
Loading…
Add table
Add a link
Reference in a new issue