View previous topic :: View next topic |
Author |
Message |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Thu Aug 22, 2002 7:37 pm Post subject: [Open Source]: Windows Shell |
|
|
I am going to start a project replicating [almost] the entire Windows shell. This would include the following:
A desktop (perhaps we could find a DLL to use an icon list with large icons, like you can in delphi)
A taskbar (perhaps we could find somewhere a DLL that had bevels, which are the "sunken" parts of a dialog, they are look lower, like in the time and taskicon part of your taskbar) using buttons and a dialog
A start menu, we could use LiquidCode's icon menu source for starters or just a plain popup, and a shortcut bar.
Other DLL's we would use might be:
Blowfish (for passwords)
VDSDLL3/VDSDLL27
Some others...
If anyone's interested, just tell me and I'll make this open-source. _________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
Back to top |
|
 |
Garrett Moderator Team
Joined: 04 Oct 2001 Posts: 2149 Location: A House
|
Posted: Fri Aug 23, 2002 4:34 am Post subject: |
|
|
There is a dll for use out there that allows other languages to have a system tray, and maybe with the gadget.dll you could use this dll to add a system tray to your shell.
I remember seeing reference to this dll on some site for the Lite Step for Windows.
I don't remember the name of the dll or the URL to the site where I saw the reference. Sorry  |
|
Back to top |
|
 |
Skit3000 Admin Team

Joined: 11 May 2002 Posts: 2166 Location: The Netherlands
|
Posted: Tue Aug 27, 2002 5:43 pm Post subject: |
|
|
The "sunken" parts are just GROUP-elements without a Caption...
I also think that you can make your own encryption program, so you don't have to use Blowfish... |
|
Back to top |
|
 |
laurent_H Contributor


Joined: 30 Jun 2001 Posts: 60
|
Posted: Thu Aug 29, 2002 12:19 am Post subject: |
|
|
I'm interested in _________________ Thanks |
|
Back to top |
|
 |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Thu Aug 29, 2002 10:01 pm Post subject: |
|
|
OK, I will realse the code as soon as it's ready... _________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
Back to top |
|
 |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Thu Aug 29, 2002 11:17 pm Post subject: |
|
|
Here's a quick taskbar I made in a few minutes...
Code: | title VDS-indows
DIALOG CREATE,Start Menu,@DIFF(@SYSINFO(SCREENHEIGHT),32),0,800,32,NOTITLE,ONTOP
DIALOG ADD,STYLE,CENETERED,,,C,,
DIALOG ADD,BUTTON,start,4,6,64,24,Start
DIALOG ADD,GROUP,GROUP1,2,700,90,28
DIALOG ADD,TEXT,TIME,10,702,84,13,@datetime(t),@datetime(dddddd),CENETERED
DIALOG SHOW
:Evloop
wait event,30
goto @event()
:Timer
dialog set,time,@datetime(t)
:startBUTTON
DIALOG POPUP,Run...|Shut Down,0,24
goto evloop
:run...menu
%%run = @input(Run:)
if @ok()
run @chr(34)%%run@chr(34)
end
goto evloop
:shut downmenu
if @ask(Do you want to exit this script?)
warn You can also shut down the computer by changing this code...
exit
end
goto evloop
:Close
exit |
_________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
Back to top |
|
 |
Mac Professional Member

