Herhangi bir pencerede arama yapmak icin CTRL + F kisayol tusunu kullanip o acilan penceredeki kutucuga yazi yazar yukari veya asagi yapip o satira gideriz.
Fakat Custom Pencerelerde @* ile baslayan ayri kisisel pencelerde buffer log sayisi cok fazla oldugundan CTRL + F biraz agir calisir ve beklemek zorunda kaliriz. Ornek veriyorum @
penceresi 200 bin satirlik pencerede arama yaptigimizda mirc kasma yapabiliyor. Bunu bir nebze engellemek icin asagidaki alternatif dialog kodunu yazdim.
Aranacak kelimeyi wildcard ya da regex opsiyonlu olarak ayri checkboxlar isaretleyip cesitlendirmek isterdim dialogda ama bu cok kafa karistirici olacagindan bundan vazgectim ve asagidaki daha basit olan kodu yazdim.
Kod sadece @custom pencerelerde calisacaktir kanal pencerelerinde calismayacaktir zaten isteseniz de calistiramazsiniz.
Remote kismina ayri bir sayfa acip ekleyebilirsiniz.
@custom pencerede sag tiklayip "BuL" secip calistirabiirsiniz.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
dialog find {
title "BUL"
size -1 -1 115 74
option dbu
edit "", 1, 5 18 108 10, multi
text "", 2, 5 6 107 8
button "Asagi", 3, 39 57 37 12
button "Yukari", 4, 39 43 37 12
button "Temizle", 5, 79 28 33 12
text "", 6, 6 30 35 8
}
menu @* {
BuL:dialog -m find find | set %find_window $active | sline %find_window 1
}
on *:dialog:find:*:*: {
if ($devent == sclick) {
if ($did == 3 && $did($dname,1)) {
if ($active != %find_window) { window -a %find_window }
;asagi
if %find_window_set <= 0 { halt }
if (!%find_window_set) { set -e %find_window_set 0 }
inc %find_window_set
if ($fline(%find_window,$+(*,$did($dname,1),*),%find_window_set)) {
did -ra $dname 2 Aktif Satir: $fline(%find_window,$+(*,$did($dname,1),*),%find_window_set) Toplam Satir: $line(%find_window,0)
did -ra $dname 6 %find_window_set $+ / $+ $fline(%find_window,$+(*,$did($dname,1),*),0)
}
sline %find_window $fline(%find_window,$+(*,$did($dname,1),*),%find_window_set)
}
if ($did == 4 && $did($dname,1)) {
if ($active != %find_window) { window -a %find_window }
;yukari
if %find_window_set <= 0 { halt }
if (!%find_window_set) { set -e %find_window_set 0 }
if ($fline(%find_window,$+(*,$did($dname,1),*),%find_window_set)) {
if ($calc(%find_window_set -1) != 0) {
dec %find_window_set
}
did -ra $dname 2 Aktif Satir: $fline(%find_window,$+(*,$did($dname,1),*),%find_window_set) Toplam Satir: $line(%find_window,0)
did -ra $dname 6 %find_window_set $+ / $+ $fline(%find_window,$+(*,$did($dname,1),*),0)
}
sline %find_window $fline(%find_window,$+(*,$did($dname,1),*),%find_window_set)
}
if ($did == 5) {
did -r $dname 1,2,6
unset %find_window_set
sline %find_window 1
;clear
}
}
if ($devent == edit) {
if ($len($did($dname,1)) >= 4) {
did -ra $dname 2 Bulunan Satir Sayisi : $fline(%find_window,$+(*,$did($dname,1),*),0)
}
}
}
[Not] : Bazi durumlari gozden kacirmis olabilirim hatalari bilgilendirirseniz memnuniyetle gidermeye calisacagim.