TASK PANEL v2.0

1) New logic of switching windows (turnoff/restore)
2) New logic of button "clear desktop".
3) Win+D (restore/clear desktop), Win+R (start RUN application).
4) Using the library LibINI to set the parameters.
5) New style of panel.
6) Start application Menu with boot options.
7) Two versions of the location of the panel - the bottom of the desktop and on top of the desktop.


git-svn-id: svn://kolibrios.org@2619 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Marat Zakiyanov (Mario79) 2012-04-16 23:46:54 +00:00
parent caaeede667
commit c1c36c0b6a
25 changed files with 2635 additions and 1533 deletions

View File

@ -243,7 +243,7 @@ OTHER_FILES:=autorun.dat:AUTORUN.DAT \
kernel.mnt:KERNEL.MNT kerpack:KERPACK keymap.key:KEYMAP.KEY \
kuzkina.mid:KUZKINA.MID lang.inc:LANG.INC lang.ini:LANG.INI \
menu.dat:MENU.DAT \
panel.dat:PANEL.DAT setup.dat:SETUP.DAT \
panel.ini:PANEL.INI setup.dat:SETUP.DAT \
shell:SHELL table:TABLE \
vmode:VMODE 3d/3dsheart:3D/3DSHEART \
3d/cubeline:3D/CUBELINE 3d/gears:3D/GEARS 3d/house.3ds:3D/HOUSE.3DS \

View File

@ -1 +0,0 @@
0000;0000;0001;0001;0001;0001;0100;0001;0001;0001;0001;0001;x

View File

@ -0,0 +1,31 @@
[Variables]
PanelHeight=24
PanelWidth=0
SoftenHeight=5
ButtonTopOffset=4
ButtonBottOffset=2
[Flags]
SoftenUp=1
SoftenDown=0
MinLeftButton=1
MinRightButton=1
MenuButton=1
RunApplButtons=1
ClnDesktButton=1
Clock=1
CpuUsage=1
ChangeLang=1
PageList=1
Attachment=1
ButtonsStyle=1
[Colors]
MenuButton=0,100,0
ClnDesktButton=0,128,255
Clock=0,128,255
CpuUsage=0,100,0
CpuUsageBckgr=255,0,0
ChangeLang=0,128,255
PageList=255,255,255

View File

@ -249,7 +249,7 @@ OTHER_FILES:=autorun.dat:AUTORUN.DAT \
kernel.mnt:KERNEL.MNT kerpack:KERPACK keymap.key:KEYMAP.KEY \
kuzkina.mid:KUZKINA.MID lang.inc:LANG.INC lang.ini:LANG.INI \
menu.dat:MENU.DAT \
panel.dat:PANEL.DAT setup.dat:SETUP.DAT \
panel.ini:PANEL.INI setup.dat:SETUP.DAT \
shell:SHELL table:TABLE \
vmode:VMODE 3d/3dsheart:3D/3DSHEART \
3d/cubeline:3D/CUBELINE 3d/gears:3D/GEARS 3d/house.3ds:3D/HOUSE.3DS \

View File

@ -1 +0,0 @@
0000;0000;0001;0001;0001;0001;0100;0001;0001;0001;0001;0001;x

31
data/eng/panel.ini Normal file
View File

@ -0,0 +1,31 @@
[Variables]
PanelHeight=24
PanelWidth=0
SoftenHeight=5
ButtonTopOffset=4
ButtonBottOffset=2
[Flags]
SoftenUp=1
SoftenDown=0
MinLeftButton=1
MinRightButton=1
MenuButton=1
RunApplButtons=1
ClnDesktButton=1
Clock=1
CpuUsage=1
ChangeLang=1
PageList=1
Attachment=1
ButtonsStyle=1
[Colors]
MenuButton=0,100,0
ClnDesktButton=0,128,255
Clock=0,128,255
CpuUsage=0,100,0
CpuUsageBckgr=255,0,0
ChangeLang=0,128,255
PageList=255,255,255

View File

@ -173,7 +173,7 @@ OTHER_FILES:=autorun.dat:AUTORUN.DAT \
kernel.mnt:KERNEL.MNT kerpack:KERPACK keymap.key:KEYMAP.KEY \
lang.inc:LANG.INC lang.ini:LANG.INI \
menu.dat:MENU.DAT \
panel.dat:PANEL.DAT setup.dat:SETUP.DAT \
panel.ini:PANEL.INI setup.dat:SETUP.DAT \
shell:SHELL \
vmode:VMODE \
File|Managers/eolite.ini:File|Managers/EOLITE.INI \

View File

@ -1 +0,0 @@
0000;0000;0001;0001;0001;0001;0100;0001;0001;0001;0001;0001;x

31
data/new-stack/panel.ini Normal file
View File

@ -0,0 +1,31 @@
[Variables]
PanelHeight=24
PanelWidth=0
SoftenHeight=5
ButtonTopOffset=4
ButtonBottOffset=2
[Flags]
SoftenUp=1
SoftenDown=0
MinLeftButton=1
MinRightButton=1
MenuButton=1
RunApplButtons=1
ClnDesktButton=1
Clock=1
CpuUsage=1
ChangeLang=1
PageList=1
Attachment=1
ButtonsStyle=1
[Colors]
MenuButton=0,100,0
ClnDesktButton=0,128,255
Clock=0,128,255
CpuUsage=0,100,0
CpuUsageBckgr=255,0,0
ChangeLang=0,128,255
PageList=255,255,255

View File

@ -242,7 +242,7 @@ OTHER_FILES:=autorun.dat:AUTORUN.DAT \
kernel.mnt:KERNEL.MNT kerpack:KERPACK keymap.key:KEYMAP.KEY \
kuzkina.mid:KUZKINA.MID lang.inc:LANG.INC lang.ini:LANG.INI \
menu.dat:MENU.DAT \
panel.dat:PANEL.DAT pipetka:PIPETKA setup.dat:SETUP.DAT \
panel.ini:PANEL.INI pipetka:PIPETKA setup.dat:SETUP.DAT \
shell:SHELL table:TABLE vmode:VMODE \
3d/cubeline:3D/CUBELINE 3d/gears:3D/GEARS 3d/house.3ds:3D/HOUSE.3DS \
demos/ak47.lif:DEMOS/AK47.LIF \

View File

@ -1 +0,0 @@
0000;0000;0001;0001;0001;0001;0100;0001;0001;0001;0001;0001;x

31
data/rus/panel.ini Normal file
View File

@ -0,0 +1,31 @@
[Variables]
PanelHeight=24
PanelWidth=0
SoftenHeight=5
ButtonTopOffset=4
ButtonBottOffset=2
[Flags]
SoftenUp=1
SoftenDown=0
MinLeftButton=1
MinRightButton=1
MenuButton=1
RunApplButtons=1
ClnDesktButton=1
Clock=1
CpuUsage=1
ChangeLang=1
PageList=1
Attachment=1
ButtonsStyle=1
[Colors]
MenuButton=0,100,0
ClnDesktButton=0,128,255
Clock=0,128,255
CpuUsage=0,100,0
CpuUsageBckgr=255,0,0
ChangeLang=0,128,255
PageList=255,255,255

