Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 869 → Rev 870

/programs/system/panel/trunk/detect.asm
File deleted
/programs/system/panel/trunk/@PANEL
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/system/panel/trunk/@PANEL.ASM
15,7 → 15,8
dd 0x0,0x0 ; param, icon
 
include 'lang.inc'
include '..\..\..\macros.inc'
include 'macros.inc'
include 'moi.inc' ;à áª« ¤ª¨ ª« ¢¨ âãàë
 
width dd 305
buttons dd 1 ; 0 no frames ; 1 frames
32,6 → 33,7
 
PANEL_HEIGHT = 18
 
 
handle_key:
 
mcall 18, 7
42,6 → 44,25
jnz begin_1.ret
mov ebx, exec_fileinfo
shr eax, 8
cmp al, 0
je prod
mov [key_r],al
sub [key_r],2
cmp al, 2
jz alter
cmp al, 3
jz alter
cmp al, 4
jz alter
cmp al, 5
jz alter
cmp al, 6
jz alter
cmp al, 7
jz alter
cmp al, 8
jz alter
prod:
cmp al, 15
jz alt_tab_pressed
cmp al, 88
62,7 → 83,9
jz alt_tab_released
@@:
; this is hotkey Ctrl+Shift ;or LShift+RShift
mov ebx, setup_exec
 
jmp karu
; mov ebx, setup_exec
; test ah, 001100b
; jz change_sys_lang
change_key_lang:
311,14 → 334,16
 
 
START:
mov eax, 51
mov ebx, 1
mov ecx, detect_start
mov edx, detect_stack
int 0x40
; mov eax, 51
; mov ebx, 1
; mov ecx, detect_start
; mov edx, detect_stack
; int 0x40
mcall 66,4,0,2 ; LShift+RShift
mcall 66, , ,11h ; Ctrl+Shift
mcall 66,,88,110h ; Alt+Ctrl+F12
mcall 66,,91,0h ; LWin
mcall 66,,92,0h ; RWin
mcall 66,,91,100h ; Alt+LWin
mcall 66,,92 ; Alt+RWin
mcall 66,,62 ; Alt+F4
325,7 → 350,15
mcall 66,,71 ; Alt+Home
mcall 66,,72 ; Alt+Up
mcall 66,,15 ; Alt+Tab
mcall 66,,2 ; Alt+1
mcall 66,,3 ; Alt+2
mcall 66,,4 ; Alt+3
mcall 66,,5 ; Alt+4
mcall 66,,6 ; Alt+5
mcall 66,,7 ; Alt+6
mcall 66,,8 ; Alt+7
mcall 66,,,101h ; Alt+Shift+Tab
 
mcall 18, 8, 1
test eax, eax
jne @f
357,9 → 390,16
mcall 14
mov [screen_size],eax
 
mcall 48,5
;mcall 48,5 ; barsuk {
mov eax, 14
int 0x40
mov ecx,eax
lea edx,[ebx-PANEL_HEIGHT-1]
;eax = [xsize]*65536 + [ysize], £¤¥
shr ecx, 16
and eax, 0xFFFF
lea edx,[eax-PANEL_HEIGHT-1]
; barsuk }
 
mcall 48,6
 
; // Alver 26.08.2007 // {
384,6 → 424,8
mov eax, 23
mov ebx, 30
int 0x40
call load_ini
call fir_lng
 
still:
; mcall 13,<390,70>,<3,11>,0xffffff
393,6 → 435,40
call draw_info
call draw_running_applications
 
mov eax, 18 ; check if active window changed
mov ebx, 7 ; barsuk
int 0x40
cmp eax, [last_active_window]
jz @f
 
; need_window_tab:
; in: ebx->process info
; out: ZF set <=> do not draw
 
mov ebx, [last_active_window]
mov [prev_active_window], ebx
mov [last_active_window], eax
 
mov ecx, eax
mov eax, 9
mov ebx, process_info_buffer
int 0x40
 
call need_window_tab
jnz .need_repaint
 
