Recommended Posts

Well, I try this desktop enviroment...

The truth, in the image looks awesome...

And I'm pretty sure that it is...But for some strange reason, after I finished config my system for use it, I try it out...

My all windows collapse... I can't even navigate from window to window...

I had to say that the idea is incredible... I like it a lot!!!!

But I am to mmm how to say it... "stupid" but in a sence more inocent....to configure this kind of script...

I know it is simple... but I get pretty confused making the script compatible with my system...

Maybe if a program comes out that alows the user put the info for a more simple work...

Wel... Greate idea, greate desktop....to hard (at least for me) to config with my system.-.. :( :( :( :(

hi @ all

my problem is,

where/how can i change the browser to my default browser like firebird or Avant ?

everytime i click on google search or internet link it open IE ;)

can anybody help me ?

thx in advance

i just got rid of the google bar.. i'm in your situation.. i just added a link under "Internet"

Alright.... I did it! :D

Thanks to the help of a friend I know.... we were able to make this winamp controls work.

So all you have to do is:

1: download this plugin and put it in your plugins directory for winamp

2: Right below where it says:

<!-- Internet Links -->
<div id="netLinks">
 	 <span class="title">i n t e r n e t : : . .</span><br />

Add this long line of code to it:

<html>
	<head>
  <title>AmpBar</title>
  <style> /*rgb(216,216,216); A7A7A7, 5A728A, BAC6D1*/
 	 body { 
    background-color: buttonface;/*white; */
    margin: 5,0,0,0; 
    border-width: 0 1 0 0; 
    border-color: white;
    cursor: normal;

    background-repeat: no-repeat;
    background-position: 808px -31px;
 	 }
 	 img	{
    border: 0; 
    cursor: hand; 
 	 }
 	 a {
    text-decoration: none; 
 	 }
 	 .iconBack	{ 
    cursor: default; 
    /*border: 1 solid black; background-color: gray*/
 	 } 
 	 .iconOver	{
    cursor: default; 
    /*border: 1 solid black; background-color: black*/
 	 } 
 	 #CurrentSong { 
    position: absolute;
     right:250px;
       top:100px;
    margin: 3,0,0,0;
    color: black; 
    font-family: small Fonts; 
    font-size: 9px;
    cursor: default;
 	 }
 	 #SongPositionC {
    overflow: hidden;
    width: expression(document.all.SongPosition.style.pixelWidth + document.all.AntiSongPosition.style.pixelWidth);
    height: 16px;
 	 }
 	 
 	 #SongPosition {
    display: inline;
    height: 16px;
    cursor: hand;
 	 
 	 }
 	 #AntiSongPosition {
    display: inline;
    height: 16px;
    cursor: hand;
 	 
 	 
  </style>
  <script language="JavaScript">
  /* USER VARIABLES */

    var winAmpPath = "C:\\Program Files\\Winamp\\winamp.exe"; // winAmpPath
    
    var mouseDownExt = "_down"; // extention to the bitmap name just before the .gif for mouse down events (ex: "_down")
    var mouseUpExt = ""; 	 // extention to the bitmap name just before the .gif for mouse up events
    var mouseOverExt = ""; 	 // extention to the bitmap name just before the .gif for mouse over events
    var mouseOutExt = ""; 	 // extention to the bitmap name just before the .gif for mouse out events
    
    var winAmpLaunchTime = 2;  // time it takes to launch winamp in seconds
    var winAmpExitTime = 1;  // time it takes to exit winamp in seconds

    var reloadInterval = 0.5;	// time in seconds between each info update in seconds
    
    var WelcomeMessage = "Loading info... Please wait...";	// you know...	
    var GoodbyeMessage = "Goodbye :)";
    
    var updatePosition = true;	// should the song position be updated.

  /* END USER VARIABLES */
 	 
  /* 
 	 other variables
  */
 	 var updateT; // update timer
 	 var updating = false; // if we updating the current song info 
 	 var objWinAmp; // winamp com object
 	 var mouseIsdown = false; // if the left mouse button if pushed down
 	 
  /* 
 	 i() and o() open and close WinampCOM ActiveX Object
  */
 	 function i() { if (!objWinAmp) objWinAmp = new ActiveXObject("WinampCOM.Application"); }
 	 function o() { objWinAmp = null; }
 	 
  /* 
 	 Handled events
  */
 	 function domousedown() { domouse(mouseDownExt); mouseIsdown = true; }
 	 function domouseup() { domouse(mouseUpExt); mouseIsdown = false; }
 	 function domouseover() { domouse(mouseOverExt) }
 	 function domouseout() { domouse(mouseOutExt) }
 	 
  /* 
 	 Mouse settings
  */
 	 function domouse(type) {
    var Element = event.srcElement;
    if ( Element.tagName.toUpperCase() == "IMG" && Element.id && Element.hover=="true" )
   	 Element.src = Element.id + type + ".gif"; // sets to the id of the element, the type, and then .gif
   	 
 	 }
 	 
  /* 
 	 Update timer functions
  */
 	 function startUpdate() { // recursive reload info function
    ReloadInfo();
    updateT = setInterval("ReloadInfo()", reloadInterval * 1000);
 	 }
 	 function stopUpdate() { // clears the timer set by update()
    clearInterval(updateT);
 	 }
 	 function switchUpdate() { // updating function
    if (!updating) {
   	 window.location.href = "run:" + winAmpPath;
   	 CurrentSong.innerHTML = WelcomeMessage;
   	 setTimeout('startUpdate();updating = true;', winAmpLaunchTime * 1000);
    } else {
   	 stopUpdate();
   	 updating = false;
   	 CurrentSong.innerHTML = GoodbyeMessage;
   	 if (updatePosition) {
      document.all.SongPosition.style.pixelWidth = 0;
      document.all.AntiSongPosition.style.pixelLeft = document.all.SongPosition.style.pixelLeft + document.all.SongPosition.style.pixelWidth;
      document.all.AntiSongPosition.style.pixelWidth = totalWidth - document.all.SongPosition.style.pixelWidth;
   	 }
   	 WinampClose();
   	 setTimeout('CurrentSong.innerHTML = "";', winAmpExitTime * 1000);
      
    }
 	 }
  /* 
 	 ReloadInfo reloads the current info. Called by the timer.
  */
 	 function ReloadInfo() {
    // opening
    i();
 	 
    // getting info
    sTitle = objWinAmp.CurrentSongTitle;

    sLength = "";
    if (objWinAmp.CurrentSongLength> 0) 
   	 sLength =  Math.floor(objWinAmp.CurrentSongLength/60) + ":" + 
        ( (objWinAmp.CurrentSongLength%60>=10) ? objWinAmp.CurrentSongLength%60 : "0"+objWinAmp.CurrentSongLength%60);
        
    
    // song pos
    if (updatePosition)
   	 UpdatePosition();
  
    // setting info
    if (document.all.CurrentSong)
   	 document.all.CurrentSong.innerHTML = ((sTitle)?sTitle:"") + ((sLength)?" - " + sLength:"");
    
    // closing
    o();
 	 }
 	 
  /* 
 	 Position Update
  */
 	 function ChangePosition() {
    i(); 
   	 // if out of bounds or song hasn't started.
   	 if ( objWinAmp.Status == 0 || ( event.srcElement.id != "SongPosition" && event.srcElement.id != "AntiSongPosition" ) ) {
      o(); return;
   	 }
    
   	 // get total Width
   	 totalWidth = document.all.SongPosition.style.pixelWidth + document.all.AntiSongPosition.style.pixelWidth;
   	 
   	 // change first width
   	 document.all.SongPosition.style.pixelWidth = window.event.x - document.all.SongPosition.style.pixelLeft;
       	 
   	 // update based on first width
   	 document.all.AntiSongPosition.style.pixelLeft = document.all.SongPosition.style.pixelLeft + document.all.SongPosition.style.pixelWidth;
   	 document.all.AntiSongPosition.style.pixelWidth = totalWidth - document.all.SongPosition.style.pixelWidth;
    
   	 // change winamp
   	 objWinAmp.CurrentPos = (document.all.SongPosition.style.pixelWidth/totalWidth) * objWinAmp.CurrentSongLength*1000;
    o();

 	 }
 	 
 	 function UpdatePosition() {
    // get total Width
    totalWidth = document.all.SongPosition.style.pixelWidth + document.all.AntiSongPosition.style.pixelWidth;
 	 
    // get first width from winamp
    i();
   	 document.all.SongPosition.style.pixelWidth = totalWidth * (objWinAmp.CurrentPos<0?0:objWinAmp.CurrentPos/(objWinAmp.CurrentSongLength*1000));
    o();

    // update based on first width
    document.all.AntiSongPosition.style.pixelLeft = document.all.SongPosition.style.pixelLeft + document.all.SongPosition.style.pixelWidth;
    document.all.AntiSongPosition.style.pixelWidth = totalWidth - document.all.SongPosition.style.pixelWidth;
 	 }
 	 
  /* Functions to use (for onclick). */
 	 function Rewind() { i(); objWinAmp.Rewind(); o(); } // Previous song
 	 function Play() { i(); objWinAmp.Play(); o(); } // Play
 	 function Pause() { i(); objWinAmp.Pause(); o(); } // Pause
 	 function Stop() { i(); objWinAmp.Stop(); o(); } // Stop
 	 function FastForward() { i(); objWinAmp.FastForward(); o(); } // Next song
 	 function Open() { i(); objWinAmp.SendCommand(40029); o(); } // Open [file]

 	 function Prev10() { i(); objWinAmp.SendCommand(40197); o(); } // Previous 10 song
 	 function Next10() { i(); objWinAmp.SendCommand(40048); o(); } // Next 10 song

 	 function rewS() { i(); objWinAmp.Rewind5Secs(); o(); } // Rewind 5 seconds
 	 function forS() { i(); objWinAmp.FastFwd5Secs(); o(); } // Forward 5 seconds

 	 function rewSh () { if (mouseIsdown) { rewS(); setTimeout('rewSh ();',700); } }
 	 function forSh () { if (mouseIsdown) { forS(); setTimeout('forSh ();',700); } }
 	 function rewSHold() { setTimeout('rewSh ();',700);  } // Rewind 5 seconds, hold mouse for more, call with onmousedown
 	 function forSHold() { setTimeout('forSh ();',700); } // Forward 5 seconds, hold mouse for more, call with onmousedown

 	 function ToggleShufflePlay() { i(); objWinAmp.ToggleShufflePlay(); o(); } // Toggle Shuffle Play
 	 function ToggleRepeatPlay() { i(); objWinAmp.ToggleRepeatPlay(); o(); } // Toggle Repeat Play
 	 function ToggleAot() { i(); objWinAmp.SendCommand(40019); o(); } // Toggle Always on top
 	 function PutOnView() { i(); objWinAmp.SendCommand(40019); objWinAmp.SendCommand(40019); o(); } // always on top, then not always on top, so the window just goes in to view :)
 	 
 	 function ToggleShade() { i(); objWinAmp.SendCommand(40064); objWinAmp.SendCommand(40266); objWinAmp.SendCommand(40310); o(); } // window shade modes, in order : main,pl,eq 
 	 
 	 function ClearPlaylist() { i(); objWinAmp.ClearPlaylist(); o(); } // Clear the playlist
 	 function OpenDir() { i(); objWinAmp.SendCommand(40187); o(); } // Open [dir]
 	 
 	 function WinampClose() { i(); objWinAmp.SendCommand(40001); o(); } // close winamp while remembering current songs.
  /* End Functions to use */
 	 
 	 

  </script>
	</head>
	<body scroll="no" 
  onselectstart="return false;" 
  onmouseover="domouseover()" onmouseout="domouseout()" 
  onmousedown="domousedown()" onmouseup="domouseup()"
  ondblclick="switchUpdate()"
	>  
	<!-- switchUpdate() starts and stops the updating on the song in span id="CurrentSong" -->
  <div id="winamp">
  <span class="iconBack" onmouseover="this.className='iconOver'" onmouseout="this.className='iconBack'">
 	 <img src="prev.gif" id="prev" hover="true" title="..[previous [z]]" onclick="Rewind()"/> <!-- hover=true allows events on images -->
 	 <img src="play.gif" id="play" hover="true" title="..[play [x]]" onclick="Play()"/>
 	 <img src="pause.gif" id="pause" hover="true" title="..[pause [c]]" onclick="Pause()"/>
 	 <img src="stop.gif" id="stop" hover="true" title="..[stop [v]]" onclick="Stop()"/>
 	 <img src="next.gif" id="next" hover="true" title="..[next [b]]" onclick="FastForward()"/>
 	  
 	 <img src="show.gif" id="show" hover="true" title="..[put on view []]" onclick="PutOnView()"/>
 	  
 	 <img src="prev5.gif" id="prev5" hover="true" title="..[rewind 5sec [left]]" onmousedown="rewSHold()"/>
 	 <img src="next5.gif" id="next5" hover="true" title="..[forward 5sec [right]]" onmousedown="forSHold()"/>
 	  
 	 <img src="clear.gif" id="clear" hover="true" title="..[clear playlist + opendir []]" onclick="PutOnView(); ClearPlaylist(); OpenDir()"/>
 	  
 	 <br />
 	 <!-- the sum of both style widths determines the total width -->
 	 <img src="pos_l.gif"><span class="SongPositionC"><img src="pos.gif" id="SongPosition" style="width: 0px" onclick="ChangePosition()" title="" /><img src="pos_r.gif"><img src="pos_a.gif" id="AntiSongPosition" style="width: 110px" onclick="ChangePosition()" title="" /></span>
 	 <br />
  </span>
  </div>
  <span id="CurrentSong"></span>
  
	</body>