File diff suppressed because it is too large Load Diff

View File

@ -124,6 +124,8 @@ fir_lng:
;------------------------------------------------------------------------------
align 4
karu:
mov [draw_flag_certainly],1
add [key_r2],1
cmp [key_r2],3
jb .altes
@ -166,6 +168,8 @@ align 4
;------------------------------------------------------------------------------
align 4
alter:
mov [draw_flag_certainly],1
cmp [key_r],0
je .alt_1

View File

@ -0,0 +1,147 @@
macro debug_print str
{
local ..string, ..label
jmp ..label
..string db str,0
..label:
pushf
pushad
mov edx,..string
call debug_outstr
popad
popf
}
dps fix debug_print
macro debug_print_dec arg
{
pushf
pushad
if ~arg eq eax
mov eax,arg
end if
call debug_outdec
popad
popf
}
dpd fix debug_print_dec
;---------------------------------
debug_outdec: ;(eax - num, edi-str)
push 10 ;2
pop ecx ;1
push -'0' ;2
.l0:
xor edx,edx ;2
div ecx ;2
push edx ;1
test eax,eax ;2
jnz .l0 ;2
.l1:
pop eax ;1
add al,'0' ;2
call debug_outchar ; stosb
jnz .l1 ;2
ret ;1
;---------------------------------
debug_outchar: ; al - char
pushf
pushad
mov cl,al
mov eax,63
mov ebx,1
int 0x40
popad
popf
ret
debug_outstr:
mov eax,63
mov ebx,1
@@:
mov cl,[edx]
test cl,cl
jz @f
int 40h
inc edx
jmp @b
@@:
ret
_debug_crlf db 13, 10, 0
macro newline_1
{
pushf
pushad
mov edx, _debug_crlf
call debug_outstr
popad
popf
}
macro newline
{
pushf
pushad
mov edx, _debug_crlf
call debug_outstr
popad
popf
}
macro print message
{
dps message
newline
}
macro pregs
{
dps "EAX: "
dpd eax
dps " EBX: "
dpd ebx
newline
dps "ECX: "
dpd ecx
dps " EDX: "
dpd edx
newline
}
macro debug_print_hex arg
{
pushf
pushad
if ~arg eq eax
mov eax, arg
end if
call debug_outhex
popad
popf
}
dph fix debug_print_hex
debug_outhex:
; eax - number
mov edx, 8
.new_char:
rol eax, 4
movzx ecx, al
and cl, 0x0f
mov cl, [__hexdigits + ecx]
pushad
mcall 63, 1
popad
dec edx
jnz .new_char
ret
__hexdigits:
db '0123456789ABCDEF'

View File

@ -0,0 +1,144 @@
;-----------------------------------------------------------------------------
proc dll.Load, import_table:dword
mov esi,[import_table]
.next_lib:
mov edx,[esi]
or edx,edx
jz .exit
push esi
mov esi,[esi+4]
mov edi,s_libdir.fname
@@:
lodsb
stosb
or al,al
jnz @b
mcall 68,19,s_libdir
or eax,eax
jz .fail
stdcall dll.Link,eax,edx
stdcall dll.Init,[eax+4]
pop esi
add esi,8
jmp .next_lib
.exit:
xor eax,eax
ret
.fail:
add esp,4
xor eax,eax
inc eax
ret
endp
;-----------------------------------------------------------------------------
proc dll.Link, exp:dword,imp:dword
push eax
mov esi,[imp]
test esi,esi
jz .done
.next:
lodsd
test eax,eax
jz .done
stdcall dll.GetProcAddress,[exp],eax
or eax,eax
jz @f
mov [esi-4],eax
jmp .next
@@:
mov dword[esp],0
.done:
pop eax
ret
endp
;-----------------------------------------------------------------------------
proc dll.Init, dllentry:dword
pushad
mov eax,mem.Alloc ;libini_alloc
mov ebx,mem.Free ;libini_free
mov ecx,mem.ReAlloc ;libini_realloc
mov edx,dll.Load
stdcall [dllentry]
popad
ret
endp
;-----------------------------------------------------------------------------
proc dll.GetProcAddress, exp:dword,sz_name:dword
mov edx,[exp]
xor eax,eax
.next:
or edx,edx
jz .end
cmp dword[edx],0
jz .end
stdcall strcmp,[edx],[sz_name]
test eax,eax
jz .ok
add edx,8
jmp .next
.ok:
mov eax,[edx+4]
.end:
ret
endp
;-----------------------------------------------------------------------------
proc strcmp, str1:dword,str2:dword
push esi edi
mov esi,[str1]
mov edi,[str2]
xor eax,eax
@@:
lodsb
scasb
jne .fail
or al,al
jnz @b
jmp .ok
.fail:
or eax,-1
.ok:
pop edi esi
ret
endp
;-----------------------------------------------------------------------------
s_libdir:
db '/sys/lib/'
.fname rb 32
;-----------------------------------------------------------------------------
proc mem.Alloc,size
push ebx ecx
mov ecx,[size]
mcall 68,12
pop ecx ebx
ret
endp
;-----------------------------------------------------------------------------
proc mem.ReAlloc,mptr,size
push ebx ecx edx
mov ecx,[size]
or ecx,ecx
jz @f
@@:
mov edx,[mptr]
or edx,edx
jz @f
@@:
mcall 68,20
or eax,eax
jz @f
@@:
pop edx ecx ebx
ret
endp
;-----------------------------------------------------------------------------
proc mem.Free,mptr
push ebx ecx
mov ecx,[mptr]
or ecx,ecx
jz @f
@@:
mcall 68,13
pop ecx ebx
ret
endp
;-----------------------------------------------------------------------------

View File

