יוצר: Arthas
גירסא: 2
תיאור: תוסף לדיאלוג המאפשר ליוצר הדיאלוג לעשות שהדיאלוג שלו ייפתח, יגדל, יקטן לאורך ולרוחב והכל בסלייד - לא במכה .. וכך לחסוך שטחים מתים בדיאלוג, וליצור דיאלוג יפה יותר ומסודר יותר שלא חייב להיות לכל הטאבים או לכל דבר שתרצו באותו גודל, אלא בגודל משתנה לפי רצונכם.
הפעלה: שימו את הקוד בRemote, אפשר באותו עמוד עם קוד נוסף שלכם.
הפקודה להפעלה היא:
קוד: בחר הכל
/Slide -swh <dname> <Speed(1-10)> <width> <height> [alias]
אם אתם משתמשים בכל הסוויצ'ים זה נראה כמו בפקודה להפעלה שלמעלה
אם אתם לא משתמשים בסוויץ' כלשהו פשוט החסירו את המידע שלו, לדוגמא:
קוד: בחר הכל
/Slide -w <dname> <width> [alias]
- צירוף אליאס הוא אופציה בלבד ולא צריך להשתמש בסוויץ בשבילו, פשוט כתבו בסוף את הפקודה להפעלת האליאס והאליאס יתבצע בסוף הפעולה.
סוויצ'ים:
קוד: בחר הכל
-s Speed - המהירות שהסלייד יתבצע, המהירות נעה בין 1-10, ברירת המחדל היא 1 שהיא האיטית ביותר.
-w Width - הרוחב הרצוי
-h Height - האורך הרצוי
קוד:
קוד: בחר הכל
; ——————————————————————————————————————————————————————————————————————————————————————————————— ;
; Dialog slider by Arthas v2
;
; Syntax: /Slide: Invalid format, the syntax is /Slide -whs <dname> <Speed(1-10)> <width> <height> [alias]
; ——————————————————————————————————————————————————————————————————————————————————————————————— ;
alias slide {
unset %slide.*
if (w isin $1) { set %slide.now w }
elseif (h isin $1) { set %slide.now h }
if (s isin $1) && ($3 isnum 1-10) { set %slide.speed $3 | tokenize 32 $1 $2 $4- }
if (s isin $1) && ($3 !isnum 1-10) && (!%slide.speed) { echo $color(info) -ag * /slide: Speed must be number between 1-10 | return 0 }
elseif (!%slide.now) || (!$3) { echo $color(info) -ag * /slide: Invalid format, the syntax is /Slide -whs <dname> <Speed(1-10)> <width> <height> [alias] }
elseif ((h isin $1) && (w isin $1) && ($4 !isnum)) || ($3 !isnum) { echo $color(info) -ag * /slide: width/height must be numbers }
elseif (!$dialog($2)) echo $color(info) -ag * /slide: ' $+ $2 $+ ' no such active dialog
else {
set %slide.mode $1
set %slide.dialog $2
set %slide.to $3
if (h isin $1) set %slide.to2 $4
set %slide.type $iif($3 < $int($calc($dialog(%slide.dialog). [ $+ [ $iif(%slide.now == h,ch,cw) ] ] /2)),down,up)
if (h isin $1) && ($5) set %slide.alias $5-
elseif (h !isin $1) && ($4) set %slide.alias $4-
slideit2
}
}
alias -l slideit2 {
if (!$dialog(%slide.dialog)) { echo $color(info) -ag * /slide: ' $+ %slide.dialog $+ ' no such active dialog | return 0 }
var %slide.o = $int($calc($dialog(%slide.dialog). [ $+ [ $iif(%slide.now == h,ch,cw) ] ] /2))
if (((%slide.o > %slide.to) && (%slide.type == down)) || ((%slide.o < %slide.to) && (%slide.type == up))) {
var %udd = $iif(%slide.type == down,-,+) $+ $iif(%slide.speed,$calc(%slide.speed *2),2), %uddd $iif($left(%udd,1) == +,-,+) $+ $right(%udd,-1)
if ((($calc(%slide.o %udd) < %slide.to) && (%slide.type == down)) || (($calc(%slide.o %udd) > %slide.to) && (%slide.type == up))) { goto end }
dialog -bs %slide.dialog $iif(%slide.now == w,$calc($dialog(%slide.dialog).x %uddd),$dialog(%slide.dialog).x) $iif(%slide.now == h,$calc($dialog(%slide.dialog).y %uddd),$dialog(%slide.dialog).y) $iif(%slide.now == h,$int($calc($dialog(%slide.dialog).cw /2))) $calc(%slide.o %udd) $iif(%slide.now == w,$int($calc($dialog(%slide.dialog).ch /2)))
.timer -m 1 1 slideit2
}
else {
goto end
:end
if (%slide.o != %slide.to) { var %tdd = $iif(%slide.type == down,+,-) $+ $abs($calc(%slide.o - %slide.to)) | dialog -bs %slide.dialog $iif(%slide.now == w,$calc($dialog(%slide.dialog).x %tdd),$dialog(%slide.dialog).x) $iif(%slide.now == h,$calc($dialog(%slide.dialog).y %tdd),$dialog(%slide.dialog).y) $iif(%slide.now == h,$int($calc($dialog(%slide.dialog).cw /2))) %slide.to $iif(%slide.now == w,$int($calc($dialog(%slide.dialog).ch /2))) }
if (%slide.now != h) && (h isin %slide.mode) {
set %slide.now h
set %slide.to %slide.to2
set %slide.type $iif(%slide.to < $int($calc($dialog(%slide.dialog).ch /2)),down,up)
.timer -m 1 1 slideit2
}
else { if (%slide.alias) $(%slide.alias,2) | unset %slide.* }
}
}