Joined: 08 Jul 2000 Posts: 1585 Location: Oklahoma USA
|
Posted: Fri Aug 30, 2002 2:53 am Post subject: |
|
|
I played around with this some, it should auto size
for whatever screen res you use. Or you can set the
"%%barheight" var to whatever ya want...
I had to remove the mouseover on the TEXT element,
VDS3 doesn't support it (VDS3 group elements aren't
sunken as skit mentioned either). This should run on
VDS3 and VDS4 (I think...).
Also, the "Shut Down" menu just exits the program.
Maybe it'll give ya some ideas...
__________________________________________________________________________________________________________________________
Code: |
%%width = @sysinfo(SCREENWIDTH)
%%height = @sysinfo(SCREENHEIGHT)
%%barheight = @div(@sysinfo(SCREENHEIGHT), 16)
TITLE VDS-indows
DIALOG CREATE,Task Bar,@diff(%%height, %%barheight),0,%%width,%%barheight,NOTITLE,ONTOP
DIALOG ADD,STYLE,Light,,,,$00EEEEEE
DIALOG ADD,STYLE,Dark,,,,$00777777
DIALOG ADD,STYLE,S1,MS Sans Serif,8
DIALOG ADD,STYLE,S2,MS Sans Serif,8,B
DIALOG ADD,TEXT,Line1,0,0,%%width,2,,,Light
DIALOG ADD,TEXT,Line2,4,@diff(%%width,150),146,1,,Dark
DIALOG ADD,TEXT,Line3,@diff(%%barheight, 4),@diff(%%width,150),146,1,,Light
DIALOG ADD,TEXT,Line4,4,@diff(%%width,150),1,@diff(%%barheight, 8),,Dark
DIALOG ADD,TEXT,Line5,4,@diff(%%width,4),1,@diff(%%barheight, 8),,Light
DIALOG ADD,BUTTON,Start,4,2,56,@diff(%%barheight, 6),@chr(167)" Start",,S2
DIALOG ADD,TEXT,Time,@diff(@div(%%barheight, 2),6),@diff(%%width, 54),,,@datetime(t),,S1
DIALOG SHOW
:EVLOOP
WAIT EVENT, 15
goto @event()
:TIMER
DIALOG SET, Time, @datetime(t)
goto EVLOOP
:StartBUTTON
DIALOG POPUP,Run...|Shut Down,,56
goto EVLOOP
:Run...MENU
%i = @input(Run:)
if %i
RUN @chr(34)%i@chr(34)
end
goto EVLOOP
:Shut DownMENU
:CLOSE
EXIT
|
Cheers, Mac _________________ VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
 |
|
Back to top |
|
 |
SnarlingSheep Professional Member


Joined: 13 Mar 2001 Posts: 759 Location: Michigan
|
Posted: Fri Aug 30, 2002 3:29 am Post subject: |
|
|
It's only sunken if you add the BITBTN element.
Then the time is greyed out of course, but could set a text element on top of it.
Code: |
title VDS-indows
DIALOG CREATE,Start Menu,@DIFF(@SYSINFO(SCREENHEIGHT),32),0,800,32,NOTITLE,ONTOP
DIALOG ADD,STYLE,CENTERED,,,C,,
DIALOG ADD,BUTTON,start,4,6,64,24,Start
DIALOG ADD,GROUP,GROUP1,2,650,145,28
DIALOG ADD,BITBTN,Time,3,651,144,26,,@datetime(t),CENTERED
DIALOG SHOW
DIALOG DISABLE,Time
:Evloop
wait event,30
goto @event()
:Timer
dialog set,time,@datetime(t)
:startBUTTON
DIALOG POPUP,Run...|Shut Down,0,24
goto evloop
:run...menu
%%run = @input(Run:)
if @ok()
run @chr(34)%%run@chr(34)
end
goto evloop
:shut downmenu
if @ask(Do you want to exit this script?)
warn You can also shut down the computer by changing this code...
exit
end
goto evloop
:Close
exit
|
_________________ -Sheep
My pockets hurt... |
|
Back to top |
|
 |
Garrett Moderator Team
Joined: 04 Oct 2001 Posts: 2149 Location: A House
|
Posted: Fri Aug 30, 2002 5:02 am Post subject: |
|
|
Code: | Option ErrorTrap,ErrorBranch
Option Decimalsep,.
Option Fieldsep,|
Option Scale,96
Option Sleeptime,100
title VDS-indows
%%ProgramName = VDS-indows
WINDOW HIDE,Program Manager
DIALOG CREATE,VDS-indows,@DIFF(@SYSINFO(SCREENHEIGHT),32),0,@SYSINFO(SCREENWIDTH),32,NOTITLE,ONTOP
DIALOG ADD,STYLE,CENETERED,,,C,,
DIALOG ADD,BUTTON,BACK,0,-2,@sum(@SYSINFO(SCREENWIDTH),4),34," ",
DIALOG ADD,BUTTON,start,4,6,64,24,Start
DIALOG ADD,GROUP,GROUP1,4,@DIFF(@SYSINFO(SCREENWIDTH),93),90,26
DIALOG ADD,TEXT,TIMEBACK,5,@DIFF(@SYSINFO(SCREENWIDTH),92),88,24
DIALOG ADD,TEXT,TIME,11,@DIFF(@SYSINFO(SCREENWIDTH),89),84,11,@datetime(t),@datetime(dddddd),CENETERED
DIALOG SHOW
DIALOG DISABLE,BACK
%%Status = 1
:Evloop
wait event,0
%E = @event()
goto %E
:Timer
If @not(@equal(@dlgtext(time),@datetime(t)))
dialog set,time,@datetime(t)
End
If @equal(%%Status,0)
parse "%X;%Y",@mousepos()
If @greater(%Y,@DIFF(@SYSINFO(SCREENHEIGHT),5))
%%Null = 2
Repeat
Window Position,VDS-indows,@DIFF(@SYSINFO(SCREENHEIGHT),%%Null),0,@SYSINFO(SCREENWIDTH),32
%%Null = @succ(%%Null)
Until @equal(%%Null,33)
%%Status = 1
%%VisibleTimer = 0
End
Goto evloop
End
If @equal(%%Status,1)
parse "%X;%Y",@mousepos()
If @not(@greater(%Y,@DIFF(@SYSINFO(SCREENHEIGHT),32)))
%%VisibleTimer = @succ(%%VisibleTimer)
If @greater(%%VisibleTimer,10)
%%Null = 32
Repeat
Window Position,VDS-indows,@DIFF(@SYSINFO(SCREENHEIGHT),%%Null),0,@SYSINFO(SCREENWIDTH),32
%%Null = @fsub(%%Null,1)
Until @equal(%%Null,1)
%%Status = 0
End
Goto evloop
End
goto evloop
:startBUTTON
DIALOG POPUP,Run...|Shut Down,0,24
goto evloop
:run...menu
%%run = @input(Run:)
if @ok()
run @chr(34)%%run@chr(34)
end
goto evloop
:shut downmenu
if @ask(Do you want to exit this script?)
rem warn You can also shut down the computer by changing this code...
Goto Close
end
goto evloop
:Close
WINDOW NORMAL,Program Manager
exit
:ErrorBranch
WINDOW NORMAL,Program Manager
%%Null = @MSGBOX("An error has occured with the "@chr(34)%%ProgramName@chr(34)@cr()"program. You may wish to write down the following"@cr()"information and report this to author of the program:"@cr()@cr()"Error Code:"@tab()@error(E)@cr()"Line Number:"@tab()@error(N)@cr()"Event Status:"@tab()%E@cr()@cr()"Please report the error information to:"@cr()@tab()"??????",Program Error,$010)
STOP |
|
|
Back to top |
|
 |
Mac Professional Member

Joined: 08 Jul 2000 Posts: 1585 Location: Oklahoma USA
|
Posted: Fri Aug 30, 2002 6:49 am Post subject: |
|
|
Thanks for the group info guys.
Here it is again with fake icons in the systray. Also
defined the time, since ya'll apparently use a long
time format (still no mouseover on the time).
Code: |
%%width = @sysinfo(SCREENWIDTH)
%%height = @sysinfo(SCREENHEIGHT)
%%barheight = @div(@sysinfo(SCREENHEIGHT), 16)
OPTION SCALE, 96
OPTION DECIMALSEP, "."
TITLE VDS-indows
DIALOG CREATE,Task Bar,@diff(%%height, %%barheight),0,%%width,%%barheight,NOTITLE,ONTOP
DIALOG ADD,STYLE,Light,,,,$00EEEEEE
DIALOG ADD,STYLE,S1,MS Sans Serif,8
DIALOG ADD,STYLE,S2,MS Sans Serif,8,B
DIALOG ADD,TEXT,Line1,0,0,%%width,2,,,Light
DIALOG ADD,GROUP,Tray,4,@diff(%%width,150),146,@diff(%%barheight, 6)
DIALOG ADD,TEXT,TrayBack,5,@diff(%%width,149),144,@diff(%%barheight, 8)
DIALOG ADD,BUTTON,Start,4,2,56,@diff(%%barheight, 6),@chr(167)" Start",,S2
DIALOG ADD,TEXT,Time,@diff(@div(%%barheight, 2),6),@diff(%%width, 54),,,@datetime(h:nn AM/PM),,S1
rem -- Fake icons --
DIALOG ADD,STYLE,F1,Wingdings,16,,B,DKBLUE
DIALOG ADD,STYLE,F2,Wingdings,16,,B,YELLOW
DIALOG ADD,STYLE,F3,Wingdings,16,,B,DKRED
DIALOG ADD,STYLE,F4,Wingdings,16,,B,BLACK
DIALOG ADD,TEXT,Fake1,@diff(@div(%%barheight, 2),10),@diff(%%width,149),20,20,@chr(58),,F1
DIALOG ADD,TEXT,Fake2,@diff(@div(%%barheight, 2),10),@diff(%%width,129),20,20,@chr(60),,F2
DIALOG ADD,TEXT,Fake3,@diff(@div(%%barheight, 2),10),@diff(%%width,109),20,20,@chr(88),,F3
DIALOG ADD,TEXT,Fake4,@diff(@div(%%barheight, 2),10),@diff(%%width,92),30,20,@chr(44),,F4
DIALOG SHOW
:EVLOOP
WAIT EVENT, 10
goto @event()
:TIMER
DIALOG SET, Time, @datetime(h:nn AM/PM)
goto EVLOOP
:StartBUTTON
DIALOG POPUP,Run...|Shut Down,,56
goto EVLOOP
:Run...MENU
%i = @input(Run:)
if %i
RUN @chr(34)%i@chr(34)
end
goto EVLOOP
:Shut DownMENU
:CLOSE
EXIT
|
Cheers, Mac _________________ VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
 |
