FORBID
- alias fordialog {
- set %geninp.1 $1
- set %geninp.2 $2
- set %geninp.3 $3
- set %geninp.4 $4
- set %geninp.5 $5
- var %t = fordialog. $+ $trnum
- mrcdlg -m %t
- }
- dialog fordialog.* {
- title ""
- option dbu
- size -1 -1 173 94
- text "", 1, 6 5 257 8, read multi
- combo 2, 5 60 163 170, drop edit result
- edit "NOTE: No specific, show the first 100 available entries.", 4, 4 51 165 8, disable
- link "Help?", 5, 7 79 20 8
- button "&OK", 6, 77 77 44 13, ok default
- button "&Cancel", 7, 124 77 44 13, cancel
- }
- on *:dialog:fordialog.*:*:*:{
- if ($devent == init) {
- mdx SetBorderStyle $dname 4
- dialog -t $dname %geninp.2
- did -a $dname 1 %geninp.1
- didtok $dname 2 44 %forb.syntax
- }
- elseif ($devent == sclick) {
- if ($did == 6) {
- set %forblist forbid
- if (!$did(2).text) { %geninp.4 }
- elseif ($regex($did(2).text, /^[a-zA-Z\s]+$/)) { set %cfblist $calc($did(2).sel +1) $did(2) | %geninp.4 $did(2) }
- else { set %cfblist %linenum | %geninp.4 $did(2) }
- }
- elseif ($did == 7) { unset %forb.syntax %linenum }
- elseif ($did == 5) { var %r = $specialwin | window -kea %r | os help Forbid }
- }
- elseif ($devent == edit) {
- var %read $did(2,0)
- if (%read != $null) && ($regex(%read, /[a-zA-Z]/)) {
- var %t $did(2).lines, %i 1
- while (%i <= %t) {
- var %line $did(2, %i)
- if (%line $+ * iswm %read) { set %linenum $calc(%i +1) %read | return }
- inc %i
- }
- }
- }
- elseif ($devent == close) { unset %linenum %geninp.* }
- }
Pasted 2026-08-31 14:10:44
Short link:
Short link:
Recent Public Pastes