Advertisement
Guest User

Ashka the Infinite windows desktop

a guest
Jan 26th, 2020
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 30.25 KB | None | 0 0
  1. ; thx u to read
  2. ; thx to use
  3. ; thx to comment or report bug
  4. ;diagnosticien@gmail.com
  5. alias ashka {
  6. if $hget(ashka) { hfree ashka }
  7. hmake ashka $int($calc(47 * 1.282))
  8. hadd ashka page 1
  9. writeini $grid.primary page 1 grid
  10. window -dpB +dL @ashka 0 0 1920 1040
  11. setlayer 8 @ashka
  12. grid_call
  13. .timerping -h 0 300 ashka_ping
  14. .timergridinfo -h 0 300 grid_over
  15. }
  16.  
  17. on *:keydown:@ashka:*:{
  18.  if $keyval == 32 {  
  19.  window -n2 @ashka  
  20.  }  
  21. }
  22.  
  23. alias new_shortcut {
  24.  window -dpB +dL @newshortcut 621 329 580 300
  25.  setlayer 160 @newshortcut
  26.  drawrect -rf @newshortcut $rgb(255,255,255) 1 25 120 530 45
  27.  drawtext -ro @newshortcut $rgb(0,0,0) georgia 44 532 113 :
  28.  .timernewshortcut -h 0 300 new_shortcut_explore
  29. }
  30.  
  31. alias new_shortcut_explore {
  32.   if $shortcutexplore && !$hget(ashka,newshortcutexplore) {  
  33.   hadd ashka newshortcutexplore 1
  34.   drawtext -ro @newshortcut $rgb(20,235,25) georgia 44 532 113 :
  35.   }
  36.    if !$shortcutexplore && $hget(ashka,newshortcutexplore) {
  37.    hdel ashka newshortcutexplore
  38.    drawtext -ro @newshortcut $rgb(0,0,0) georgia 44 532 113 :
  39. }
  40. }
  41.  
  42. alias shortcutexplore return $iif($mouseposition(1155,1163,460,482) && $window(@newshortcut),1,0)
  43.  
  44. alias rmenu {
  45.  rmenuclose
  46.  window -dpB +dL @rmenu $calc($mouse.dx +4) $calc($mouse.dy +4) 80 24  
  47.  setlayer 255 @rmenu
  48.  drawfill -r @rmenu $rgb(44,97,197) $rgb(44,97,197) 0 0
  49.  drawtext -ro @rmenu $rgb(255,255,255) comicsansms 14 8 4 Nouveau
  50.  
  51.  if $ini($grid,source,0) {
  52.  window -dpB +dL @rmenudefault $calc($mouse.dx +4) $calc($mouse.dy +28) 80 24  
  53.  setlayer 255 @rmenudefault
  54.  drawfill -r @rmenudefault $rgb(37,75,154) $rgb(37,75,154) 0 0
  55.  drawrect -rf @rmenudefault $rgb(0,0,0) 1 0 0 80 1
  56.  drawtext -ro @rmenudefault $rgb(255,255,255) comicsansms 14 16 4 Défaut
  57.  }
  58.  
  59.  .timersubrmenu -h 0 300 rmenu_sub $mouse.dx $mouse.dy  
  60. }
  61.  
  62. alias rmenu_sub {
  63. if $mouseposition($calc($1 +4),$calc($1 +84),$calc($2 +4),$calc($2 +28)) {  
  64. .timersubrmenunew -h 1 400 rmenu_sub_new $1 $2  
  65. .timersubrmenu off  
  66. }
  67. }
  68.  
  69. alias mouselocator {
  70.   window -dpB +dL @mouselocator 0 0 145 40  
  71.   setlayer 140 @mouselocator
  72.   .timermouselocator -h 0 100 mouselocator_b  
  73. }
  74.  
  75. alias mouselocator_b {
  76.  if !$window(@mouselocator) {
  77.  .timermouselocator off
  78.  goto jump_mouselocator
  79.  }
  80.  
  81.  drawrect -rf @mouselocator $rgb(0,0,0) 1 0 0 145 40    
  82.  drawtext -ro @mouselocator $rgb(235,235,235) comicsansms 14 12 12 X : $mouse.dx - Y : $mouse.dy
  83.  : jump_mouselocator
  84.  }
  85.  
  86.  alias mouseposition {
  87.   if $between($mouse.dx,$1,$2) && $between($mouse.dy,$3,$4) { return 1 }
  88.   else { return 0 }
  89.   }
  90.  
  91. alias between {
  92.  if $1 > $2 && $1 < $3 { return 1 }
  93.  else { return 0 }
  94.   }
  95.  
  96. alias ashdir return scripts\ashka\
  97.  
  98. alias root return $envvar(SystemDrive)  
  99.  
  100. alias pictures return $+($envvar(UserProfile),\pictures)
  101.  
  102. alias icoresize {  
  103.  hadd ashka icoresize.save $+($ashdir,grid\,$hget(ashka,icoresize.next),.jpg)
  104.  window -dpB +dL @icoresize 0 0 32 32
  105.  drawpic -s @icoresize 0 0 32 32 $1-
  106.  drawsave -b32q100 @icoresize $hget(ashka,icoresize.save)
  107.  writeini $grid ico $hget(ashka,icoresize.next) $hget(ashka,icoresize.save)
  108.  window -c @icoresize
  109.  hdel ashka icoresize.next
  110.  hdel ashka icoresize.save
  111. }
  112.  
  113. alias grid_close {
  114.  hadd ashka gridclose 1
  115.  
  116.   while $hget(ashka,gridclose) <= $ini($grid,source,0) {
  117.   if $window($+(@grid,$hget(ashka,gridclose))) { window -c $+(@grid,$hget(ashka,gridclose)) }
  118.   hinc ashka gridclose  
  119.   }
  120.    hdel ashka gridclose
  121. }
  122.  
  123. alias ashka_ping {
  124.  if $window(@ashka).state == minimized {
  125.  grid_close
  126.  hadd ashka minimized 1
  127.  }
  128.  if $window(@ashka).state == normal && $hget(ashka,minimized) {
  129.  hdel ashka minimized  
  130.  grid_call
  131.  }
  132. }
  133.  
  134. alias grid_info {
  135.  window -dpB +dL @gridinfo 1725 0 195 1040
  136.  window -dpB +dL @gridinfoico 1808 40 32 32
  137.  setlayer 8 @gridinfoico
  138.  setlayer 8 @gridinfo
  139.  drawpic @gridinfoico 0 0 $shortfn($readini($grid,ico,$1))
  140.  hadd ashka gridinfo.layer 8
  141.  hadd ashka gridinfo.speed 1
  142.  hadd ashka gridinfo.ico $1
  143.  
  144.   while $hget(ashka,gridinfo.layer) <= 180 {
  145.   $+(.timergridinfo,$hget(ashka,gridinfo.layer)) -h 1 $calc(3 * $hget(ashka,gridinfo.speed)) setlayer $hget(ashka,gridinfo.layer) @gridinfo
  146.   if $hget(ashka,gridinfo.layer) < 130 { $+(.timergridinfoico,$hget(ashka,gridinfo.layer)) -h 1 $calc(3 * $hget(ashka,gridinfo.speed)) setlayer $hget(ashka,gridinfo.layer) @gridinfoico }
  147.   hinc ashka gridinfo.layer
  148.   hinc ashka gridinfo.speed
  149.   }
  150.    .timergridinfoico -h 1 540 grid_info_source $1
  151.    hdel ashka gridinfo.layer
  152.    hdel ashka gridinfo.speed
  153. }
  154.  
  155. alias grid_info_source {
  156.  if $window(@gridinfo) {
  157.  drawtext -ro @gridinfo $rgb(255,255,255) goergia 10 15 102 Nom : $iif($isdir($readini($grid,source,$1)),$iif($len($readini($grid,source,$1)) <= 16,$remove($mid($readini($grid,source,$1),$calc($pos($readini($grid,source,$1),$chr(92),$calc($pos($readini($grid,source,$1),$chr(92),0) -1)) +1)),$chr(92)),$+($str($chr(46),3),$remove($right($mid($readini($grid,source,$1),$calc($pos($readini($grid,source,$1),$chr(92),$calc($pos($readini($grid,source,$1),$chr(92),0) -1)) +1)),16),$chr(92)))),$iif($len($nopath($readini($grid,source,$1))) <= 16,$nopath($readini($grid,source,$1)),$+($str($chr(46),3),$right($nopath($readini($grid,source,$1)),16))))                    
  158.  drawtext -ro @gridinfo $rgb(255,255,255) goergia 10 15 125 Type : $iif($left($readini($grid,source,$1),1) == $chr(47),Script IRC,$iif($readini($grid,type,$remove($file($readini($grid,source,$1)).ext,$chr(46))),$ifmatch,$iif(www. isin $readini($grid,source,$1),Raccourci Web,$iif($isdir($readini($grid,source,$1)),Dossier,Fichier $remove($file($readini($grid,source,$1)).ext,$chr(46))))))
  159.  drawtext -ro @gridinfo $rgb(255,255,255) goergia 10 15 148 $iif($remove($file($readini($grid,source,$1)).ext,$chr(46)) isin exemsi,Installé,Copié) le : $iif($date($file($readini($grid,source,$1)).ctime),$ifmatch,$iif($readini($grid,created,$1),$ifmatch,Inconnu))
  160.  drawtext -ro @gridinfo $rgb(255,255,255) goergia 10 15 171 Derniers accès : $iif($readini($grid,access,$1),$ifmatch,Inconnu)
  161.  drawrect -r @gridinfo $rgb(255,255,255) 2 18 206 130 30
  162.  drawtext -ro @gridinfo $rgb(255,255,255) arialblack 14 30 213 EMPLACEMENT
  163.  drawrect -r @gridinfo $rgb(255,255,255) 2 18 252 130 30
  164.  drawtext -ro @gridinfo $rgb(255,255,255) arialblack 14 51 305 RETRAIT
  165.  drawrect -r @gridinfo $rgb(255,255,255) 2 18 298 130 30
  166.  drawtext -ro @gridinfo $rgb(255,255,255) arialblack 14 30 259 SUPPRESSION
  167.  .timergridinfolocation -h 0 400 grid_info_over $1
  168.  .timergridinfouninstall -h 0 400 grid_info_uninstall $1
  169.  .timergridinforemove -h 0 400 grid_info_remove $1
  170.  }
  171. }
  172.  
  173. alias grid_info_over {
  174.   if $window(@gridinfo) && $between($mouse.dx,1742,1872) && $between($mouse.dy,206,236) && !$hget(ashka,gridinfoover) {
  175.   hadd ashka gridinfoover 1
  176.   drawrect -r @gridinfo $rgb(175,203,250) 2 18 206 130 30
  177.   }
  178.   if $window(@gridinfo) && (!$between($mouse.dx,1742,1872) || !$between($mouse.dy,206,236)) && $hget(ashka,gridinfoover) {
  179.   hdel ashka gridinfoover
  180.   drawrect -r @gridinfo $rgb(255,255,255) 2 18 206 130 30  
  181.   }
  182. }
  183.  
  184. alias grid_info_uninstall {
  185.  if $window(@gridinfo) && $between($mouse.dx,1742,1872) && $between($mouse.dy,252,282) && !$hget(ashka,gridinfouninstall) {
  186.  hadd ashka gridinfouninstall 1
  187.  drawrect -r @gridinfo $rgb(175,203,250) 2 18 252 130 30
  188.  }
  189.  if $window(@gridinfo) && (!$between($mouse.dx,1742,1872) || !$between($mouse.dy,252,282)) && $hget(ashka,gridinfouninstall) {
  190.  hdel ashka gridinfouninstall
  191.  drawrect -r @gridinfo $rgb(255,255,255) 2 18 252 130 30
  192.  }
  193. }
  194.  
  195. alias grid_info_remove {
  196.  if $window(@gridinfo) && $between($mouse.dx,1742,1872) && $between($mouse.dy,298,328) && !$hget(ashka,gridinforemove) {
  197.  hadd ashka gridinforemove 1
  198.  drawrect -r @gridinfo $rgb(175,203,250) 2 18 298 130 30
  199.  }
  200.  if $window(@gridinfo) && (!$between($mouse.dx,1742,1872) || !$between($mouse.dy,298,328)) && $hget(ashka,gridinforemove) {
  201.  hdel ashka gridinforemove
  202.  drawrect -r @gridinfo $rgb(255,255,255) 2 18 298 130 30
  203.  }
  204. }
  205.  
  206. alias grid_call {
  207.  hadd ashka gridcall 1
  208.  
  209.   while $hget(ashka,gridcall) <= $ini($grid,source,0) {
  210.   window -dpoB +dL $+(@grid,$hget(ashka,gridcall)) $gettok($readini($grid,grid,$hget(ashka,gridcall)),1,45) $gettok($readini($grid,grid,$hget(ashka,gridcall)),2,45) 32 32
  211.   setlayer 255 $+(@grid,$hget(ashka,gridcall))
  212.   drawpic $+(@grid,$hget(ashka,gridcall)) 0 0 $shortfn($readini($grid,ico,$hget(ashka,gridcall)))
  213.   window -u $+(@grid,$hget(ashka,gridcall))
  214.   hinc ashka gridcall
  215.   }
  216.    hdel ashka gridcall
  217.    if !$timer(gridallalive) { .timergridallalive 0 30 grid_allalive }
  218. }
  219.  
  220. alias grid_unover {
  221.  if (!$between($mouse.dx,$gettok($readini($grid,grid,$1),1,45),$calc($gettok($readini($grid,grid,$1),1,45) +32)) || !$between($mouse.dy,$gettok($readini($grid,grid,$1),2,45),$calc($gettok($readini($grid,grid,$1),2,45) +32)) || !$readini($grid,source,$1)) && $hget(ashka,gridinfo) && !$hget(ashka,gridinfo.rclick) { grid_over_c }
  222. }
  223.  
  224. alias grid_over_b {
  225.   hadd ashka gridinfo $1
  226.   $+(.timergridover,$1) -h 1 100 grid_info $1
  227.   .timergridunover -h 0 300 grid_unover $1
  228. }
  229.  
  230. alias grid_over_c {
  231.  .timergridunover off
  232.  hdel ashka gridinfo
  233.  window -c @gridinfo  
  234.  window -c @gridinfoico  
  235.  }
  236.  
  237. alias grid.folder return $mircdirscripts\ashka\grid\
  238.  
  239. menu @newshortcut {
  240. sclick:menu_newshortcut
  241. rclick:menu_newshortcut 1
  242. }
  243.  
  244. alias menu_newshortcut {
  245.  if $shortcutexplore {    
  246.  hadd ashka newshortcutlocation $iif($1,$sdir($root,Selectionner la source,LNK),$sfile($root,Selectionner la source,LNK))      
  247.   if $exists($hget(ashka,newshortcutlocation)) {
  248.   writeini $grid source $calc($ini($grid,source,0) +1) $hget(ashka,newshortcutlocation)
  249.    if $isdir($hget(ashka,newshortcutlocation)) || !$pic($shortfn($hget(ashka,newshortcutlocation))).icons { create_newshortcutico }  
  250.    else { writeini $grid ico $ini($grid,source,0) $hget(ashka,newshortcutlocation) }
  251.    grid_call
  252.   }
  253.  }
  254. }
  255.  
  256. alias registeryread {
  257.   .comopen registeryread WScript.Shell
  258.    if !$comerr {
  259.    hadd ashka registry $com(registeryread,RegRead,3,bstr,$+($1,$2))
  260.    hadd ashka registry.result $com(registeryread).result
  261.    .comclose registeryread
  262.    if $hget(ashka,registry.result) { return $hget(ashka,registry.result) }
  263.    else { return 0 }
  264.    }
  265. }
  266.  
  267. alias default.browser return $registeryread(HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice\,ProgId)
  268.  
  269. alias https return $iif($left($1,3) == $str(w,3),$+(https://,$1),$1)
  270.  
  271. alias icons.browser return scripts\ashka\grid\default\
  272.  
  273. alias iifs {
  274.  if $chr(46) isin $calc($0 / 4) { halt }
  275.  if $1 $2 $3 { return $4 }
  276.  if !$5 { halt }
  277.  if $5 $6 $7 { return $8 }
  278.  if !$9 { halt }
  279.  if $9 $10 $11 { return $12 }
  280.  if !$13 { halt }
  281.  if $13 $14 $15 { return $16 }
  282.  if !$17 { halt }
  283.  if $17 $18 $19 { return $20 }
  284.  if !$21 { halt }
  285.  if $21 $22 $23 { return $24 }
  286. }
  287.  
  288. alias get_favicon sockget $1 $2
  289.  
  290. alias sockget {
  291.   hadd ashka socket $iif($2,$2,$+(sockget_,$r(1,100000)))
  292.  
  293.   if $sock($hget(ashka,socket)) { sockclose $hget(ashka,socket) }
  294.  
  295.   hadd ashka sock.address $1
  296.   hadd ashka sock.link $+($chr(47),$gettok($hget(ashka,sock.address),3-,47))
  297.   hadd ashka sock.host $gettok($hget(ashka,sock.address),2,47)
  298.  
  299.   if $right($hget(ashka,sock.address),1) == $chr(47)) && ($right($hget(ashka,sock.link),1) !== $chr(47) { hadd ashka sock.link $+($hget(ashka,sock.link),$chr(47)) }
  300.  
  301.   if *https* iswm $hget(ashka,sock.address) { sockopen -e $hget(ashka,socket) $hget(ashka,sock.host) 443 }
  302.   else { sockopen $hget(ashka,socket) $hget(ashka,sock.host) 80 }
  303.  
  304.   sockmark $hget(ashka,socket) $hget(ashka,sock.link)
  305.   hdel ashka socket
  306.   hdel ashka sock.address
  307.   hdel ashka sock.link
  308.   hdel ashka sock.host
  309. }
  310.  
  311. on *:sockopen:favicon:if $sockerr < 1 { sockinit favicon }
  312.  
  313. alias sockinit {
  314.  sockwrite -nt $1 GET $sock($sockname).mark HTTP/1.1
  315.  sockwrite -n $1 Host: $sock($sockname).addr
  316.  sockwrite -n $1 User-Agent: */*
  317.  sockwrite -n $1 Connection: Close
  318.  sockwrite -nt $1 $crlf  
  319. }
  320.  
  321. on *:sockread:favicon: {
  322.   set %var
  323.   hdel ashka sockget
  324.   hdel ashka sockget.back
  325.   hdel ashka sockget.end
  326.   sockread %var
  327.  
  328.   hadd ashka sockget $left(%var,4096)
  329.  
  330.   :back_sockget
  331.   if $hget(ashka,sockget.back) {
  332.   hadd ashka sockgetend 1
  333.   hadd ashka sockget $mid(%var,4097)  
  334.   }  
  335.  
  336.   if link rel="icon" isin $hget(ashka,sockget) {
  337.   hadd ashka favicon $left($mid($hget(ashka,sockget),$pos($hget(ashka,sockget),http,1)),$calc($pos($mid($hget(ashka,sockget),$pos($hget(ashka,sockget),http,1)),$chr(34),1) -1))
  338.   sockclose favicon
  339.   if !$valid_url($https($hget(ashka,favicon))) || $domain($hget(ashka,favicon)) == svg { hadd ashka favicon NULL }
  340.   else { get $hget(ashka,favicon) $+($grid.folder,$ini($grid,source,0),.jpg) }
  341.   }
  342.    if $len(%var) > 4096 && $hget(ashka,sockgetend) {
  343.    hadd ashka sockget.back 1
  344.    goto back_sockget  
  345.   }  
  346.  }
  347.  
  348. alias valid_url return $iif($regex($1,/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/),1,0)
  349.  
  350. alias domain return $mid($1,$calc($pos($1,$chr(46),$pos($1,$chr(46),0)) +1))
  351.  
  352. alias get {
  353.   if ($com(get)) .comclose get
  354.    .timergetend 0 1 get_end $2
  355.    var %get = $&
  356.    on error resume next $lf $&
  357.    Set C = CreateObject("msxml2.xmlhttp.3.0") $lf $&
  358.    if (err.number <> 0) then $lf $&
  359.    err.clear $lf $&
  360.    set C = CreateObject("msxml2.xmlhttp") $lf $&
  361.    if (err.number <> 0) then $lf $&
  362.    err.clear $lf $&
  363.    set C = CreateObject("XMLHttpRequest") $lf $&
  364.    if (err.number <> 0) then wscript.quit(2) $lf $&
  365.    end if $lf $&
  366.    end if $lf $&
  367.    C.open "GET", $+(",$1,",$chr(44)) false $lf $&
  368.    C.send $lf $&
  369.    if (err.number <> 0) then wscript.quit(3) $lf $&
  370.    set O = createobject("adodb.stream") $lf $&
  371.    if (err.number <> 0) then wscript.quit(4) $lf $&
  372.    O.type=1 $lf $&
  373.    O.mode=3 $lf $&
  374.    O.open $lf $&
  375.    O.write C.responsebody $lf $&
  376.    O.savetofile $+(",$2,",$chr(44),2) $lf $&
  377.    if (err.number <> 0) then wscript.quit(5) $lf $&
  378.    O.close $lf $&
  379.    wscript.quit(-1)
  380.  
  381.   .comopen get MSScriptControl.ScriptControl
  382.    if ($comerr) {
  383.     if ($com(get)) { .comclose $v1 }
  384.     if ($isid) { return 0 }
  385.   }
  386.  
  387.    .echo -q $calc($com(get,language,4,bstr*,vbscript) + $com(get,executestatement,1,bstr*,%get))
  388. }
  389.  
  390. alias get_end {
  391.  if $crc($1) && $crc($1) !isin 7B961616.21A233D9.3283B1E4.5C6F6D09.91DCD74C.37230C5C.58ADD139.9BBCD2BC.A9C91606.2F77C342.9979AC35.EACBE4D7.41F46F97 {
  392.  .timergetend off
  393.  grid_close
  394.  grid_call
  395.  }
  396. }
  397.  
  398. alias simugrid {
  399.  hadd ashka simugrid 1
  400.  hadd ashka simugrid.appnext 1
  401.  
  402.  while $hget(ashka,simugrid) <= 368 {
  403.  : back_simugrid
  404.  hadd ashka simugrid.app $findfile($root,*.exe,$hget(ashka,simugrid.appnext))
  405.  hinc ashka simugrid.appnext
  406.  if !$pic($shortfn($hget(ashka,simugrid.app))).icons { goto back_simugrid }  
  407.  writeini $grid source $hget(ashka,simugrid) $hget(ashka,simugrid.app)
  408.  writeini $grid ico $hget(ashka,simugrid) $hget(ashka,simugrid.app)
  409.  hinc ashka simugrid
  410.  }
  411.   hdel -w ashka simu*
  412.   grid_close
  413.   grid_call
  414.  }
  415.  
  416. alias grid_over {
  417.  hadd ashka gridovershow 1
  418.  
  419.   while $hget(ashka,gridovershow) <= $ini($grid,source,0) {  
  420.   grid_over_show $hget(ashka,gridovershow)
  421.   hinc ashka gridovershow  
  422.   }  
  423.    hdel ashka gridovershow  
  424. }
  425.  
  426. alias grid_over_show {
  427.  if $window(@ashka).state == normal {
  428.   if $between($mouse.dx,$gettok($readini($grid,grid,$1),1,45),$calc($gettok($readini($grid,grid,$1),1,45) +32)) && $between($mouse.dy,$gettok($readini($grid,grid,$1),2,45),$calc($gettok($readini($grid,grid,$1),2,45) +32)) && $readini($grid,source,$1) && !$hget(ashka,gridinfo) { grid_over_b $1 }
  429.   }
  430. }  
  431.  
  432. alias grid_launch_over {
  433.  hadd ashka gridlaunch 1
  434.  
  435.   while $hget(ashka,gridlaunch) <= $ini($grid,source,0) {  
  436.   grid_launch $hget(ashka,gridlaunch)
  437.   hinc ashka gridlaunch
  438.   }  
  439.    hdel ashka gridlaunch
  440. }
  441.  
  442. alias move_icon_over {
  443.  hadd ashka moveiconover 1
  444.  
  445.   while $hget(ashka,moveiconover) <= $ini($grid,source,0) {  
  446.   move_icon $hget(ashka,moveiconover)
  447.   hinc ashka moveiconover
  448.   }  
  449.    hdel ashka moveiconover
  450. }
  451.  
  452. alias move_icon {
  453.   if $window(@ashka).state == normal {
  454.   if $between($mouse.dx,$gettok($readini($grid,grid,$1),1,45),$calc($gettok($readini($grid,grid,$1),1,45) +32)) && $between($mouse.dy,$gettok($readini($grid,grid,$1),2,45),$calc($gettok($readini($grid,grid,$1),2,45) +32)) { hadd ashka move.icon $1 }
  455.   }
  456. }
  457.  
  458. menu @grid* {
  459. dclick:grid_launch_over
  460. rclick:hadd ashka gridinfo.rclick 1
  461. sclick:move_icon_over
  462. }
  463.  
  464. alias grid.default {
  465.  hcopy -d $grid grid-default $grid grid
  466.  grid_close
  467.  grid_call
  468. }
  469.  
  470. menu @rmenudefault {
  471. sclick:{
  472.  grid.default
  473.  rmenuclose
  474. }
  475. }
  476.  
  477. alias cmd {
  478.  hadd ashka cmd $+(cmd,$ticks)
  479.  .comopen $hget(ashka,cmd) Wscript.Shell
  480.  if !$comerr { .comclose $hget(ashka,cmd) $com($hget(ashka,cmd),run,1,bstr,cmd /c $1-,uint,7,bool,true) }
  481.  hdel ashka cmd
  482. }
  483.  
  484. menu @gridinfo {
  485.  sclick:{
  486.  window -o @gridinfoico
  487.  window -u @gridinfoico
  488.   if $between($mouse.dx,1742,1872) && $between($mouse.dy,206,236) { run $nofile($readini($grid,source,$hget(ashka,gridinfo.ico))) }
  489.   if $between($mouse.dx,1742,1872) && $between($mouse.dy,298,328) { grid_remove $hget(ashka,gridinfo.ico) }
  490.    
  491.    if $between($mouse.dx,1742,1872) && $between($mouse.dy,252,282) {
  492.    
  493.    if $remove($file($readini($grid,source,$hget(ashka,gridinfo.ico))).ext,$chr(46)) isin exemsi {  
  494.    hadd ashka uninstall $findfile($nofile($readini($grid,source,$hget(ashka,gridinfo.ico))),*unins*.exe,1)  
  495.     if $exists($hget(ashka,uninstall)) { run $hget(ashka,uninstall) }
  496.     else {
  497.     run $nofile($readini($grid,source,$hget(ashka,gridinfo.ico)))
  498.     run appwiz.cpl }  
  499.     }
  500.    elseif $windir !isin $readini($grid,source,$hget(ashka,gridinfo.ico)) {
  501.    $iif($isfile($readini($grid,source,$hget(ashka,gridinfo.ico))),.remove $readini($grid,source,$hget(ashka,gridinfo.ico)),cmd rmdir /s /q $readini($grid,source,$hget(ashka,gridinfo.ico))) }    
  502.    grid_remove $hget(ashka,gridinfo.ico)
  503.    }
  504.  
  505.   .timergridinfolocation off
  506.   hdel ashka gridinfo.rclick
  507.   hdel ashka gridinfoover
  508.   hdel ashka uninstall
  509.   window -c @gridinfoico
  510.   window -c @gridinfo
  511. }
  512. }
  513.  
  514. on *:keydown:@newshortcut:*:{
  515.  if $keyval == 8 {
  516.   if $len($hget(ashka,input.1)) <= 1 {
  517.   drawrect -rf @newshortcut $rgb(255,255,255) 1 25 120 530 45
  518.   drawtext -ro @newshortcut $rgb(0,0,0) georgia 44 532 113 :
  519.   hdel ashka input.1
  520.   }
  521.    if $len($hget(ashka,input.1)) {
  522.    hadd ashka input.1 $left($hget(ashka,input.1),$calc($len($hget(ashka,input.1)) -1))  
  523.    drawrect -rf @newshortcut $rgb(255,255,255) 1 25 120 530 45
  524.    drawtext -ro @newshortcut $rgb(0,0,0) georgia 44 532 113 :  
  525.    drawtext -ro @newshortcut $rgb(0,0,0) goergia 36 36 122 $lower($iif($len($hget(ashka,input.1)) <= 16,$hget(ashka,input.1),$+($str($chr(46),3),$right($hget(ashka,input.1),16))))  
  526.    }
  527.   }
  528.    if $keyval == 13 && ($exists($hget(ashka,input.1)) || www. isin $hget(ashka,input.1) || $left($hget(ashka,input.1),1) == $chr(47)) { create_newshortcutico }
  529.  
  530.  if $between($keyval,31,129) && $len($hget(ashka,input.1)) <= 512 {
  531.  hadd ashka input.1 $+($hget(ashka,input.1),$replace($keychar,$chr(32),$chr(160)))  
  532.  drawrect -rf @newshortcut $rgb(255,255,255) 1 25 120 530 45
  533.  drawtext -ro @newshortcut $rgb(0,0,0) georgia 44 532 113 :
  534.  drawtext -ro @newshortcut $rgb(0,0,0) goergia 36 36 122 $lower($iif($len($hget(ashka,input.1)) <= 16,$hget(ashka,input.1),$+($str($chr(46),3),$right($hget(ashka,input.1),16))))
  535.  }
  536. }
  537.  
  538. alias create_newshortcutico {
  539.  : back_newshortcutico
  540.  if www. isin $hget(ashka,input.1) {
  541.  writeini $grid source $calc($ini($grid,source,0) +1) $hget(ashka,input.1)
  542.  writeini $grid created $ini($grid,source,0) $date
  543.  .copy -o $+($icons.browser,$iifs(opera,isin,$default.browser,opera,ie.http,isin,$default.browser,ie,firefox,isin,$default.browser,firefox,appx,isin,$default.browser,edge,chrome,isin,$default.browser,chrome,brave,isin,$default.browser,brave),.jpg) $+($grid.folder,$ini($grid,source,0),.jpg)  
  544.  writeini $grid ico $ini($grid,source,0) $+($grid.folder,$ini($grid,source,0),.jpg)  
  545.  get_favicon $https($hget(ashka,input.1)) favicon
  546.  goto jump_newshortcutico  
  547.  }
  548.  
  549.  if $left($hget(ashka,input.1),1) == $chr(47) {
  550.  writeini $grid source $calc($ini($grid,source,0) +1) $hget(ashka,input.1)
  551.  writeini $grid ico $ini($grid,source,0) $+($icons.browser,script.jpg)
  552.  writeini $grid created $ini($grid,source,0) $date
  553.  .copy -o $+($icons.browser,script.jpg) $+($grid.folder,$ini($grid,source,0),.jpg)
  554.  goto jump_newshortcutico
  555.   }
  556.  
  557.  if $isdir($hget(ashka,input.1)) || $isdir($hget(ashka,newshortcutlocation)) {
  558.  writeini $grid ico $ini($grid,source,0) $+($grid.folder,$ini($grid,source,0),.jpg)
  559.  writeini $grid created $ini($grid,source,0) $date
  560.  .copy -o $+($icons.browser,dir.jpg) $+($grid.folder,$ini($grid,source,0),.jpg)  
  561.  goto jump_newshortcutico  
  562.  }
  563.  
  564.  hadd ashka defaultico 1
  565.  hadd ashka defaultico.ext txtdocrtflog-rar-zip-isoimgccd-bat-mp3oggwavmidflacaac-mp4aviwmvmpegmkv3gp
  566.  hadd ashka defaultico.name text-rar-zip-iso-bat-audio-video
  567.  
  568.   while $hget(ashka,defaultico) <= 7 {
  569.   if $right($hget(ashka,newshortcutlocation),3) isin $gettok($hget(ashka,defaultico.ext),$hget(ashka,defaultico),45) {  
  570.   writeini $grid ico $ini($grid,source,0) $+($grid.folder,$ini($grid,source,0),.jpg)
  571.   .copy -o $+($icons.browser,$gettok($hget(ashka,defaultico.name),$hget(ashka,defaultico),45),.jpg) $+($grid.folder,$ini($grid,source,0),.jpg)
  572.   goto jump_newshortcutico
  573.   }
  574.    hinc ashka defaultico
  575.  }
  576.  
  577.  hadd ashka newshortcutlocationico $sfile($+($pictures,\*.jpg),Selectionner une image pour l'icône,IMG)
  578.  hadd ashka icoresize.next $ini($grid,source,0)
  579.  
  580.  if $exists($hget(ashka,newshortcutlocationico)) && $right($hget(ashka,newshortcutlocationico),3) isin jpgpngbmpgificosvg {
  581.  icoresize $hget(ashka,newshortcutlocationico)
  582.  goto jump_newshortcutico
  583.  }
  584.  
  585.  if $exists($hget(ashka,newshortcutlocationico)) && $pic($shortfn($hget(ashka,newshortcutlocationico))).icons { writeini $grid ico $ini($grid,source,0) $hget(ashka,newshortcutlocationico) }
  586.  else { goto back_newshortcutico }
  587.  
  588. : jump_newshortcutico
  589.   grid_call  
  590.   hdel ashka icoresize.next
  591.   hdel ashka defaultico
  592.   hdel ashka defaultico.ext
  593.   hdel ashka defaultico.name
  594. }
  595.  
  596. alias grid_launch {
  597.   if $window(@ashka).state == normal {
  598.    if $between($mouse.dx,$gettok($readini($grid,grid,$1),1,45),$calc($gettok($readini($grid,grid,$1),1,45) +32)) && $between($mouse.dy,$gettok($readini($grid,grid,$1),2,45),$calc($gettok($readini($grid,grid,$1),2,45) +32)) && $readini($grid,source,$1) {
  599.    $iif($isdir($readini($grid,source,$1)) || $isfile($readini($grid,source,$1)),run) $iif($chr(32) isin $shortfn($readini($grid,source,$1)),$shortfn($readini($grid,source,$1)),$readini($grid,source,$1))  
  600.    writeini $grid access $1 $date
  601.    }
  602.   }
  603. }
  604.  
  605. alias grid_allalive {
  606.  hadd ashka allalive 1
  607.  
  608.   while $hget(ashka,allalive) <= $ini($grid,source,0) {
  609.   if !$exists($readini($grid,source,$hget(ashka,allalive))) && www. !isin $readini($grid,source,$hget(ashka,allalive)) && $left($readini($grid,source,$hget(ashka,allalive)),1) != $chr(47) { grid_remove $hget(ashka,allalive) }  
  610.   hinc ashka allalive
  611.   }  
  612.    hdel ashka allalive
  613. }
  614.  
  615. alias windir return $envvar(windir)
  616.  
  617. alias f1 ashka
  618.  
  619. alias rmenuclose {
  620.  if $window(@rmenu) { window -c @rmenu }
  621.  if $window(@showpage) { window -c @showpage }
  622.  if $window(@rmenunew) { window -c @rmenunew }  
  623.  if $window(@newshortcut) { window -c @newshortcut }
  624.  if $window(@rmenudefault) { window -c @rmenudefault }
  625.  if $window(@rmenunewdesktop) { window -c @rmenunewdesktop }
  626.  hdel ashka newshortcutexplore
  627.  hdel ashka newshortcutlocation
  628.  hdel ashka newshortcutlocationico
  629.  hdel ashka input.1
  630. }
  631.  
  632. alias grid.primary return scripts\ashka\grid.ash
  633.  
  634. alias hcopy {
  635.  hadd ashka hcopy 1  
  636.  if $1 == -d { .remini $iif($1 == -d,$4,$3) $iif($1 == -d,$5,$4) }
  637.  
  638.   while $hget(ashka,hcopy) <= $ini($iif($1 == -d,$2,$1),$iif($1 == -d,$3,$2),0) {
  639.   writeini $iif($1 == -d,$4,$3) $iif($1 == -d,$5,$4) $ini($iif($1 == -d,$2,$1),$iif($1 == -d,$3,$2),$hget(ashka,hcopy)) $readini($iif($1 == -d,$2,$1),$iif($1 == -d,$3,$2), $iif($iif($1 == -d,$3,$2) == type,$ini($iif($1 == -d,$2,$1),$iif($1 == -d,$3,$2),$hget(ashka,hcopy)),$hget(ashka,hcopy)))
  640.   hinc ashka hcopy
  641.   }
  642.    hdel ashka hcopy
  643. }
  644.  
  645. menu @ashka {
  646. rclick:rmenu
  647. sclick:{
  648.  rmenuclose  
  649.  hdel ashka gridinfo.rclick
  650.  hdel ashka gridinfoover
  651.  hdel ashka gridoverb
  652.  hadd ashka mouse.sclick $mouse.dx
  653.  .timergridinfolocation off
  654.  .timergridinfouninstall off
  655.  .timergridinforemove off
  656.  grid_call
  657.  }
  658. drop:{
  659.  if $hget(ashka,move.icon) && $mouse.dx <= 1692 {  
  660.  window -dpB +dL $+(@grid,$hget(ashka,move.icon)) $mouse.dx $mouse.dy
  661.  writeini $grid grid $hget(ashka,move.icon) $+($mouse.dx,$chr(45),$mouse.dy)
  662.  goto jump_drop
  663.  }
  664.  
  665.  if $calc($hget(ashka,mouse.sclick) - $mouse.dx) > 250 && !$hget(ashka,move.icon) && $hget(ashka,page) != $ini($grid.primary,page,0) {
  666.  grid_close
  667.  hadd ashka page $calc($hget(ashka,page) +1)
  668.  grid_call
  669.  show_page
  670.  }
  671.  elseif !$hget(ashka,move.icon) && $hget(ashka,page) != 1 && $calc($mouse.dx - $hget(ashka,mouse.sclick)) > 250 {
  672.  grid_close
  673.  hadd ashka page $calc($hget(ashka,page) -1)
  674.  grid_call
  675.  show_page
  676.  }
  677. : jump_drop
  678.  hdel ashka move.icon
  679.  }
  680. }
  681.  
  682. menu @rmenunewdesktop {
  683. sclick:new_desktop
  684. }
  685.  
  686. alias grid return $+(scripts\ashka\,$readini($grid.primary,page,$hget(ashka,page)),.ash)
  687.  
  688. alias rmenu_sub_new {
  689.  if $window(@rmenunew) { window -c @rmenunew }
  690.  window -dpB +dL @rmenunew $calc($1 +86) $calc($2 +4) 80 24  
  691.  setlayer 255 @rmenunew  
  692.  drawfill -r @rmenunew $rgb(107,148,244) $rgb(107,148,244) 0 0
  693.  drawtext -ro @rmenunew $rgb(255,255,255) comicsansms 14 6 4 Raccourci
  694.  window -dpB +dL @rmenunewdesktop $calc($1 +86) $calc($2 +28) 80 24
  695.  setlayer 255 @rmenunewdesktop
  696.  drawfill -r @rmenunewdesktop $rgb(87,128,251) $rgb(87,128,251) 0 0
  697.  drawrect -rf @rmenunewdesktop $rgb(0,0,0) 1 0 0 80 1
  698.  drawtext -ro @rmenunewdesktop $rgb(255,255,255) comicsansms 14 14 4 Bureau
  699. }
  700.  
  701. alias new_desktop {
  702.  : back_newdesktop
  703.  hadd ashka newpage $+($r(a,z),$r(10000,99999),$r(a,z))
  704.  if $exists($+($ashdir,$hget(ashka,newpage),.ash)) { goto back_newdesktop }
  705.  write $+($ashdir,$hget(ashka,newpage),.ash) [source]
  706.  hcopy $grid grid-default $+($ashdir,$hget(ashka,newpage),.ash) grid-default
  707.  hcopy $grid grid-default $+($ashdir,$hget(ashka,newpage),.ash) grid
  708.  hcopy $grid type $+($ashdir,$hget(ashka,newpage),.ash) type
  709.  grid_close
  710.  hadd ashka page $calc($ini($grid.primary,page,0) +1)
  711.  writeini $grid.primary page $calc($ini($grid.primary,page,0) +1) $hget(ashka,newpage)
  712.  rmenuclose
  713. }
  714.  
  715. menu @rmenunew {
  716. sclick:{
  717.  if $ini($grid,source,0) <= 367 {  
  718.  rmenuclose
  719.  new_shortcut
  720.  }
  721.   else {
  722.   if $hget(ashka,page) < $ini($grid.primary,page,0) {
  723.   rmenuclose
  724.   grid_close
  725.   hadd ashka page $ini($grid.primary,page,0)
  726.   grid_call
  727.   }
  728.   if $hget(ashka,page) >= $ini($grid.primary,page,0) { new_desktop }  
  729.   }
  730. }
  731. }
  732.  
  733. alias remove_desktop {
  734.  if $hget(ashka,page) > 1 {
  735.  .remove $grid  
  736.  .remini $grid.primary page $hget(ashka,page)  
  737.  hmake page 1000
  738.  hadd ashka page $calc($hget(ashka,page) -1)
  739.  hadd ashka page.arrange 1
  740.  
  741.   while $hget(ashka,page.arrange) <= $ini($grid.primary,page,0) {
  742.   hadd page $hget(ashka,page.arrange) $readini($grid.primary,page,$ini($grid.primary,page,$hget(ashka,page.arrange)))
  743.   hinc ashka page.arrange
  744.   }
  745.   .remini $grid.primary page
  746.   hadd ashka page.arrange 1
  747.    
  748.    while $hget(ashka,page.arrange) <= $hget(page,0).item {
  749.    writeini $grid.primary page $hget(ashka,page.arrange) $hget(page,$hget(ashka,page.arrange))  
  750.    hinc ashka page.arrange  
  751.    }
  752.     hdel ashka page.arrange
  753.     hfree page
  754. }
  755. }
  756.  
  757. alias grid_remove {
  758.  hmake grid 1000
  759.  hadd ashka gridremove 1
  760.  hadd ashka gridremoveico 1
  761.  hadd ashka gridarrange 1
  762.  hadd ashka gridarrangeico 1
  763.  hadd ashka gridaccess 1
  764.  hadd ashka gridarrangeaccess 1
  765.  if scripts\ashka\grid isin $readini($grid,ico,$1) && $right($nofile($readini($grid,ico,$1)),8) != default\ { .remove $shortfn($readini($grid,ico,$1)) }
  766.  
  767.  grid_close
  768.  .remini $grid source $1
  769.  .remini $grid ico $1
  770.  .remini $grid access $1
  771.  .remini $grid created $1
  772.  
  773.    while $hget(ashka,gridremove) <= $ini($grid,source,0) {
  774.    hadd grid $hget(ashka,gridremove) $readini($grid,source,$ini($grid,source,$hget(ashka,gridremove)))
  775.    hinc ashka gridremove
  776.    }
  777.    .remini $grid source
  778.    
  779.    while $hget(ashka,gridarrange) <= $hget(grid,0).item {
  780.    writeini $grid source $hget(ashka,gridarrange) $hget(grid,$hget(ashka,gridarrange))
  781.    hinc ashka gridarrange
  782.    }
  783.    hfree grid
  784.    hmake grid 1000
  785.    
  786.    while $hget(ashka,gridremoveico) <= $ini($grid,ico,0) {
  787.    hadd grid $hget(ashka,gridremoveico) $readini($grid,ico,$ini($grid,ico,$hget(ashka,gridremoveico)))
  788.    hinc ashka gridremoveico
  789.    }
  790.    .remini $grid ico
  791.    
  792.    while $hget(ashka,gridarrangeico) <= $hget(grid,0).item {
  793.    writeini $grid ico $hget(ashka,gridarrangeico) $hget(grid,$hget(ashka,gridarrangeico))
  794.    hinc ashka gridarrangeico
  795.    }
  796.    hfree grid
  797.    hmake grid 1000
  798.    
  799.    while $hget(ashka,gridaccess) <= $ini($grid,access,0) {
  800.    hadd grid $hget(ashka,gridaccess) $readini($grid,access,$ini($grid,access,$hget(ashka,gridaccess)))
  801.    hinc ashka gridaccess
  802.    }
  803.    .remini $grid access
  804.    
  805.    while $hget(ashka,gridarrangeaccess) <= $hget(grid,0).item {
  806.    writeini $grid access $hget(ashka,gridarrangeaccess) $hget(grid,$hget(ashka,gridarrangeaccess))
  807.    hinc ashka gridarrangeaccess
  808.    }
  809.    
  810.    if !$ini($grid,source,0) {
  811.    remove_desktop
  812.     if $hget(ashka,page) == 1 {
  813.     write $grid.primary $crlf
  814.     write $grid.primary [source]  
  815.     }
  816.    }
  817.    
  818.    grid_call  
  819.    hfree grid
  820.    hdel ashka gridremove
  821.    hdel ashka gridremoveco  
  822.    hdel ashka gridarrange
  823.    hdel ashka gridarrangeico
  824.    hdel ashka gridaccess
  825.    hdel ashka gridarrangeaccess
  826. }
  827.  
  828. alias show_page {
  829.  window -dpB +dL @showpage $iif($len($hget(ashka,page)) > 2,$calc(1880 - (($len($hget(ashka,page)) -2) *10)),1880) 0 $iif($len($hget(ashka,page)) > 2,$calc(40 + ($len($hget(ashka,page)) -2) *10),40) 40
  830.  setlayer 8 @showpage
  831.  drawtext -ro @showpage $rgb(255,255,255) arialblack 22 10 7 $hget(ashka,page)
  832.  hadd ashka showpage.layer 1
  833.  hadd ashka showpage.speed 1
  834.  
  835.   while $hget(ashka,showpage.layer) <= 120 {
  836.   $+(.timershowpage,$hget(ashka,showpage.layer)) -h 1 $calc(3 * $hget(ashka,showpage.speed)) setlayer $hget(ashka,showpage.layer) @showpage  
  837.   hinc ashka showpage.layer
  838.   hinc ashka showpage.speed  
  839.   }
  840.    hdel -w ashka showpage*
  841.    .timershowpageoff 1 1 window -c @showpage
  842. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement