forum.vdsworld.com Forum Index forum.vdsworld.com
Visit VDSWORLD.com
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


[Open Source]: Windows Shell
Goto page 1, 2  Next
 
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> Visual DialogScript Open Source Projects
View previous topic :: View next topic  
Author Message
FreezingFire
Admin Team


Joined: 23 Jun 2002
Posts: 3508

PostPosted: Thu Aug 22, 2002 7:37 pm    Post subject: [Open Source]: Windows Shell Reply with quote

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
View user's profile Send private message Visit poster's website
Garrett
Moderator Team


Joined: 04 Oct 2001
Posts: 2146
Location: A House

PostPosted: Fri Aug 23, 2002 4:34 am    Post subject: Reply with quote

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 Sad
Back to top
View user's profile Send private message
Skit3000
Admin Team


Joined: 11 May 2002
Posts: 2166
Location: The Netherlands

PostPosted: Tue Aug 27, 2002 5:43 pm    Post subject: Reply with quote

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
View user's profile Send private message
laurent_H
Contributor
Contributor


Joined: 30 Jun 2001
Posts: 60

PostPosted: Thu Aug 29, 2002 12:19 am    Post subject: Reply with quote

I'm interested in
_________________
Thanks
Back to top
View user's profile Send private message Send e-mail Visit poster's website
FreezingFire
Admin Team


Joined: 23 Jun 2002
Posts: 3508

PostPosted: Thu Aug 29, 2002 10:01 pm    Post subject: Reply with quote

OK, I will realse the code as soon as it's ready...
_________________
FreezingFire
VDSWORLD.com
Site Admin Team
Back to top
View user's profile Send private message Visit poster's website
FreezingFire
Admin Team


Joined: 23 Jun 2002
Posts: 3508

PostPosted: Thu Aug 29, 2002 11:17 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
Mac
Professional Member
Professional Member


Joined: 08 Jul 2000
Posts: 1585
Location: Oklahoma USA

PostPosted: Fri Aug 30, 2002 2:53 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
SnarlingSheep
Professional Member
Professional Member


Joined: 13 Mar 2001
Posts: 759
Location: Michigan

PostPosted: Fri Aug 30, 2002 3:29 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
Garrett
Moderator Team


Joined: 04 Oct 2001
Posts: 2146
Location: A House

PostPosted: Fri Aug 30, 2002 5:02 am    Post subject: Reply with quote

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
View user's profile Send private message
Mac
Professional Member
Professional Member


Joined: 08 Jul 2000
Posts: 1585
Location: Oklahoma USA

PostPosted: Fri Aug 30, 2002 6:49 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
FreezingFire
Admin Team


Joined: 23 Jun 2002
Posts: 3508

PostPosted: Fri Aug 30, 2002 1:20 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
SnarlingSheep
Professional Member
Professional Member


Joined: 13 Mar 2001
Posts: 759
Location: Michigan

PostPosted: Fri Aug 30, 2002 5:14 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
Mac
Professional Member
Professional Member


Joined: 08 Jul 2000
Posts: 1585
Location: Oklahoma USA

PostPosted: Fri Aug 30, 2002 5:39 pm    Post subject: Reply with quote

LOL sheep, Laughing

I musta removed @datetime(t) and left the long
one in when I was messing with it last night. Embarassed

Maybe I should just go back to sleep... Confused

Cheers, Mac Smile

_________________
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
View user's profile Send private message Send e-mail
FreezingFire
Admin Team


Joined: 23 Jun 2002
Posts: 3508

PostPosted: Fri Aug 30, 2002 6:34 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
Skit3000
Admin Team


Joined: 11 May 2002
Posts: 2166
Location: The Netherlands

PostPosted: Fri Aug 30, 2002 7:14 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> Visual DialogScript Open Source Projects All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
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




Twitter@vdsworld       RSS

Powered by phpBB © 2001, 2005 phpBB Group