</html>

3: Download the zip file which contains all the gifs for the winamp stuff, put them in your active desktop folder.

4: Add this code to activedesktop.css:

#winamp {
	position:absolute;
	right:250px;
	top:50px;
}

Which is where you position where the controls will be on your desktop.

To show which song is currently playing.... just double click the small button that appears to do nothing. (first button second row... double clicking it again shuts down winamp)

Enjoy! :)

Screenshot:

http://members.cox.net/compwizard/Desktop2.jpg

gifs.zip

Here's how you get rid of that warning:

This next tweak is a big one. You may notice an ActiveX warning. Well, let's get rid of that annoying warning. First we need to add the "My Computer" security zone to your Internet Options: Security tab.

- Run regedit

- Navigate to: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0

- Set "FLAGS" dword value to 47

- Close regedit

- Launch Internet Explorer

- Select the "Tools" menu

- Select "Internet Options"

- Select the "Security" tab

You will notice that you have a "My Computer" security zone (if not, reboot and try relaunching Internet Explorer). Now configure your "My Computer" security zone.

- Highlight the "My Computer" zone icon

- Click "Custom Level"

- Under "ActiveX controls and plug-ins", change "Download signed ActiveX controls" to "Enable"

- Change "Download unsigned ActiveX controls" to "Enable"