@ -0,0 +1,196 @@
;------------------------------------------------------------------------------
align 4
draw_running_applications:
pusha
cmp [run_appl],dword 0
je .exit
call calculate_applications
cmp edi,[running_applications]
jne .noret
popa
ret
;--------------------------------------
align 4
.noret:
call draw_window
mov [running_applications],edi
call redraw_window_tabs
;--------------------------------------
align 4
.exit:
popa
ret
;------------------------------------------------------------------------------
align 4
need_window_tab:
; in: ebx->process info
; out: ZF set <=> do not draw
cmp byte [ebx+10], '@'
jz .nodraw
; do not draw undefined (zero-sized) windows
cmp dword [ebx+42], 0
jnz @f
cmp dword [ebx+46], 0
jz .nodraw
;--------------------------------------
align 4
@@:
; do not draw OpenDialog windows
push edi
mov edi, dword [ebx+10]
or edi, 0x20202020
cmp edi, 'open'
jne @f
mov edi, dword [ebx+14]
or edi, 0x20202020
cmp dword [ebx+14], 'dial'
jne @f
pop edi
jmp .nodraw
;--------------------------------------
align 4
@@:
pop edi
cmp dword [ebx+10], 'ICON'
jnz @f
cmp [ebx+42], dword 51
jnz @f
cmp [ebx+46], dword 51
jz .nodraw
;--------------------------------------
align 4
@@:
cmp [ebx+10], dword ' '
;--------------------------------------
align 4
.nodraw:
ret
;------------------------------------------------------------------------------
align 4
calculate_applications:
mov eax,[max_applications]
mul [page_list]
test eax,eax
je @f
inc eax
;--------------------------------------
align 4
@@:
mov [draw_start_position],eax
mov edi,app_list
mov ecx,20 ; show max 20 application ???!!!
mov eax,-1
cld
rep stosd
mov edi,0
mov ecx,2
;--------------------------------------
align 4
cnewpr:
mcall 9,procinfo_window_tabs
call need_window_tab
jz cnorpl
sub [draw_start_position], 1
jg cnorpl
mov [app_list+edi*4],ecx
inc edi
;--------------------------------------
align 4
cnorpl:
inc ecx
cmp eax,ecx
jge cnewpr
mov [app_tab_count], edi
ret
;------------------------------------------------------------------------------
align 4
redraw_window_tabs:
xor edi, edi
mov [contrast], 0
push ebp
mcall 18,7
mov ebp,eax
call calculate_offset_X
;--------------------------------------
align 4
.loop:
mov ecx,[app_list+edi*4]
cmp ecx,-1
jz .done
mov [active_slot_number],ecx
mcall 9,procinfo_window_tabs
imul ebx, edi, TAB_SIZE
add ebx,[offset_X]
add ebx,2
shl ebx,16
add ebx,TAB_SIZE-2 ;54
call calculate_button_y_coordinate_and_size
push edi
mov edx,[system_colours.work_button]
xor edi,edi
cmp ebp,[active_slot_number] ;ecx ; ecx=active slot number
jnz @f
mov edx,[wcolor]
inc edi
;--------------------------------------
align 4
@@:
mov esi,[current_alt_tab_app]
cmp esi,-1
jz @f
cmp ecx,[alt_tab_list+esi*8]
jnz @f
mov edx,0xFF8000 ; current select for ALT+Tab
;--------------------------------------
align 4
@@:
mov esi,[wcolor]
call draw_appl_button
pop edi
;------------------------------------------------------------------------------
add ebx,5 shl 16
mov bx,cx ;[height]
shr bx,1
sub bx,4
shr ecx,16
add bx,cx
mov edx, procinfo_window_tabs+10
mcall 4,,[system_colours.work_button_text],,11
;--------------------------------------
align 4
.nodraw:
inc edi
cmp edi, [max_applications]
jb .loop
;--------------------------------------
align 4
.done:
pop ebp
ret
;------------------------------------------------------------------------------

View File

@ -0,0 +1,180 @@
;------------------------------------------------------------------------------
align 4
draw_appl_button:
; in:
; ebx = [x]*65536 + [size x]
; ecx = [y]*65536 + [size y]
; edx = internal color 0xRRGGBB
; esi = external color 0xRRGGBB
; edi = 0 up or 1 down
COLOR_CHANGE_MAGNITUDE_0 = 0x080808
COLOR_CHANGE_MAGNITUDE = 0x101010
COLOR_CHANGE_MAGNITUDE_1 = 0x202020
COLOR_CHANGE_MAGNITUDE_2 = 0x404040
pusha
add ebx,2 shl 16
sub bx,4
add ecx,2 shl 16
sub cx,4
mcall 13
;------------------------------------------------------------------------------
; mov edx,esi
test edi,edi
jnz @f
mov eax,COLOR_CHANGE_MAGNITUDE
call add_color_change_magnitude
jmp .1
;--------------------------------------
align 4
@@:
mov eax,COLOR_CHANGE_MAGNITUDE
call subtract_color_change_magnitude
;--------------------------------------
align 4
.1:
call draw_four_extreme_lines
;------------------------------------------------------------------------------
mov edx,esi
mov eax,COLOR_CHANGE_MAGNITUDE_2
call subtract_color_change_magnitude
sub ecx,1 shl 16
add ecx,2
sub ebx,1 shl 16
add ebx,2
call draw_four_extreme_lines
;------------------------------------------------------------------------------
popa
ret
;------------------------------------------------------------------------------
align 4
draw_four_extreme_lines:
; top left point
push ebx ecx
shr ebx,16
shr ecx,16
mcall 1
pop ecx ebx
; bottom right point
push ebx ecx
movzx eax,bx
shr ebx,16
add ebx,eax
dec ebx
movzx eax,cx
shr ecx,16
add ecx,eax
dec ecx
mcall 1
pop ecx ebx
;--------------------------------------
; bottom left point
push ebx ecx
shr ebx,16
movzx eax,cx
shr ecx,16
add ecx,eax
dec ecx
mcall 1
pop ecx ebx
;--------------------------------------
; top right point
push ebx ecx
movzx eax,bx
shr ebx,16
add ebx,eax
dec ebx
shr ecx,16
mcall 1
pop ecx ebx
;--------------------------------------
; top line
push ecx
sub ecx,1 shl 16
mov cx,1
mcall 13
pop ecx
; bottom line
push ecx
mov ax,cx
shl eax,16
add ecx,eax
mov cx,1
mcall 13
pop ecx
; left line
push ebx
sub ebx,1 shl 16
mov bx,1
mcall 13
pop ebx
; right line
push ebx
mov ax,bx
shl eax,16
add ebx,eax
mov bx,1
mcall 13
pop ebx
ret
;------------------------------------------------------------------------------
align 4
subtract_color_change_magnitude:
; in:
; edx = original color
; eax = magnitude
; out:
; edx = processed color
sub dl,al
jae @f
xor dl,dl
@@:
ror edx,8
ror eax,8
sub dl,al
jae @f
xor dl,dl
@@:
ror edx,8
ror eax,8
sub dl,al
jae @f
xor dl,dl
@@:
rol edx,16
ret
;------------------------------------------------------------------------------
align 4
add_color_change_magnitude:
; in:
; edx = original color
; eax = magnitude
; out:
; edx = processed color
add dl,al
jae @f
mov dl,0xff
@@:
ror edx,8
ror eax,8
add dl,al
jae @f
mov dl,0xff
@@:
ror edx,8
ror eax,8
add dl,al
jae @f
mov dl,0xff
@@:
rol edx,16
ret
;------------------------------------------------------------------------------
calculate_button_y_coordinate_and_size:
mov ecx,[button_top_offset]
shl ecx,16
add ecx,[height]
sub ecx,[button_top_offset]
sub ecx,[button_bottom_offset]
ret

View File

