You add some things there at the end that I don't particularly care for, but this should get you started for the 'pop up warning' bit:
Code:
(vl-load-com)
(defun c:ViewportWarning ()
(princ "\rVIEWPORTWARNING = ")
(if *Reactor_ViewportWarning*
(progn ; Turn off
(vlr-remove *Reactor_ViewportWarning*)
(setq *Reactor_ViewportWarning* nil)
(setq ViewportWarning:SysVarChanged nil)
(princ "OFF ")
)
(progn ; Turn on
(or *Reactor_ViewportWarning*
(setq *Reactor_ViewportWarning*
(vlr-sysvar-reactor
"ViewportWarning"
'(
(:vlr-sysvarchanged . ViewportWarning:SysVarChanged)
)
)
)
)
(defun ViewportWarning:SysVarChanged (rea var / ctab)
(if
(and
(= T (cadr var))
(= "CVPORT" (strcase (car var)))
(/= "Model" (setq ctab (getvar 'ctab)))
(/= 1 (getvar 'cvport))
)
(alert
(strcat "The active viewport on " ctab " is unlocked. ")
)
)
)
(princ "ON ")
)
)
(princ)
)
;; Uncomment next line to make it start automagically when loaded:
;;(c:ViewportWarning)
Cheers