|
Back to top |
|
 |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Fri Aug 30, 2002 1:20 pm Post subject: |
|
|
Here's a simple desktop script...you can download the bitmaps from
http://www.vdsworld.com/index.php?page=download&fileid=211
Code: | Title Desktop
DIALOG CREATE,Desktop,-1,0,799,542
DIALOG ADD,STYLE,BACKCOLOR,,,,008040,008040
DIALOG ADD,BITBTN,MyComp,12,10,82,70,mycomputer.bmp,My Computer
DIALOG ADD,BITBTN,MyDocs,90,10,82,70,mydocuments.bmp,My Documents
DIALOG ADD,BITBTN,RecycleBin,168,10,82,70,recyclebin.bmp,Recycle Bin
DIALOG SHOW
:Evloop
wait event
goto @event()
:MyCompBUTTON
goto evloop
:MyDocsBUTTON
goto evloop
:RecycleBinBUTTON
goto evloop
:Close
exit |
_________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
Back to top |
|
 |
SnarlingSheep Professional Member


Joined: 13 Mar 2001 Posts: 759 Location: Michigan
|
Posted: Fri Aug 30, 2002 5:14 pm Post subject: |
|
|
We were using DATETIME(t) which is the short version, the long one was for the tool tip. _________________ -Sheep
My pockets hurt... |
|
Back to top |
|
 |
Mac Professional Member

Joined: 08 Jul 2000 Posts: 1585 Location: Oklahoma USA
|
Posted: Fri Aug 30, 2002 5:39 pm Post subject: |
|
|
LOL sheep,
I musta removed @datetime(t) and left the long
one in when I was messing with it last night.
Maybe I should just go back to sleep...
Cheers, Mac  _________________ VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
 |
|
Back to top |
|
 |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Fri Aug 30, 2002 6:34 pm Post subject: |
|
|
Here's a tooltip, I figure I spent about 45 minutes trying to get this to show on mouseover of the time, but I can't. If you want to try it, here's the code...
Code: | DIALOG CREATE,Tooltip,-1,0,163,15,NOTITLE,ONTOP
DIALOG ADD,STYLE,BLACK,,,,BLACK
DIALOG ADD,STYLE,TOOLTIP,,,C,FFFFB7,BLACK
DIALOG ADD,TEXT,BACK,0,0,163,15,BACK,,BLACK
DIALOG ADD,TEXT,TOOLTIP1,1,1,161,13,@DATETIME(DDDDDD),,TOOLTIP
DIALOG SHOW
wait 1 |
_________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
Back to top |
|
 |
Skit3000 Admin Team