@ -0,0 +1,421 @@
;------------------------------------------------------------------------------
align 4
draw_tray: ; draw cpu usage, time, date etc.
pusha
; cmp [tray_enable],dword 1
; jne no_setup
call draw_tray_buttons
call draw_time_skin
call draw_time
mov [draw_flag_certainly],1
call draw_flag ; language
call draw_list_button
;--------------------------------------
;align 4
;no_setup:
popa
ret
;------------------------------------------------------------------------------
draw_tray_buttons:
mov [offset_x_tray],0
cmp [minimize_right],dword 0
je @f
add [offset_x_tray],MR_SIZE
;--------------------------------------
align 4
@@:
mov ecx,3 shl 16
add ecx,[height]
sub cx,6
mov esi,[wcolor]
mov eax,8
;--------------------------------------
cmp [clock_enable],dword 0
je @f
add [offset_x_tray],CLOCK_SIZE
mov ebx,[max_x]
sub ebx,[offset_x_tray]
shl ebx,16
add ebx,CLOCK_SIZE-2
mov [pos_x_clock],ebx
mcall ,,,0x40000000+2 ; time/date button
;--------------------------------------
align 4
@@:
cmp [cpu_usage_enable],dword 0
je @f
add [offset_x_tray],CPU_USAGE_SIZE
mov ebx,[max_x]
sub ebx,[offset_x_tray]
shl ebx,16
add ebx,CPU_USAGE_SIZE-2
mov [pos_x_cpu_usage],ebx
mcall ,,,0x40000000+18 ;button 18 - sysmeter_name (GMON)
;--------------------------------------
align 4
@@:
cmp [chlang_enable],dword 0
je @f
add [offset_x_tray],CHLANG_SIZE
mov ebx,[max_x]
sub ebx,[offset_x_tray]
shl ebx,16
add ebx,CHLANG_SIZE-2
mov [pos_x_cpu_chlang],ebx
mcall ,,,0x40000000+16 ;button 16 - chang language
;--------------------------------------
align 4
@@:
cmp [page_list_enable],dword 0
je @f
add [offset_x_tray],PAGE_LIST_SIZE
mov ebx,[max_x]
sub ebx,[offset_x_tray]
shl ebx,16
add ebx,10
mov [pos_x_page_list],ebx
mcall ,,,0x40000000+22 ;button 22 - page list decrease
add ebx,24 shl 16
mcall ,,,0x40000000+21 ;button 21 - page list decrease
;--------------------------------------
align 4
@@:
ret
;------------------------------------------------------------------------------
draw_time_skin:
cmp [clock_enable],dword 0
je .exit
mov ebx,[pos_x_clock]
call calculate_button_y_coordinate_and_size
mov edx,[Clock_color] ;time_bgr_color
mov esi,[wcolor]
call draw_appl_button
;--------------------------------------
align 4
.exit:
ret
;------------------------------------------------------------------------------
draw_time:
cmp [clock_enable],dword 0
je .exit
mcall 3
cmp eax,[ptime]
jz .exit
mov [ptime],eax
;--------------------------------------
; draw hours and minutes
movzx ebx,al
shr eax,8
movzx ecx,al
shr eax,8
movzx edx,al
; ebx ecx edx h m s
push ebx
push ecx
mov ebx,[pos_x_clock]
call calculate_button_y_coordinate_and_size
movzx eax,cx
shr eax,1
sub eax,4
shr ecx,16
add eax,ecx
mov bx,ax
add ebx,18 shl 16
mov ecx,[bte]
mov edx,[esp] ; __:_X
and edx,15
add ebx,10*65536
add edx,text
mcall 4,,0x40ffffff,,1,[Clock_color] ;time_bgr_color
pop edx ; __:X_
shr edx,4
and edx,15
sub ebx,6*65536
add edx,text
mcall
mov edx,[esp] ; _X:__
and edx,15
sub ebx,11*65536
add edx,text
mcall
pop edx ; X_:__
shr edx,4
and edx,15
sub ebx,6*65536
add edx,text
mcall
;--------------------------------------
; draw seconds
mov ebx,[pos_x_clock]
call calculate_button_y_coordinate_and_size
movzx eax,cx
shr eax,1
sub eax,4
shr ecx,16
add eax,ecx
mov bx,ax
add ebx,17 shl 16
mcall 3
mov ecx,eax
shr ecx,16
and ecx,1
mov edx,[bte]
sub edx,[Clock_color] ;time_bgr_color;[wcolor]
imul ecx,edx
add ecx,[Clock_color] ;time_bgr_color;[wcolor]
mcall 4,,,sec,1
call draw_cpu_usage
;--------------------------------------
align 4
.exit:
ret
;------------------------------------------------------------------------------
align 4
draw_list_button:
cmp [page_list_enable],dword 0
je .exit
; draw page list button "skin"
mov ebx,[pos_x_page_list]
mov bx,10
mov ecx,3 shl 16
add ecx,[height]
sub cx,6
xor edx,edx
; mcall 13
mov edx,[PageList_color] ;0xffffff
mov esi,[wcolor]
call draw_appl_button
add ebx,24 shl 16 ; 18 shl 16
; mcall
mov edx,[PageList_color] ;0xffffff
mov esi,[wcolor]
call draw_appl_button
; sub ebx,23 shl 16 ; 19 shl 16
; sub bx,2
; add ecx,1 shl 16
; sub ecx,2
; mcall ,,,0xffffff
; add ebx,24 shl 16
; mcall
;--------------------------------------
; draw page list button text <>
mov ebx,[pos_x_page_list]
add ebx,2 shl 16
mov eax,[height]
shr eax,1
sub eax,4
mov bx,ax
xor ecx,ecx
mcall 4,,,page_a1,5
add ebx,1 shl 16
mcall
;--------------------------------------
; draw page list number
mov edx,ebx
add edx,9 shl 16
mcall 47,0x20000,[page_list],,0xffffff
.exit:
ret
;------------------------------------------------------------------------------
align 4
draw_cpu_usage:
cmp [cpu_usage_enable],dword 0
je .exit
pushad
mov eax,[height]
sub eax,[button_top_offset]
sub eax,[button_bottom_offset]
sub eax,2
mov [ysi],eax ;12
mcall 18,5 ; TSC / SEC
shr eax,20
push eax
mcall 18,4 ; IDLE / SEC
shr eax,20
xor edx,edx
imul eax,[ysi]
cdq
pop ebx
inc ebx
div ebx
cmp eax,[ysi]
jng .no_bug
mov eax,[ysi]
;--------------------------------------
align 4
.no_bug:
push eax
mov ebx,[pos_x_cpu_usage]
mov ecx,[button_top_offset]
shl ecx,16
add ecx,[ysi]
add ecx,2
mov edx,[CpuUsageBckgr_color] ;0xdd2222
mov esi,[wcolor]
call draw_appl_button
pop eax
; mov ecx,4 shl 16
mov ecx,[button_top_offset]
inc ecx
shl ecx,16
add ecx,eax
add ebx,1 shl 16
sub ebx,2
mcall 13,,,[CpuUsage_color] ;0x44aa44
popad
.exit:
ret
;------------------------------------------------------------------------------
align 4
; eax = number (1 or 2)
; ebx = language id
draw_flag:
cmp [chlang_enable],dword 0
je .exit
cmp [draw_flag_certainly],0
je .exit
pusha
;--------------------------------------
; get and draw keyboard layout
mcall 26,2,9
mov ebx,eax
; mov eax,2
mov [type_lang],al
; eax = 2 BIG
; eax = 1 small
mov edx,ebx
pushad
mov ebx,[pos_x_cpu_chlang]
call calculate_button_y_coordinate_and_size
; cmp [type_lang],1
; je .label_1
mov edx,[ChangeLang_color] ;time_bgr_color ;0xff ;[wcolor]
; jmp .label_2
;--------------------------------------
;align 4
;.label_1:
; mov edx,0x7700
;--------------------------------------
;align 4
;.label_2:
mov esi,[wcolor]
call draw_appl_button
popad
mov ebx,[pos_x_cpu_chlang]
mov ax,bx
shr eax,1
shl eax,16
add ebx,eax
sub ebx,6 shl 16
call calculate_button_y_coordinate_and_size
movzx eax,cx
shr eax,1
sub eax,4
shr ecx,16
add eax,ecx
mov bx,ax
mov ecx,[bte] ; color
if caps_lock_check
; make flag_text 'enfigerufretua' or 'ENFIGERUFRETUA' depending on CapsLock state.
call flag_text_setup
end if
dec edx
shl edx,1
add edx,flag_text
mcall 4,,,,2
popa
mov [draw_flag_certainly],0
.exit:
ret
;------------------------------------------------------------------------------
align 4
if caps_lock_check
flag_text_setup:
pusha
mcall 66,3
mov edi, flag_text
mov esi, flag_text_caps_off
test eax, 0x40
jz @f
add esi, 14
;--------------------------------------
align 4
@@:
mov ecx, 14
rep movsb
popa
ret
;flag_text_caps_off db 'enfigerufretua'
flag_text_caps_off:
db 'EnFiGeRuFrEtUa'
db 'ENFIGERUFRETUA'
end if
;------------------------------------------------------------------------------