mov eax, 9
mov ebx, process_info_buffer
mov ecx, [prev_active_window]
int 0x40
call need_window_tab
jz @f
 
.need_repaint:
mov dword [active_window_changed], 1
 
@@:
 
mov eax, 23
mov ebx, 20
int 0x40
402,10 → 478,18
cmp eax,3 ; button ?
jz button
call handle_key
 
cmp dword [active_window_changed], 0
jnz red_active
 
jmp still
 
red_active: ; barsuk
 
red: ; redraw window
 
mov dword [active_window_changed], 0
 
mcall 14
movzx ecx,ax
mov edx,eax
421,6 → 505,7
mcall 67,0,,,PANEL_HEIGHT
 
.lp1:
 
call draw_window
call draw_info
jmp still
429,6 → 514,9
mov eax,17
int 0x40
 
cmp al, 0 ; barsuk
jnz right_mouse
 
cmp ah,50
jb no_activate
cmp ah,70
446,6 → 534,51
; je still
mcall 55,eax, , ,activatemusic
jmp still
 
right_mouse: ; barsuk
 
cmp ah,50
jb still
cmp ah,70
jg still
 
movzx ecx,byte ah
sub ecx,52
 
cmp ecx, [app_tab_count]
jge still
 
shl ecx,2
 
mov eax, 37
mov ebx, 0
int 0x40
mov ebx, eax
shr eax, 16
mov [x_coord], ax
and ebx, 0xFFFF
mov [y_coord], bx
 
mov eax, 9
mov ecx,[app_list+ecx] ; ecx->selected app.slot
mov [n_slot], ecx
mov ebx, procinfo_for_detect
int 0x40
 
; cmp dword [procinfo_for_detect+process_information.slot_state],9
; jz still
 
mov eax, 51
mov ebx, 1
mov ecx, context_menu_start
mov edx, ctx_menu_stack
int 0x40
 
mov [ctx_menu_PID], eax
 
jmp still
 
 
no_activate:
 
 
684,6 → 817,13
redraw_window_tabs:
xor edi, edi
mov [contrast], 0
 
push ebp ; barsuk {
mov eax, 18
mov ebx, 7
int 0x40
mov ebp, eax ; barsuk }
 
.loop:
mov ecx, [app_list+edi*4]
cmp ecx, -1
701,7 → 841,9
add ebx, 12*10*10000h + 7*10000h + 54
; } // Alver //
mov ecx, 3*10000h + 14
xor edx, edx
 
; xor edx, edx
mov edx, 0x383838 ; barsuk
int 0x40
sub ebx, 10000h + 53
mov ecx, 4*10000h + 12
716,20 → 858,12
mov ecx, 5*10000h + 10
int 0x40
 
mov edx, 0x88FF
xor [contrast], 1
jz @f
mov dh, 0x55
mov edx, [wcolor] ; barsuk
cmp ebp, [esp] ; [esp]=saved ecx=active slot number
jnz @f
mov edx, [system_colours.work_button]
@@:
pop ecx
mov esi, [current_alt_tab_app]
cmp esi, -1
jz @f
cmp ecx, [alt_tab_list+esi*8]
jnz @f
; xor edx, 0xFFFFFF
mov edx, 0xFF8000
@@:
sub ebx, 55*10000h - 53
mov ecx, 4*10000h + 12
int 0x40
741,15 → 875,17
 
mov eax, 4
sub ebx, 51*10000h - 6
mov ecx, 0xffffff ;[wcolor]
mov ecx, [system_colours.work_button_text] ;0xffffff
mov edx, 0x8000+10
mov esi, 11
int 0x40
 
.nodraw:
inc edi
cmp edi, [max_applications]
jb .loop
.done:
pop ebp
ret
 
calculate_applications:
792,6 → 928,8
cmp eax,ecx
jge cnewpr
 
mov [app_tab_count], edi ; barsuk
 