- Change "Initialize and script ActiveX controls not marked as safe" to "Enable"

- Change "Run ActiveX controls and plug-ins" to "Enable"

- Chnage "Script ActiveX controls marked safe for scripting" to "Enable"

- Click "OK"

- Click "Apply"

- Click "OK"

After doing so, you will not receive any ActiveX control warnings for local files. Please note that making the above changes will not affect files located on the web (such as files on the NTFS.org website). All websites on the Internet use the "Internet Security Zone", not the "My Computer Security Zone".

hi,

i need help from anybody pls....

i dont want to use the weather and the 3 searchbars, which lines in the desktop.html must be removed for that ?

this is my code which i prepare but it bring errors....

<html>
<head>
	<!--META HTTP-EQUIV=Refresh CONTENT="600; URL="desktop.html"-->
	<title>tsDesk mod by MaDCaT75</title>

<!-- Cascading Style Sheet -->

	<link href="activedesktop.css" type="text/css" rel="stylesheet" />


<script language="javascript" type="text/javascript"

</head>



<!-- Applications/Folders -->
<div id="progList">
 	 <div align="right">


	<span class="title">. . : : Counterstrike</span><br />
	<a target="_self" onClick=" ShellExJ('E:/Spiele/Steam/steam.exe')" href="javascript:;">:: Steam :: </a><br />
	<a target="_self" onClick=" ShellExJ('E:/GameTools/HLSW/hlsw.exe')" href="javascript:;">:: HLSW :: </a><br />
	<a target="_self" onClick=" ShellExJ('E:/GameTools/teamspeak2/TeamSpeak.exe')" href="javascript:;">:: TS :: </a><br />
	<a target="_self" onClick=" ShellExJ('E:/GameTools/Cheating-Death/cdeath.exe')" href="javascript:;">:: CD :: </a><br /><br />



                      <span class="title">. . : : I n t e r n e t</span><br />
	<a target="_self" onClick=" ShellExJ('D:/Install/mIRC/mirc.exe')" href="javascript:;">:: mIRC :: </a><br />
	<a target="_self" onClick=" ShellExJ('D:/Install/ICQLite/ICQLite.exe')" href="javascript:;">:: ICQ :: </a><br />
	<a target="_self" onClick=" ShellExJ('D:/Ohne Install/FlashFXP/FlashFXP.exe')" href="javascript:;">:: FlashFXP :: </a><br />
	<a target="_self" onClick=" ShellExJ('D:/Install/Serv-U/ServUTray.exe')" href="javascript:;">:: ServU :: </a><br /><br />



  <span class="title">. . : : Goodies</span><br />
	<a target="_self" onClick=" ShellExJ('D:/Ohne Install/iShut/iShut.exe')" href="javascript:;">:: iShut :: </a><br />
	<a target="_self" onClick=" ShellExJ('D:/Ohne Install/pkcolorpicker3de/pkColorPicker.exe')" href="javascript:;">:: ColorPicker:: </a><br />
	<a target="_self" onClick=" ShellExJ('D:/Ohne Install/WinRar/WinRAR.exe')" href="javascript:;">:: WinRar :: </a><br />

                </div>