View File

@ -0,0 +1,445 @@
;------------------------------------------------------------------------------
; ***************************************************
; ********* WINDOW DEFINITIONS AND DRAW *************
; ***************************************************
align 4
draw_window:
pusha
mov [running_applications],-1
mcall 12,1
mcall 48,3,system_colours,10*4
mov eax, [system_colours+4*6]
sub eax, 0x101010
mov [wcolor], eax
mcall 14 ; get screen max x & max y
cmp [width],dword 0
je no_def_width
and eax,0xffff
mov ebx,[width]
shl ebx,16
add eax,ebx
;--------------------------------------
align 4
no_def_width:
mov ebx,eax
mov [screenxy],ebx
shr ebx,16
mov ecx,eax
cmp [place_attachment],1
je @f
xor ecx,ecx
mov cx,[height]
dec cx
jmp .attachment_selected
;--------------------------------------
align 4
@@:
sub ecx,[height]
inc ecx
shl ecx,16
mov cx,[height]
dec cx
;--------------------------------------
align 4
.attachment_selected:
xor eax,eax ; DEFINE AND DRAW WINDOW
mov edx, [wcolor]
or edx, 0x01000000 ; do not draw the window
mov esi, [wcolor]
or esi, 0x01000000 ; unmovable window
mov edi, [wcolor]
mov [panel_x_pos], ebx
mov [panel_y_pos], ecx ; Ïîêà ÷òî òàê.
mcall
movzx eax,word [screenxy+2]
mov [max_x],eax
call fill_window
call minimize_left_button
call minimize_right_button
call draw_menu_and_clean_desktop
mov [ptime],0
call draw_tray
call draw_application_buttons
mcall 12,2
popa
ret
;------------------------------------------------------------------------------
align 4
fill_window:
movzx ebx,word [screenxy+2]
xor ecx,ecx
mov edx,[wcolor]
; add edx,0x161616
mov eax,COLOR_CHANGE_MAGNITUDE_0
imul eax,dword [soften_height]
call subtract_color_change_magnitude
cmp [soften_up],dword 0
je no_su
;--------------------------------------
align 4
@@: ; debug.inc has macros with the same name
; sub edx,0x040404
mov eax,COLOR_CHANGE_MAGNITUDE_0
call add_color_change_magnitude
; draw soften_up - the width of 5 pixels
and edx,0x00FFFFFF
mcall 38
add ecx,1*65536+1
cmp cx,[soften_height] ;5
jb @r
;--------------------------------------
align 4
no_su:
cmp [soften_down],dword 0
je no_sd
; draw soften_down - the width of 5 pixels
pusha
mov esi,[soften_height]
mov ecx,[height]
dec ecx
shl ecx,16
add ecx,[height]
dec ecx
mov edx,[wcolor]
mov eax,COLOR_CHANGE_MAGNITUDE_0
imul eax,dword [soften_height]
call subtract_color_change_magnitude
@@:
mov eax,COLOR_CHANGE_MAGNITUDE_0
call add_color_change_magnitude
and edx,0x00FFFFFF
mcall 38
sub ecx,1*65536+1
dec esi
jnz @r
popa
;--------------------------------------
align 4
no_sd:
movzx ebx,word [screenxy+2]
xor ecx,ecx
cmp [soften_up],dword 0
je @f
add ecx,[soften_height]
rol ecx,16
add ecx,[soften_height]
;--------------------------------------
align 4
@@:
; mov esi,stripe
mov edx,[wcolor]
;--------------------------------------
align 4
newline3:
and edx,0x00FFFFFF
mov eax,[height]
cmp [soften_up],dword 0
je @f
sub eax,[soften_height]
;--------------------------------------
align 4
@@:
cmp [soften_down],dword 0
je @f
sub eax,[soften_height]
;--------------------------------------
align 4
@@:
mov cx,ax
inc ebx
mcall 13
ret
;------------------------------------------------------------------------------
align 4
minimize_left_button:
cmp [minimize_left],dword 0
je .exit
mov ecx,1 *65536
add ecx,[height]
dec ecx
mov edx,101
; add edx,[button_frames]
or edx,0x40000000
mcall 8,<0,9>,,,[wcolor] ; ABS LEFT
mov ebx,2*65536 ;+6
mov bx,[height]
shr bx,1
sub bx,3
mov ecx,[wcolor]
add ecx,0x303030
mcall 4,,,hidetext,1 ; HIDE TEXT
;--------------------------------------
align 4
.exit:
ret
;------------------------------------------------------------------------------
align 4
minimize_right_button:
cmp [minimize_right],dword 0
je .exit
mov eax,[max_x]
sub eax,77
shl eax,16
mov ebx,eax
add ebx,67
mov ecx,1 *65536
add ecx,[height]
dec ecx
add ebx,68*65536
mov bx,9
mov edx,102
; add edx,[button_frames]
or edx,0x40000000
mcall 8,,,,[wcolor] ; ABS RIGHT
mov ebx,[max_x]
sub ebx,6
shl ebx,16
mov bx,[height]
shr bx,1
sub bx,3
mov ecx,[wcolor]
add ecx,0x303030
mov esi,1
mcall 4,,,hidetext+1
;--------------------------------------
align 4
.exit:
ret
;------------------------------------------------------------------------------
align 4
draw_menu_and_clean_desktop:
pusha
; check draw for menu
cmp [menu_enable],dword 0
je no_menu
; calculate and draw menu
mov ebx, (0 shl 16) + MENU_SIZE-3
; check for left minimize button enabled
cmp [minimize_left],dword 0
je @f
add ebx, ML_SIZE shl 16
;--------------------------------------
align 4
@@:
call calculate_button_y_coordinate_and_size
mov edx, 0x40d1ff01
; mov edx, 0xd1ff01
; add edx, [button_frames]
mcall 8,,,,[wcolor] ; MENU BUTTON
mov eax,ebx
shr eax,16
mov [menu_button_x.start],eax
mov eax,ebx
and eax,0xffff
mov [menu_button_x.size],eax
mov eax,ecx
shr eax,16
mov [menu_button_y.start],eax
mov eax,ecx
and eax,0xffff
mov [menu_button_y.size],eax
mov edx,[MenuButton_color] ;0x44aa44
mov esi,[wcolor]
call draw_appl_button
add ebx, 8*65536
mov bx,[height]
shr bx,1
sub bx,3
mcall 4,,0x10ffffff,m_text,4
;--------------------------------------
align 4
no_menu:
; check draw for clean desktop button
cmp [clean_desktop_enable],dword 0
je .exit
; calculate and draw clean desktop button
mov ebx, (0 shl 16) + CLD_SIZE-5
; check for left minimize button enabled
cmp [minimize_left],dword 0
je @f
add ebx, ML_SIZE shl 16
;--------------------------------------
align 4
@@:
; check for menu button enabled
cmp [menu_enable],dword 0
je @f
add ebx, MENU_SIZE shl 16
;--------------------------------------
align 4
@@:
; Inserted code for drawing buttons 103, 104, 105 (Clean, Restore, Exchange windows)
mov esi, dword [system_colours+24] ; drawing buttons
and esi, 0x00ffffff
mov edx, 0x40000000 + 103
call calculate_button_y_coordinate_and_size
mcall 8 ;,,<3,13>
mov edx,[CleanDesktopButton_color] ;time_bgr_color
mov esi,[wcolor]
call draw_appl_button
; mov ecx, dword [system_colours+28]
; and ecx, 0x00ffffff
mov ecx,0xffffff
add ebx,5 shl 16
; mov bx,6
mov bx,[height]
shr bx,1
sub bx,2
mcall 4,,,page_clean_but,1
sub bx,2
mcall ,,,page_clean_but+1
;--------------------------------------
align 4
.exit:
popa
ret
;------------------------------------------------------------------------------
align 4
draw_application_buttons:
pusha
cmp [run_appl],dword 0 ; do not draw application buttons
je .exit
call calculate_offset_X
; mcall 14
mov eax,[screenxy]
shr eax,16
sub eax,[offset_X]
; check for tray enabled
; cmp [tray_enable],dword 0
; je @f
; sub eax, TRAY_SIZE
;--------------------------------------
;align 4
;@@:
; check for left minimize button enabled
cmp [minimize_right],dword 0
je @f
sub eax, MR_SIZE
;--------------------------------------
align 4
@@:
cmp [clock_enable],dword 0
je @f
sub eax,CLOCK_SIZE
;--------------------------------------
align 4
@@:
cmp [cpu_usage_enable],dword 0
je @f
sub eax,CPU_USAGE_SIZE
;--------------------------------------
align 4
@@:
cmp [chlang_enable],dword 0
je @f
sub eax,CHLANG_SIZE
;--------------------------------------
align 4
@@:
cmp [page_list_enable],dword 0
je @f
sub eax,PAGE_LIST_SIZE
;--------------------------------------
align 4
@@:
mov ebx, TAB_SIZE
xor edx,edx
div ebx
mov [max_applications], eax
xor edi,edi
;--------------------------------------
align 4
.nb:
mov ebx,edi
imul ebx,TAB_SIZE
add ebx,[offset_X]
shl ebx,16
mov bx, TAB_SIZE-1
mov edx,edi
add edx,52
or edx,0x60000000
mov ecx, 1*65536
add ecx, [height]
sub ecx,3
mcall 8,,,,[wcolor]
inc edi
cmp edi,[max_applications]
jb .nb
;--------------------------------------
align 4
.exit:
popa
ret
;------------------------------------------------------------------------------
align 4
calculate_offset_X:
push eax
xor eax,eax
; check for left minimize button enabled
cmp [minimize_left],dword 0
je @f
add eax, ML_SIZE
;--------------------------------------
align 4
@@:
; check for menu button enabled
cmp [menu_enable],dword 0
je @f
add eax, MENU_SIZE
;--------------------------------------
align 4
@@:
; check for clean desktop button enabled
cmp [clean_desktop_enable],dword 0
je @f
add eax, CLD_SIZE
;--------------------------------------
align 4
@@:
mov [offset_X],eax
pop eax
ret
;------------------------------------------------------------------------------