ret
 
 
1244,7 → 1382,7
mov ecx,0*65536+0
mov edx,[wcolor]
add edx,0x161616
newline:
newline_: ; debug.inc has macros with the same name
sub edx,0x040404
mov eax,38
cmp [soften_up],1
1269,7 → 1407,7
 
add ecx,1*65536+1
cmp cx,5
jb newline
jb newline_
 
cmp [soften_middle],1
jne no_sm
1435,7 → 1573,8
mov eax,13
mov ebx,12 shl 16+44 ;51
mov ecx,1 shl 16+17
xor edx,edx
; xor edx,edx
mov edx, 0x383838
int 0x40
; mov ebx,63 shl 16+1
mov ebx,56 shl 16+1
2127,7 → 2266,7
popad
ret
 
include 'detect.asm'
;;;include 'detect.asm'
include 'ctx_menu.asm'
 
; DATA
2156,11 → 2295,11
lsz m_text,\
ru, "Œ…ž",\
en, "MENU",\
et, "MENÜÜ"
et, "MEN--"
 
mi_text db 'WAVETETRBGRDGPL '
 
flag_text db 'EnFiGeRuFrEt'
flag_text db 'EnFiGeRuFrEtUa'
 
type_lang db 0
;music_type db 1
2266,7 → 2405,7
 
this_slot dd 0 ; Slot of this process
max_slot dd 255
system_colours rd 10
system_colours system_colors ; rd 10
app_list rd 50
alt_tab_list rd 256*2
alt_tab_list_size dd ?
2282,4 → 2421,10
 
panel_x_pos rd 1
panel_y_pos rd 1
image:
 
last_active_window dd 0
prev_active_window dd 0
active_window_changed dd 0
app_tab_count dd 0
 
image:
/programs/system/panel/trunk/CHAR.MT
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/system/panel/trunk/CHAR2.MT
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/system/panel/trunk/KEYMAP.KEY
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/system/panel/trunk/LANG.INI
0,0 → 1,28
[start]
startlng = 4
 
[comkey]
ccomkey1 = 1
ccomkey2 = 4
ccomkey3 = 7
 
[altkey]
altkey1 = 1
altkey2 = 4
altkey3 = 7
altkey4 = 3
altkey5 = 5
altkey6 = 6
altkey7 = 2
altkey8 = 0
altkey9 = 0
altkey0 = 0
 
[langs]
1 = En
2 = Fi
3 = Ge
4 = Ru
5 = Fr
6 = Et
7 = Ua
/programs/system/panel/trunk/MOI.INC
0,0 → 1,379
load_ini:
mov [point2],16h
mcall 70,get_ini
mov al,[inicont]
sub al,30h
mov [firini],al
mov [point2],32h
mcall 70,get_ini
mov al,[inicont]
sub al,30h
mov [lngcrc1],al
mov [point2],42h
mcall 70,get_ini
mov al,[inicont]
sub al,30h
mov [lngcrc2],al
mov [point2],52h
mcall 70,get_ini
mov al,[inicont]
sub al,30h
mov [lngcrc3],al
mov [point2],06eh
mcall 70,get_ini
mov al,[inicont]
sub al,30h
mov [altlng1],al
mov [point2],07eh
mcall 70,get_ini
mov al,[inicont]
sub al,30h
mov [altlng2],al
mov [point2],08eh
mcall 70,get_ini
mov al,[inicont]
sub al,30h
mov [altlng3],al
mov [point2],09eh
mcall 70,get_ini
mov al,[inicont]
sub al,30h
mov [altlng4],al
mov [point2],0aeh
mcall 70,get_ini
mov al,[inicont]
sub al,30h
mov [altlng5],al
mov [point2],0beh
mcall 70,get_ini
mov al,[inicont]
sub al,30h
mov [altlng6],al
mov [point2],0ceh
mcall 70,get_ini
mov al,[inicont]
sub al,30h
mov [altlng7],al
mov [point2],0deh
mcall 70,get_ini
mov al,[inicont]
sub al,30h
mov [altlng8],al
mov [point2],0eeh
mcall 70,get_ini
mov al,[inicont]
sub al,30h
mov [altlng9],al
mov [point2],0feh
mcall 70,get_ini
mov al,[inicont]
sub al,30h
mov [altlng0],al
 
