Oleh: RAM.5nd,( ramasp@yahoo.com ) Majalah Xcode edisi 12
yang kutemukan sendiri dari sebuah pencarian panjang dan berlikuliku(nggak segitunya kalee!). Tapi mungkin banyak yang sudah mengetahui cara ini, dan akan semakin banyak lagi yang tahu kalau artikel ini dimuat(maunya...☺).
Kelamaan ya? Yo wiss, kita langsung ke Reff-nya aja,OK... Ehm, ehm!
Settingan desktop kita ternyata terdapat pada file Desktop.htt,(search pake “Cari” aja...). Disitu ada script html yang digenerate windows dari pengaturan Display Properties Desktop dan dari file Deskmovr.htt atau Safemode.htt (Safemode.htt dipakai untuk Restore Active Desktop) yang terdapat pada direktori “Windows\Web”. Nah, dari file-file HyperText Template(.htt) itulah kita bisa memodifikasi tampilan desktop kita layaknya halaman web, termasuk juga menambahkan scriptscript untuk membuat tampilan desktop menjadi lebih atraktif, misalnya JavaScript.
Ada dua cara untuk melakukannya:
Cara pertama, dengan memodifikasi Deskmovr.htt dan Safemode.htt:
1. Buka direktori “:\Windows\Web”
2. Backup Deskmovr.htt asli dengan cara merename file Deskmovr.htt menjadi
DeskmovrBackup.htt
3. Selanjutnya terserah Anda(ikuti petunjuk selanjutnya atau buat Deskmovr.htt sendiri)
4. Buka notepad...
----------------------------Copy script di bawah ini -------------------------------
<SCRIPT language=JavaScript>
//Pengaturan Warna
Text='desktop';//warna TulisanLuar
Angka='selected item';//warna AngkaJam
Detik='white';//warna penunjuk Detik
Menit='white';//warna penunjuk Menit
Jam='white';//warna penunjuk Jam
//Pengaturan Posisi dan Kecepatan
ClockFromMouseY=77; //posisi mouse vertikal dari pusat jam
ClockFromMouseX=37; //posisi mouse horisontal dari pusat jam
step=0.03; //kecepatan putaran text luar
follow=20;
speed=0.6;
//Pengaturan Text/TulisanLuar
hari=new Array("MINGGU","SENIN","SELASA","RABU","KAMIS","JUMAT","SABTU");
bulan=new
Array("JANUARI","FEBRUARI","MARET","APRIL","MEI","JUNI","JULI","AGUSTUS","SEPTEMBER","OKTOBER","NOV
EMBER","DESEMBER");
sekarang=new Date();
tanggal=sekarang.getDate();
tahun=sekarang.getYear();
if (tahun < 2000) tahun=tahun+1900;
//Untuk isi tulisan luar bisa kamu ganti dengan, misalnya nama kamu.
TulisanLuar=" "+hari[sekarang.getDay()]+" "+tanggal+" "+bulan[sekarang.getMonth()]+" "+tahun;
D=TulisanLuar.split('');
H='...';
H=H.split('');
M='....';
M=M.split('');
I
X Code | Issue #12
Yogyafree © 2009
-29-
S='.....';
S=S.split('');
ClockHeight=40;
ClockWidth=40;
Face='1 2 3 4 5 6 7 8 9 10 11 12';
font='Arial';
size=1;
ns=(document.layers);
ie=(document.all);
Face=Face.split(' ');
n=Face.length;
a=size*10;
ymouse=0;
xmouse=0;
scrll=0;
props="<font face="+font+" size="+size+" color="+Angka+"><B>";
props2="<font face="+font+" size="+size+" color="+Text+"><B>";
Split=360/n;
Dsplit=360/D.length;
HandHeight=ClockHeight/4.5
HandWidth=ClockWidth/4.5
HandY=-7;
HandX=-2.5;
scrll=0;
currStep=0;
y=new Array();x=new Array();Y=new Array();X=new Array();
for (i=0; i < n; i++){y[i]=0;x[i]=0;Y[i]=0;X[i]=0}
Dy=new Array();Dx=new Array();DY=new Array();DX=new Array();
for (i=0; i < D.length; i++){Dy[i]=0;Dx[i]=0;DY[i]=0;DX[i]=0}
if (ns){
for (i=0; i < D.length; i++)
document.write('<layer name="nsDate'+i+'" top=0 left=0 height='+a+'
width='+a+'><center>'+props2+D[i]+'</font></center></layer>');
for (i=0; i < n; i++)
document.write('<layer name="nsFace'+i+'" top=0 left=0 height='+a+'
width='+a+'><center>'+props+Face[i]+'</font></center></layer>');
for (i=0; i < S.length; i++)
document.write('<layer name=nsSeconds'+i+' top=0 left=0 width=15 height=15><font face=Arial
size=3 color='+Detik+'><center><b>'+S[i]+'</b></center></font></layer>');
for (i=0; i < M.length; i++)
document.write('<layer name=nsMinutes'+i+' top=0 left=0 width=15 height=15><font face=Arial size=3
color='+Menit+'><center><b>'+M[i]+'</b></center></font></layer>');
for (i=0; i < H.length; i++)
document.write('<layer name=nsHours'+i+' top=0 left=0 width=15 height=15><font face=Arial size=3
color='+Jam+'><center><b>'+H[i]+'</b></center></font></layer>');
}
if (ie){
document.write('<div id="Od" style="position:absolute;top:0px;left:0px"><div
style="position:relative">');
for (i=0; i < D.length; i++)
document.write('<div id="ieDate" style="position:absolute;top:0px;left:0;height:'+a+';width:'+a+';textalign:
center">'+props2+D[i]+'</B></font></div>');
document.write('</div></div>');
document.write('<div id="Of" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < n; i++)
document.write('<div id="ieFace" style="position:absolute;top:0px;left:0;height:'+a+';width:'+a+';textalign:
center">'+props+Face[i]+'</B></font></div>');
document.write('</div></div>');
document.write('<div id="Oh" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < H.length; i++)
document.write('<div id="ieHours" style="position:absolute;width:16px;height:16px;fontfamily:
Arial;font-size:16px;color:'+Jam+';text-align:center;font-weight:bold">'+H[i]+'</div>');
document.write('</div></div>');
document.write('<div id="Om" style="position:absolute;top:0px;left:0px"><div
style="position:relative">');
for (i=0; i < M.length; i++)
document.write('<div id="ieMinutes" style="position:absolute;width:16px;height:16px;fontfamily:
Arial;font-size:16px;color:'+Menit+';text-align:center;font-weight:bold">'+M[i]+'</div>');
document.write('</div></div>')
document.write('<div id="Os" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
X Code | Issue #12
Yogyafree © 2009
-30-
for (i=0; i < S.length; i++)
document.write('<div id="ieSeconds" style="position:absolute;width:16px;height:16px;fontfamily:
Arial;font-size:16px;color:'+Detik+';text-align:center;font-weight:bold">'+S[i]+'</div>');
document.write('</div></div>')
}
(ns)?window.captureEvents(Event.MOUSEMOVE):0;
function Mouse(evnt){
ymouse = (ns)?evnt.pageY+ClockFromMouseY-(window.pageYOffset):event.y+ClockFromMouseY;
xmouse = (ns)?evnt.pageX+ClockFromMouseX:event.x+ClockFromMouseX;
}
(ns)?window.onMouseMove=Mouse:document.onmousemove=Mouse;
function ClockAndAssign(){
time = new Date ();
secs = time.getSeconds();
sec = -1.57 + Math.PI * secs/30;
mins = time.getMinutes();
min = -1.57 + Math.PI * mins/30;
hr = time.getHours();
hrs = -1.575 + Math.PI * hr/6+Math.PI*parseInt(time.getMinutes())/360;
if (ie){
Od.style.top=window.document.body.scrollTop;
Of.style.top=window.document.body.scrollTop;
Oh.style.top=window.document.body.scrollTop;
Om.style.top=window.document.body.scrollTop;
Os.style.top=window.document.body.scrollTop;
}
for (i=0; i < n; i++){
var F=(ns)?document.layers['nsFace'+i]:ieFace[i].style;
F.top=y[i] + ClockHeight*Math.sin(-1.0471 + i*Split*Math.PI/180)+scrll;
F.left=x[i] + ClockWidth*Math.cos(-1.0471 + i*Split*Math.PI/180);
}
for (i=0; i < H.length; i++){
var HL=(ns)?document.layers['nsHours'+i]:ieHours[i].style;
HL.top=y[i]+HandY+(i*HandHeight)*Math.sin(hrs)+scrll;
HL.left=x[i]+HandX+(i*HandWidth)*Math.cos(hrs);
}
for (i=0; i < M.length; i++){
var ML=(ns)?document.layers['nsMinutes'+i]:ieMinutes[i].style;
ML.top=y[i]+HandY+(i*HandHeight)*Math.sin(min)+scrll;
ML.left=x[i]+HandX+(i*HandWidth)*Math.cos(min);
}
for (i=0; i < S.length; i++){
var SL=(ns)?document.layers['nsSeconds'+i]:ieSeconds[i].style;
SL.top=y[i]+HandY+(i*HandHeight)*Math.sin(sec)+scrll;
SL.left=x[i]+HandX+(i*HandWidth)*Math.cos(sec);
}
for (i=0; i < D.length; i++){
var DL=(ns)?document.layers['nsDate'+i]:ieDate[i].style;
DL.top=Dy[i] + ClockHeight*1.5*Math.sin(currStep+i*Dsplit*Math.PI/180)+scrll;
DL.left=Dx[i] + ClockWidth*1.5*Math.cos(currStep+i*Dsplit*Math.PI/180);
}
currStep-=step;
}
function Delay(){
scrll=(ns)?window.pageYOffset:0;
Dy[0]=Math.round(DY[0]+=((ymouse)-DY[0])*speed);
Dx[0]=Math.round(DX[0]+=((xmouse)-DX[0])*speed);
for (i=1; i < D.length; i++){
Dy[i]=Math.round(DY[i]+=(Dy[i-1]-DY[i])*speed);
Dx[i]=Math.round(DX[i]+=(Dx[i-1]-DX[i])*speed);
}
y[0]=Math.round(Y[0]+=((ymouse)-Y[0])*speed);
x[0]=Math.round(X[0]+=((xmouse)-X[0])*speed);
for (i=1; i < n; i++){
y[i]=Math.round(Y[i]+=(y[i-1]-Y[i])*speed);
x[i]=Math.round(X[i]+=(x[i-1]-X[i])*speed);
}
ClockAndAssign();
setTimeout('Delay()',follow); //kecepatan text mengikuti mouse
}
if (ns||ie)window.onload=Delay;
X Code | Issue #12
Yogyafree © 2009
-31-
</SCRIPT>
---------------------------------------Paste di notepad------------------------------------------------
lalu Save As: Deskmovr.htt di folder “:/Windows/Web”
5. Lakukan hal yang sama pada Safemode.htt bila perlu.
Itu tadi cara pertama. Kalau akses kita ke folder Windows dibatasi Administrator, kita bisa pake cara kedua, yaitu mengedit langsung Desktop.htt lalu set menjadi Read Only:
1. Buka file desktop.htt pada direktori “:\Documents and settings\user name\Application Data\Microsoft\Internet Explorer” (set dulu folder options-viewnya menjadi Show hidden files and folders)
2. Edit Desktop.htt, Save, lalu set atributnya menjadi Read Only(klik kanan file desktop.htt, pilih Properties, centang Read Only)
3. Contoh mengedit desktop.htt: Paste-kan script ke dalam file desktop.htt, yaitu sebelum tag </body> kemudian Save dan set attributnya menjadi Read Only(kalau tidak, desktop.htt kita akan direplace windows!!!).
Terakhir, kita harus mengaktifkan “Active Desktop” untuk membuat desktop kita menjadi “browser” dan script html(.htt) kita ditampilkan sebagai halaman web pada desktop. Ada dua cara mengaktifkan “Active Desktop”:
Pertama, dengan menyembunyikan ikon desktop
klik kanan pada background desktop, pada Arrange Icons By > Show Desktop Icons –
kosongkan centangnya
Kedua, dengan cara mengunci Web Desktop Icons
klik kanan pada background desktop, pada Arrange Icons By > Lock Web Desktop Icons –
beri centang.
Cara mematikan scriptnya adalah kebalikan dari kedua cara diatas.
Bisa kan? see you leter...
Terima kasih.