View File

@ -0,0 +1,249 @@
;------------------------------------------------------------------------------
align 4
; DATA
stripe:
dd -0x010101
dd -0x010101
dd -0x020202
dd -0x010101
dd -0x000000
dd 0x000000
dd 0x010101
dd 0x020202
dd 0x010101
dd 0x010101
m_icon:
dd 0x0
dd 0x808080
dd 0x000000
dd 0x000000
dd 0xffffff
lsz m_text,\
ru, "Œ…<EFBFBD>ž",\
en, "MENU",\
et, "MEN--"
mi_text db 'WAVETETRBGRDGPL '
flag_text db 'EnFiGeRuFrEtUa'
type_lang db 0
;sound_flag db 0
;button_frames dd 0x0
;checks dd -1
hidetext db 0x11,0x10,0x1e
turn_text db '><'
gpl db 'GPL'
chlang db 'LANG',0
;syslang db 'SLAN',0
contrast db 0
running_applications dd 0x100
max_applications dd 11
current_alt_tab_app dd -1
page_list dd 0
draw_start_position dd 0
draw_window_1 db 0
;b_size_y: dd 0x0
ysi dd 0
small_draw dd 0x0
ptime dd 0x0
max_x dd 0x0
text db '0123456789'
page_a1 db '< >'
page_clean_but db 25,24,18
bte dd 0xccddee
wcolor dd 0x506070
sec db ': '
;pros db ' '
; db ' '
screenxy dd 0x0
stcount dd 0x0
setup_exec:
dd 7
dd 0
.cmdline dd 0
dd 0
dd 0
db '/sys/'
file_sys db 'SETUP',0
exec_fileinfo:
dd 7
dd 0
dd 0
dd 0
dd 0
db 0
.name dd 0
end_name db '/sys/END',0
menu_name db '/sys/@MENU',0
run_name db '/sys/RUN',0
calendar_name db '/sys/CALENDAR',0
sysmeter_name db '/sys/GMON',0
mousemul_name db '/sys/MOUSEMUL',0
;dat_fileinfo:
; dd 0
; dd 0
; dd 0
; dd 1024
; dd panel_ini_data_area ;I_END
; db '/sys/PANEL.DAT',0
;m_bmp_fileinfo:
; dd 0
; dd 0
; dd 0
; dd 8192
; dd image
; db '/sys/MENUET.BMP',0
;iconf_fileinfo:
; dd 0
; dd 0
; dd 0
; dd 8192
; dd image
; db '/sys/'
;iconf db 'MBAR_IX.BMP',0
this_slot dd 0 ; Slot of this process
max_slot dd 255
;--------------------------------------
menu_button_x:
.start dd 1234 ;0xffff
.size dd 0x999
;--------------------------------------
menu_button_y:
.start dd 0xaa
.size dd 0xc
;--------------------------------------
;------------------------------------------------------------------------------
; INI variables
width: dd 0 ;305
height: dd 30 ;18
soften_height: dd 5
button_top_offset: dd 3
button_bottom_offset: dd 3
;------------------------------------------------------------------------------
; INI flags
;buttons dd 1 ; 0 no frames ; 1 frames
soften_up: dd 1 ; 0 no ; 1 yes
soften_down: dd 0 ; 0 no ; 1 yes
minimize_left: dd 1
minimize_right: dd 1
;icons_position dd 95 ; not used!
menu_enable: dd 1
;tray_enable: dd 0 ; draw cpu usage, time, date
;graph_text dd 1 ; not used!
;soften_middle dd 1 ; not used! ; 0 no ; 1 yes
run_appl: dd 1 ; 0 defaults ; 1 activate
clean_desktop_enable: dd 1
clock_enable: dd 1
cpu_usage_enable: dd 1
chlang_enable: dd 1
page_list_enable: dd 1
place_attachment dd 1
button_style dd 1
;------------------------------------------------------------------------------
; INI colors
MenuButton_color dd 0x44aa44 ; Green
CleanDesktopButton_color dd 0x66cc ; Blue
Clock_color dd 0x66cc ; Blue
CpuUsage_color dd 0x44aa44 ; Green
CpuUsageBckgr_color dd 0xdd2222 ; Red
ChangeLang_color dd 0x66cc ; Blue
PageList_color dd 0xffffff ; White
;------------------------------------------------------------------------------
aVariables db 'Variables',0
aPanelHeight db 'PanelHeight',0
aPanelWidth db 'PanelWidth',0
aSoftenHeight db 'SoftenHeight',0
aButtonTopOffset db 'ButtonTopOffset',0
aButtonBottomOffset db 'ButtonBottOffset',0
;------------------------------------------------------------------------------
aFlags db 'Flags',0
aSoftenUp db 'SoftenUp',0
aSoftenDown db 'SoftenDown',0
aMinimizeLeftButton db 'MinLeftButton',0
aMinimizeRightButton db 'MinRightButton',0
aMenuButton db 'MenuButton',0
aRunApplButtons db 'RunApplButtons',0
aCleanDesktopButton db 'ClnDesktButton',0
aClock db 'Clock',0
aCpuUsage db 'CpuUsage',0
aChangeLang db 'ChangeLang',0
aPageList db 'PageList',0
aAttachment db 'Attachment',0
aButtonsStyle db 'ButtonsStyle',0
;------------------------------------------------------------------------------
aColors db 'Colors',0
aCpuUsageBckgr db 'CpuUsageBckgr',0
;------------------------------------------------------------------------------
plugins_directory db 0
ini_file_name db 'panel.ini',0
system_dir_Libini db '/sys/lib/libini.obj',0
err_message_found_lib2 db 'libini.obj - Not found!',0
err_message_import2 db 'libini.obj - Wrong import!',0
head_f_i:
head_f_l db 'Errors of PLugins:',0
;------------------------------------------------------------------------------
l_libs_start:
library02 l_libs system_dir_Libini+9, path, library_path, system_dir_Libini, \
err_message_found_lib2, head_f_l, Libini_import, err_message_import2, head_f_i, plugins_directory
end_l_libs:
;------------------------------------------------------------------------------
align 4
Libini_import:
lib_init dd aLib_init
version_lib_ini dd aVersion_lib_ini
ini_enum_sections dd aIni_enum_sections
ini_enum_keys dd aIni_enum_keys
ini_get_str dd aIni_get_str
ini_get_int dd aIni_get_int
ini_get_color dd aIni_get_color
ini_set_str dd aIni_set_str
ini_set_int dd aIni_set_int
ini_set_color dd aIni_set_color
dd 0
dd 0
aLib_init db 'lib_init',0
aVersion_lib_ini db 'version',0
aIni_enum_sections db 'ini_enum_sections',0
aIni_enum_keys db 'ini_enum_keys',0
aIni_get_str db 'ini_get_str',0
aIni_get_int db 'ini_get_int',0
aIni_get_color db 'ini_get_color',0
aIni_set_str db 'ini_set_str',0
aIni_set_int db 'ini_set_int',0
aIni_set_color db 'ini_set_color',0
;------------------------------------------------------------------------------