ret
fir_lng:
mov al,[firini]
sub al,1
mov dx,384
mul dx
mov [point],eax
mcall 70,get_key
mov eax,21
mov ebx,2
mov ecx,1
mov edx,en_keymap
mcall
mov eax,21
inc ecx
mov edx,en_keymap_shift
mcall
mov eax,21
inc ecx
mov edx,en_keymap_alt
mcall
mov eax,21
mov ecx,9
movzx edx,[firini]
mcall
ret
karu:
add [key_r2],1
cmp [key_r2],3
jb .altes
mov [key_r2],0
.altes:
cmp [key_r2],0
je .klt_1
cmp [key_r2],1
je .klt_2
cmp [key_r2],2
je .klt_3
jmp still
.klt_1:
mov al,[lngcrc1]
sub al,1
mov [key_r],al
jmp alted
.klt_2:
mov al,[lngcrc2]
sub al,1
mov [key_r],al
jmp alted
.klt_3:
mov al,[lngcrc3]
sub al,1
mov [key_r],al
jmp alted
ret
alter:
cmp [key_r],0
je .alt_1
cmp [key_r],1
je .alt_2
cmp [key_r],2
je .alt_3
cmp [key_r],3
je .alt_4
cmp [key_r],4
je .alt_5
cmp [key_r],5
je .alt_6
cmp [key_r],6
je .alt_7
.alt_1:
mov al,[altlng1]
cmp al,0
je .exit
sub al,1
mov [key_r],al
jmp alted
 
.alt_2:
mov al,[altlng2]
cmp al,0
je .exit
sub al,1
mov [key_r],al
jmp alted
.alt_3:
mov al,[altlng3]
cmp al,0
je .exit
sub al,1
mov [key_r],al
jmp alted
.alt_4:
mov al,[altlng4]
cmp al,0
je .exit
sub al,1
mov [key_r],al
jmp alted
.alt_5:
mov al,[altlng5]
cmp al,0
je .exit
sub al,1
mov [key_r],al
jmp alted
.alt_6:
mov al,[altlng6]
cmp al,0
je .exit
sub al,1
mov [key_r],al
jmp alted
.alt_7:
mov al,[altlng7]
cmp al,0
je .exit
sub al,1
mov [key_r],al
jmp alted
.exit:
ret
alted:
cmp [key_r],0
je alt_1
cmp [key_r],1
je alt_2
cmp [key_r],2
je alt_3
cmp [key_r],3
je alt_4
cmp [key_r],4
je alt_5
cmp [key_r],5
je alt_6
cmp [key_r],6
je alt_7
ret
alt_1:
mov [point],0
mcall 70,get_key
 