</div>

</SCRIPT>

</body>
</html>

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • This is about the EU given consumers options, Apple is all about not giving options and locking you into its own services, this hurts Apple far more than it hurts the EU market because it makes Apple products look less appealing by Apple refusing to offer its own service because they have to give options to rivals, the end results are consumers might look at alternatives like Android. It's a game Apple can't really win when there are alternatives and Apple will in time change course on this, until then, let Apple hurt themselves in the EU market.
    • Microsoft unveils new Surface Laptop with improved trackpad, Snapdragon X2, and more by Taras Buria Microsoft's new Surface Laptop Ultra generated a lot of buzz earlier this month, but in addition to its most powerful laptop with an NVIDIA chip, Microsoft also has a more affordable laptop lineup, which has been waiting for an update for quite a while. Today, Microsoft announced the eighth-generation Surface Laptop. The new Surface Laptop is powered by the Snapdragon X2 Plus and X2 Elite processors. These chips offer faster CPU performance, up to 58% faster graphics, and 80 TOPS Neural Processing Units (NPUs) for on-device AI processing. Like the previous models, these chips retain their great energy efficiency, and Microsoft says that buyers can expect up to 20 hours of work on a single charge. The laptop is available in two sizes: 13.8-inch and 15-inch. You will have a hard time finding visual differences between the new and previous models, as Microsoft is not taking any major design leaps, except for the new Jade color, which may look familiar to Surface Laptop 5 owners. Other colors include Platinum, Black, and Dune. The 15-inch variant got a higher-resolution display. It is a 3,270 x 2,180 resolution screen with a pixel density of 262 ppi (the 13-inch model has a 201 ppi density) and a maximum brightness of 600 nits SDR and HDR. Unlike the Surface Pro 12th-gen, which is available with optional OLED displays, the Surface Laptop sticks with IPS, a 1,300:1 contrast ratio, a 120Hz refresh rate, and a 3:2 aspect ratio. Another notable change in the Surface Laptop 8 is its trackpad. It now provides haptic feedback when you perform various actions in apps and the operating system. It is a relatively new feature that Microsoft brought to Windows 11 in recent updates, and it is only available on certain devices, such as the Logitech MX Master 4, Surface Slim Pen 2, the upcoming Surface Laptop Ultra, and now the Surface Laptop 8. The new Surface Laptop with the new Surface Pro Like its tablet-shaped sibling, the new Surface Laptop is notably more expensive. It starts at a $1,599 for a 13.8-inch configuration with a 256GB SSD and 16GB of RAM. However, in the US, the base model has double the storage while keeping the same price. Available configurations include up to 64GB of memory and up to 2TB SSD (user-removable PCIe Gen4). The Surface Laptop 8 is now available for purchase on the official Microsoft website.
    • Microsoft announces 12th-gen Surface Pro with Snapdragon X2 processors by Taras Buria So far, 2026 has been rich in Surface announcements. Microsoft started with a fresh lineup of Surface for Business devices powered by Intel's new Core Ultra 300 processors. Then the company revealed the Surface Laptop Ultra, its most powerful laptop with NVIDIA's RTX Spark processor. Now, it is time for new Surface Pro and Surface Laptop models with Qualcomm processors. Microsoft's original Copilot+ PCs with Snapdragon X1 chips debuted in late May 2024. Two years later, Microsoft is finally updating the lineup with new models featuring Snapdragon X2 processors. The 12th-gen Surface Pro continues the well-established formula of Microsoft's flagship tablet, and Microsoft is not even changing colors, as the tablet will be available in three colors: Dune, Black, and Platinum. The most important changes are mostly hidden inside. Microsoft switched from the Snapdragon X1 to the new Snapdragon X2, which promises up to 53% faster graphics performance than the previous generation and up to 15.5 hours of battery life. The built-in NPU is also much more powerful, and it can run at up to 80 TOPS for on-device AI processing. Like before, the new Surface Pro is available with a 13-inch IPS display, and Microsoft is still offering OLED as a separate, more expensive configuration. Speaking of configurations, the Surface Pro will be available with a 10-core Snapdragon X2 Plus or a 12-core Snapdragon X2 Elite. Microsoft expanded the available RAM configurations to 64GB (previously 32GB was the maximum), while storage remains unchanged at 256GB, 512GB, or 1TB of user-replaceable PCIe Gen4 SSDs. The new Surface Pro and the Surface Laptop Other specs remain mostly unchanged. The computer has the same 1440p Windows Hello webcam, two USB4 ports for charging, data, and display output, Wi-Fi 7 and Bluetooth 5.4 support, dual speakers, and compatibility with Surface Pro Signature and Flex keyboards. With that said, there is one very important aspect of the Surface Pro that changed significantly, and it is the price. While the previous-gen Surface Pro launched at $999 for the base configuration, in 2026, the entry-level Surface Pro with Snapdragon X2, 16GB of memory, and 256GB will set you back an eye-watering $1,499. To sweeten the pill, Microsoft is running a limited-time promotion where Surface Pro buyers can get a free Surface Pro 13-inch Keyboard. The promo runs from June 16 through June 30. The new Surface Pro is available now on the official Microsoft Store website.
    • MakeMKV 1.18.4 Beta by Razvan Serea MakeMKV is a format converter, otherwise called "transcoder". It converts the video clips from proprietary (and usually encrypted) disc into a set of MKV files, preserving most information but not changing it in any way. The MKV format can store multiple video/audio tracks with all meta-information and preserve chapters. There are many players that can play MKV files nearly on all platforms, and there are tools to convert MKV files to many formats, including DVD and Blu-ray discs. Additionally MakeMKV can instantly stream decrypted video without intermediate conversion to wide range of players, so you may watch Blu-ray and DVD discs with your favorite player on your favorite OS or on your favorite device. Reads DVD and Blu-ray discs Reads Blu-ray discs protected with latest versions of AACS and BD+ Preserves all video and audio tracks, including HD audio Preserves chapters information Preserves all meta-information (track language, audio type) Fast conversion - converts as fast as your drive can read data. No additional software is required for conversion or decryption. Available for Windows, Mac OS X and Linux Functionality to open DVD discs is free and will always stay free. All features (including Blu-ray decryption and processing) are free during BETA. MakeMKV 1.18.4 changelog: Small improvements and bugfixes Notable bug fixes: Fixed linux armhf binary crash on certain architectures Download: MakeMKV 1.18.4 Beta | 15.7 MB (Free, paid upgrade available) Download: MakeMKV for Mac OS X | 41.9 MB Links: MakeMKV Website | MakeMKV for Linux | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • One Year In
      Console General earned a badge
      One Year In
    • One Year In
      Twozo Technologies earned a badge
      One Year In
    • One Month Later
      Twozo Technologies earned a badge
      One Month Later
    • Week One Done
      Twozo Technologies earned a badge
      Week One Done
    • Veteran
      branfont went up a rank
      Veteran
  • Popular Contributors

    1. 1
      +primortal
      525
    2. 2
      +Edouard
      209
    3. 3
      PsYcHoKiLLa
      113
    4. 4
      Steven P.
      90
    5. 5
      Nick H.
      71
  • Tell a friend

    Love Neowin? Tell a friend!