View File

@ -0,0 +1,220 @@
;-----------------------------------------------------------------------------
Get_ini:
stdcall dll.Init,[lib_init]
mov ebx,ini_file_name
mov esi,path
mov edi,library_path
call copy_file_path
;------------------------------------------------------------------------------
; Get panel variables
;------------------------------------------------------------------------------
invoke ini_get_int,library_path,aVariables,aPanelHeight,20
cmp eax,100
ja @f
cmp eax,10
ja .height
@@:
mov eax,20
.height:
mov [height],eax
;--------------------------------------
invoke ini_get_int,library_path,aVariables,aPanelWidth,0
cmp eax,200
ja @f
mov eax,0
@@:
mov [width],eax
;--------------------------------------
invoke ini_get_int,library_path,aVariables,aSoftenHeight,3
cmp eax,10
ja @f
cmp eax,1
ja .soften_height
@@:
mov eax,3
.soften_height:
mov [soften_height],eax
;--------------------------------------
invoke ini_get_int,library_path,aVariables,aButtonTopOffset,3
cmp eax,10
ja @f
cmp eax,1
ja .button_top_offset
@@:
mov eax,3
.button_top_offset:
mov [button_top_offset],eax
;--------------------------------------
invoke ini_get_int,library_path,aVariables,aButtonBottomOffset,3
cmp eax,10
ja @f
cmp eax,1
ja .button_bottom_offset
@@:
mov eax,3
.button_bottom_offset:
mov [button_bottom_offset],eax
;------------------------------------------------------------------------------
; Get panel flags
;------------------------------------------------------------------------------
invoke ini_get_int,library_path,aFlags,aSoftenUp,1
cmp eax,2
jb @f
mov eax,1
@@:
mov [soften_up],eax
;--------------------------------------
invoke ini_get_int,library_path,aFlags,aSoftenDown,1
cmp eax,2
jb @f
mov eax,1
@@:
mov [soften_down],eax
;--------------------------------------
invoke ini_get_int,library_path,aFlags,aMinimizeLeftButton,1
cmp eax,2
jb @f
mov eax,1
@@:
mov [minimize_left],eax
;--------------------------------------
invoke ini_get_int,library_path,aFlags,aMinimizeRightButton,1
cmp eax,2
jb @f
mov eax,1
@@:
mov [minimize_right],eax
;--------------------------------------
invoke ini_get_int,library_path,aFlags,aMenuButton,1
cmp eax,2
jb @f
mov eax,1
@@:
mov [menu_enable],eax
;--------------------------------------
invoke ini_get_int,library_path,aFlags,aRunApplButtons,1
cmp eax,2
jb @f
mov eax,1
@@:
mov [run_appl],eax
;--------------------------------------
invoke ini_get_int,library_path,aFlags,aCleanDesktopButton,1
cmp eax,2
jb @f
mov eax,1
@@:
mov [clean_desktop_enable],eax
;--------------------------------------
invoke ini_get_int,library_path,aFlags,aClock,1
cmp eax,2
jb @f
mov eax,1
@@:
mov [clock_enable],eax
;--------------------------------------
invoke ini_get_int,library_path,aFlags,aCpuUsage,1
cmp eax,2
jb @f
mov eax,1
@@:
mov [cpu_usage_enable],eax
;--------------------------------------
invoke ini_get_int,library_path,aFlags,aChangeLang,1
cmp eax,2
jb @f
mov eax,1
@@:
mov [chlang_enable],eax
;--------------------------------------
invoke ini_get_int,library_path,aFlags,aPageList,1
cmp eax,2
jb @f
mov eax,1
@@:
mov [page_list_enable],eax
;--------------------------------------
invoke ini_get_int,library_path,aFlags,aAttachment,1
cmp eax,2
jb @f
mov eax,1
@@:
mov [place_attachment],eax
;--------------------------------------
invoke ini_get_int,library_path,aFlags,aButtonsStyle,1
cmp eax,2
jb @f
mov eax,1
@@:
mov [button_style],eax
;--------------------------------------
invoke ini_get_color,library_path,aColors,aMenuButton,0x44aa44
mov [MenuButton_color],eax
;--------------------------------------
invoke ini_get_color,library_path,aColors,aCleanDesktopButton,0x66cc
mov [CleanDesktopButton_color],eax
;--------------------------------------
invoke ini_get_color,library_path,aColors,aClock,0x66cc
mov [Clock_color],eax
;--------------------------------------
invoke ini_get_color,library_path,aColors,aCpuUsage,0x44aa44
mov [CpuUsage_color],eax
;--------------------------------------
invoke ini_get_color,library_path,aColors,aCpuUsageBckgr,0xdd2222
mov [CpuUsageBckgr_color],eax
;--------------------------------------
invoke ini_get_color,library_path,aColors,aChangeLang,0x66cc
mov [ChangeLang_color],eax
;--------------------------------------
invoke ini_get_color,library_path,aColors,aPageList,0xffffff
mov [PageList_color],eax
;--------------------------------------
; invoke ini_get_str,library_path,aConvertPlugins,aCP0,plugin_0_name,127,ConvertPlugins_no_key
ret
;-----------------------------------------------------------------------------
copy_file_path:
xor eax,eax
@@:
cld
lodsb
stosb
test eax,eax
jnz @b
mov esi,edi
dec esi
@@:
std
lodsb
cmp al,'/'
jnz @b
mov edi,esi
add edi,2
mov esi,ebx
@@:
cld
lodsb
stosb
test eax,eax
jnz @b
ret
;-----------------------------------------------------------------------------