mov eax,21 ; english 0
mov ebx,2
mov ecx,1
mov edx,en_keymap
mcall
mov eax,21
inc ecx
mov edx,en_keymap_shift
mcall
mov eax,21
mov ecx,9
mov edx,1
mcall
ret
alt_2:
mov [point],384
mcall 70,get_key
 
 
mov eax,21 ; russian
mov ebx,2
mov ecx,1
mov edx,en_keymap
mcall
mov eax,21
inc ecx
mov edx,en_keymap_shift
mcall
mov eax,21
mov ecx,9
mov edx,2
mcall
ret
alt_3:
mov [point],768
mcall 70,get_key
mov eax,21 ; german
mov ebx,2
mov ecx,1
mov edx,en_keymap
mcall
mov eax,21
inc ecx
mov edx,en_keymap_shift
mcall
mov eax,21
mov ecx,9
mov edx,3
mcall
ret
alt_4:
mov [point],1152
mcall 70,get_key
mov eax,21 ;french
mov ebx,2
mov ecx,1
mov edx,en_keymap
mcall
mov eax,21
inc ecx
mov edx,en_keymap_shift
mcall
mov eax,21
inc ecx
mov edx,en_keymap_alt
mcall
mov eax,21
mov ecx,9
mov edx,4
mcall
ret
alt_5:
mov [point],1536
mcall 70,get_key
mov eax,21 ; finnish
mov ebx,2
mov ecx,1
mov edx,en_keymap
mcall
mov eax,21
inc ecx
mov edx,en_keymap_shift
mcall
mov eax,21
mov ecx,9
mov edx,5
mcall
ret
alt_6:
mov [point],1920
mcall 70,get_key
mov eax,21 ; estonian
mov ebx,2
mov ecx,1
mov edx,en_keymap
mcall
mov eax,21
inc ecx
mov edx,en_keymap_shift
mcall
mov eax,21
mov ecx,9
mov edx,6
mcall
ret
alt_7:
mov [point],2304
mcall 70,get_key
mov eax,21 ; Ukrainian
mov ebx,2
mov ecx,1
mov edx,en_keymap
mcall
mov eax,21
inc ecx
mov edx,en_keymap_shift
mcall
mov eax,21
mov ecx,9
mov edx,7
mcall
ret
en_keymap:
rb 128
en_keymap_shift:
rb 128
en_keymap_alt:
rb 128
key_r db 0
key_r2 db 0
key_r3 db 0
inicont db 0
firini db 0
lngcrc1 db 0
lngcrc2 db 0
lngcrc3 db 0
altlng1 db 0
altlng2 db 0
altlng3 db 0
altlng4 db 0
altlng5 db 0
altlng6 db 0
altlng7 db 0
altlng8 db 0
altlng9 db 0
altlng0 db 0
get_key:
dd 0
point dd 0
dd 0
dd 384
dd en_keymap
db 0
dd key_file
get_ini:
dd 0
point2 dd 0
dd 0
dd 1
dd inicont
db 0
dd ini_file
 
key_file: db '/rd/1/keymap.key',0
ini_file: db '/rd/1/lang.ini',0
/programs/system/panel/trunk/ctx_menu.asm
50,6 → 50,7
ctx_menu_button:
mov eax, 17
int 0x40
 
cmp ah, 1
; // Alver 26.08.2007 // {
; jne ctx_menu_still
104,6 → 105,7
jmp ctx_menu_still
 
ctx_menu_exit:
 
xor eax, eax
dec eax ; mov eax, -1
int 0x40
/programs/system/panel/trunk/readme.txt
0,0 → 1,9
Òåïåðü ïàíåëü ÷èòàåò íàñòðîéêè ïåðåêëþ÷àòåëÿ ðàñêëàäîê ñ âíåøíåãî ôàéëà lang.ini,
à ñàìè ðàñêëàäêè ñ ôàéëà keymap.key
keymap.key ïðåäñòàâëÿåò ñîáîé ôàéë ñ áëîêîâ äàííûõ ïî 384 áàéòà, 128 áàéò ïðîñòàÿ
ðàñêëàäêà, ïîòîì 128 áàéò ñ shift,è 128 ñ alt
â lang.ini ÿçûêè îáîçíà÷åíû öèôðàìè, ñîãëàñíî ñïèñêà. ìîæíî çàäàòü íà÷àëüíûé ÿçûê,
àçûêè ïåðåêëþ÷àþùèåñÿ ïî ctrl+shift, (èõ 3 øòóêè) è ÿçûêè, ðàáîòàþùèå ñ alt+öèôðà
(7 øòóê, ïîêà âñå ðàñêëàäêè, ÷òî åñòü â íàëè÷èè) ïîäïðàâèë ðàñêëàäêó ôðàíöóçñêîãî.
lang.ini, è keymap.key êèíóòü â îáðàç, âìåñòå ñ ïàíåëüþ... íàñòðîéêè ïðèìåíÿþòñÿ
ïîñëå ïåðåçàãðóçêè...:)