Joined: 11 May 2002 Posts: 2166 Location: The Netherlands
|
Posted: Fri Aug 30, 2002 7:14 pm Post subject: |
|
|
This is an example of how to make a mouseover effect:
Code: |
%%width = @sysinfo(SCREENWIDTH)
%%height = @sysinfo(SCREENHEIGHT)
%%barheight = @div(@sysinfo(SCREENHEIGHT), 16)
OPTION SCALE, 96
OPTION DECIMALSEP, "."
TITLE VDS-indows
DIALOG CREATE,Task Bar,@diff(%%height, %%barheight),0,%%width,%%barheight,NOTITLE,ONTOP
DIALOG ADD,STYLE,Light,,,,$00EEEEEE
DIALOG ADD,STYLE,S1,MS Sans Serif,8
DIALOG ADD,STYLE,S2,MS Sans Serif,8,B
DIALOG ADD,TEXT,Line1,0,0,%%width,2,,,Light
DIALOG ADD,GROUP,Tray,4,@diff(%%width,150),146,@diff(%%barheight, 6)
DIALOG ADD,TEXT,TrayBack,5,@diff(%%width,149),144,@diff(%%barheight, 8)
DIALOG ADD,BUTTON,Start,4,2,56,@diff(%%barheight, 6),@chr(167)" Start",,S2
DIALOG ADD,TEXT,Time,@diff(@div(%%barheight, 2),6),@diff(%%width, 54),,,@datetime(h:nn AM/PM),,S1
rem -- Fake icons --
DIALOG ADD,STYLE,F1,Wingdings,16,,B,DKBLUE
DIALOG ADD,STYLE,F2,Wingdings,16,,B,YELLOW
DIALOG ADD,STYLE,F3,Wingdings,16,,B,DKRED
DIALOG ADD,STYLE,F4,Wingdings,16,,B,BLACK
DIALOG ADD,TEXT,Fake1,@diff(@div(%%barheight, 2),10),@diff(%%width,149),20,20,@chr(58),,F1
DIALOG ADD,TEXT,Fake2,@diff(@div(%%barheight, 2),10),@diff(%%width,129),20,20,@chr(60),,F2
DIALOG ADD,TEXT,Fake3,@diff(@div(%%barheight, 2),10),@diff(%%width,109),20,20,@chr(88),,F3
DIALOG ADD,TEXT,Fake4,@diff(@div(%%barheight, 2),10),@diff(%%width,92),30,20,@chr(44),,F4
DIALOG SHOW
:EVLOOP
WAIT EVENT,1
%%event = @event(D)
if @greater(@mousepos(y),@diff(%%height,%%barheight))
if @greater(@mousepos(x),@diff(%%width,54))
if @greater(@diff(%%width,10),@mousepos(x))
if @greater(@diff(%%height,2),@mousepos(y))
gosub Tooltip
goto TIMER|0
end
end
end
end
goto %%event
:TIMER|1
:TIMER|0
DIALOG SET, Time, @datetime(h:nn AM/PM)
goto EVLOOP
:StartBUTTON|0
DIALOG POPUP,Run...|Shut Down,,56
goto EVLOOP
:Run...MENU|0
%i = @input(Run:)
if %i
RUN @chr(34)%i@chr(34)
end
goto EVLOOP
:Shut DownMENU|0
:CLOSE|0
EXIT
:Tooltip
DIALOG CREATE,Tooltip,@diff(@mousepos(y),15),@diff(@mousepos(x),150),163,15,NOTITLE,ONTOP
DIALOG ADD,STYLE,BLACK,,,,BLACK
DIALOG ADD,STYLE,TOOLTIP,,,C,FFFFB7,BLACK
DIALOG ADD,TEXT,BACK,0,0,163,15,BACK,,BLACK
DIALOG ADD,TEXT,TOOLTIP1,1,1,161,13,@DATETIME(DDDDDD),,TOOLTIP
DIALOG SHOW
%%mousex = @mousepos(x)
%%mousey = @mousepos(y)
repeat
wait 0.1
until @not(@equal(%%mousex,@mousepos(x))),@not(@equal(%%mousey,@mousepos(y)))
wait 1
dialog close
dialog select,0
exit
:CLOSE|1
goto evloop |
I think that it can be made a lot better, cause I don't know how to make a if @equal(%1,%2) AND @equal(%3,%4), but this is a good start...
Btw. I think it is hard to make a Taskbar like Windows has.. Try this:
Code: |
list create,1
list winlist,1,N
info @text(1)
list close,1 |
It will show ALL running programs + some programs without a name....
I've tried before to make my own shell, but it never worked proper...
Last edited by Skit3000 on Fri Aug 30, 2002 7:23 pm; edited 1 time in total |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You can attach files in this forum You can download files in this forum
|
|