View File

@ -1 +0,0 @@
0000;0000;0001;0001;0001;0001;0100;0001;0001;0001;0001;0001;x

View File

@ -0,0 +1,31 @@
[Variables]
PanelHeight=24
PanelWidth=0
SoftenHeight=5
ButtonTopOffset=4
ButtonBottOffset=2
[Flags]
SoftenUp=1
SoftenDown=0
MinLeftButton=1
MinRightButton=1
MenuButton=1
RunApplButtons=1
ClnDesktButton=1
Clock=1
CpuUsage=1
ChangeLang=1
PageList=1
Attachment=1
ButtonsStyle=1
[Colors]
MenuButton=0,100,0
ClnDesktButton=0,128,255
Clock=0,128,255
CpuUsage=0,100,0
CpuUsageBckgr=255,0,0
ChangeLang=0,128,255
PageList=255,255,255

View File

@ -0,0 +1,86 @@
;------------------------------------------------------------------------------
align 4
last_active_window rd 1
prev_active_window rd 1
active_window_changed rd 1
app_tab_count rd 1
alt_tab_list_size rd 1
panel_x_pos rd 1
panel_y_pos rd 1
offset_X rd 1
offset_x_tray rd 1
pos_x_clock rd 1
pos_x_cpu_usage rd 1
pos_x_cpu_chlang rd 1
pos_x_page_list rd 1
active_slot_number rd 1
my_active_slot rd 1
current_active_slot rd 1
screen_size:
.height rw 1
.width rw 1
draw_flag_certainly rb 1
start_menu_flag rb 1
win_key_flag rb 1
clean_desktop_minimize rb 1
;------------------------------------------------------------------------------
align 4
system_colours system_colors ; rd 10
;------------------------------------------------------------------------------
align 4
app_list rd 50
;------------------------------------------------------------------------------
align 4
alt_tab_list rd 256*2
;------------------------------------------------------------------------------
align 4
path:
rb 1024
;-----------------------------------------------------------------------------
align 4
library_path:
process_info_buffer:
rb 1024
;------------------------------------------------------------------------------
align 4
procinfo_for_detect:
rb 1024
;------------------------------------------------------------------------------
align 4
procinfo_window_tabs:
rb 1024
;-----------------------------------------------------------------------------
align 4
bootparam:
rb 256
;------------------------------------------------------------------------------
align 4
tictable:
rd 256
;------------------------------------------------------------------------------
;align 4
;panel_ini_data_area:
; rb 61
;------------------------------------------------------------------------------
align 4
rb 256
detect_stack:
;------------------------------------------------------------------------------
align 4
rb 256
ctx_menu_stack:
;------------------------------------------------------------------------------
align 4
rb 1024
stack_top:
;------------------------------------------------------------------------------