4,16 → 4,6 |
; ; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;------------------------------------------------------------------------------ |
; version: 2.2 |
; last update: 19/04/2012 |
; changed by: Marat Zakiyanov aka Mario79, aka Mario |
; changes: Support PrintScreen for SCRSHOOT. |
; Path to run applications from the INI file. |
; Algorithm anti-duplication of applications for run with hotkey. |
; Added color selection for the Alt+Tab. |
; Alt+Ctrl+ArrowLeft - Page list next |
; Alt+Ctrl+ArrowRight - Page list previous |
;------------------------------------------------------------------------------ |
; version: 2.1 |
; last update: 18/04/2012 |
; changed by: Marat Zakiyanov aka Mario79, aka Mario |
157,11 → 147,11 |
cmp al, 62 ; Alt+F4 |
jz kill_active_application |
|
cmp al, 205 |
jz page_list_next |
; cmp al, 71 |
; jz page_list_next |
|
cmp al, 203 |
jz page_list_prev |
; cmp al, 72 |
; jz page_list_prev |
|
cmp al, 69 ; Alt+Shift+NumLock |
jz start_mousemul_application |
171,9 → 161,6 |
|
cmp al, 32 ; Win+D |
jz minimize_all_windows |
|
cmp al, 55 ; PrintScreen DOWN |
jz start_PrintScreen_application |
;-------------------------------------- |
align 4 |
prod: |
234,15 → 221,6 |
;------------------------------------------------------------------------------ |
align 4 |
start_end_application: |
mov esi,end_name |
call algorithm_anti_duplication |
test eax,eax |
jz @f |
ret |
;-------------------------------------- |
align 4 |
@@: |
mov ebx, exec_fileinfo |
mov dword [ebx+21],end_name |
mcall 70 |
ret |
249,15 → 227,6 |
;------------------------------------------------------------------------------ |
align 4 |
start_mousemul_application: |
mov esi,mousemul_name |
call algorithm_anti_duplication |
test eax,eax |
jz @f |
ret |
;-------------------------------------- |
align 4 |
@@: |
mov ebx, exec_fileinfo |
mov dword [ebx+21],mousemul_name |
mcall 70 |
ret |
270,6 → 239,7 |
|
align 4 |
start_menu_application: |
mov [draw_window_1], 1 |
call menu_handler |
jmp begin_1.ret |
;------------------------------------------------------------------------------ |
282,37 → 252,12 |
align 4 |
@@: |
mov [start_menu_flag],1 |
|
mov esi,run_name |
call algorithm_anti_duplication |
test eax,eax |
jz @f |
ret |
;-------------------------------------- |
align 4 |
@@: |
mov ebx, exec_fileinfo |
mov [draw_window_1], 1 |
mov dword [ebx+21], run_name |
mcall 70 |
jmp begin_1.ret |
;------------------------------------------------------------------------------ |
align 4 |
start_PrintScreen_application: |
mov esi,printscreen_name |
call algorithm_anti_duplication |
test eax,eax |
jz @f |
ret |
;-------------------------------------- |
align 4 |
@@: |
mov ebx, exec_fileinfo |
mov dword [ebx+21],printscreen_name |
mov [ebx+8],dword bootparam_printscreen |
mcall 70 |
jmp begin_1.ret |
;------------------------------------------------------------------------------ |
align 4 |
minimize_all_windows: |
cmp [win_key_flag],1 |
je @f |
324,100 → 269,27 |
call clean_desktop |
ret |
;------------------------------------------------------------------------------ |
align 4 |
algorithm_anti_duplication: |
cld |
;-------------------------------------- |
align 4 |
@@: |
lodsb |
test al,al |
jnz @r |
;-------------------------------------- |
align 4 |
@@: |
std |
lodsb |
cmp al,'/' |
jnz @r |
add esi,2 |
mov edx,esi |
|
mov edi,1 |
;-------------------------------------- |
align 4 |
@@: |
inc edi |
mov ecx,edi |
mcall 9,procinfo_window_tabs |
|
cmp edi,eax |
jg .apply_changes |
|
; mov eax,[ebx+10] |
; and eax,not 20202020h |
; cmp eax,'SCRS' |
; jz @f |
|
; mov eax,[ebx+14] |
; and eax,not 20202020h |
; cmp eax,'HOOT' |
; jne @r |
mov esi,edx |
mov ecx,11 |
add ebx,9 |
cld |
;-------------------------------------- |
align 4 |
.loop: |
lodsb |
inc ebx |
cmp al,[ebx] |
jne @r |
|
loop .loop |
|
mov eax,1 |
ret |
;-------------------------------------- |
align 4 |
.apply_changes: |
xor eax,eax |
ret |
;align 4 |
;page_list_next: |
; cmp [page_list],15 |
; je @f |
; |
; inc [page_list] |
; mov [draw_window_1],1 |
;@@: |
; jmp begin_1.ret |
;------------------------------------------------------------------------------ |
align 4 |
page_list_next: |
cmp [page_list],50 |
je @f |
|
xor eax,eax |
cmp [page_list_enable],eax |
je @f |
|
inc [page_list] |
mov [redraw_window_flag],1 |
;-------------------------------------- |
align 4 |
@@: |
jmp begin_1.ret |
;align 4 |
;page_list_prev: |
; cmp [page_list],0 |
; je @f |
; |
; dec [page_list] |
; mov [draw_window_1],1 |
;@@: |
; jmp begin_1.ret |
;------------------------------------------------------------------------------ |
align 4 |
page_list_prev: |
xor eax,eax |
cmp [page_list],eax |
je @f |
|
cmp [page_list_enable],eax |
je @f |
|
dec [page_list] |
mov [redraw_window_flag],1 |
;-------------------------------------- |
align 4 |
@@: |
jmp begin_1.ret |
;------------------------------------------------------------------------------ |
align 4 |
alt_tab_pressed: |
; handle Alt+Tab and Alt+Shift+Tab |
mov ebp, eax |
547,6 → 419,7 |
xor edx, edx |
div [max_applications] |
mov [page_list], eax |
mov [draw_window_1], 1 |
mov edi, app_list |
push edi |
mov ecx, 20 |
605,11 → 478,6 |
mcall 66,4,0,2 ; LShift+RShift |
mcall 66,,,11h ; Ctrl+Shift |
mcall 66,,88,110h ; Alt+Ctrl+F12 |
; mcall 66,,75 ; Alt+Ctrl+ArrowLeft DOWN |
mcall 66,,203 ; Alt+Ctrl+ArrowLeft UP |
; mcall 66,,77 ; Alt+Ctrl+ArrowRight DOWN |
mcall 66,,205 ; Alt+Ctrl+ArrowRight UP |
|
mcall 66,,91,0h ; RWin DOWN |
mcall 66,,92 ; LWin DOWN |
mcall 66,,219 ; RWin UP |
623,15 → 491,13 |
mcall 66,,32,0h ; Win+D DOWN |
; mcall 66,,160,0h ; Win+D UP |
|
mcall 66,,55,0h ; PrintScreen DOWN |
; mcall 66,,183,0h ; PrintScreen UP |
|
|
; mcall 66,,91,100h ; Alt+LWin |
; mcall 66,,92 ; Alt+RWin |
mcall 66,,62,100h ; Alt+F4 |
; 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 |
639,8 → 505,7 |
mcall 66,,6 ; Alt+5 |
mcall 66,,7 ; Alt+6 |
mcall 66,,8 ; Alt+7 |
mcall 66,,15 ; Alt+Tab DOWN |
mcall 66,,15,101h ; Alt+Shift+Tab DOWN |
mcall 66,,,101h ; Alt+Shift+Tab |
mcall 66,,69 ; Alt+Shift+NumLock |
|
if caps_lock_check |
728,10 → 593,7 |
mcall 18,7 |
cmp [my_active_slot],eax |
je @f |
|
mov [current_active_slot],eax |
;-------------------------------------- |
align 4 |
@@: |
pop eax |
|
742,10 → 604,7 |
mov eax,[redraw_window_flag] |
test eax,eax |
jz @f |
|
call draw_window |
;-------------------------------------- |
align 4 |
@@: |
pop eax |
|
753,15 → 612,11 |
jnz @f |
call handle_key |
jmp .key |
;-------------------------------------- |
align 4 |
@@: |
cmp eax,3 ; button ? |
jz button |
|
; call handle_key |
;-------------------------------------- |
align 4 |
.key: |
cmp dword [active_window_changed], 0 |
jnz red_active |
784,10 → 639,7 |
rol eax,16 |
cmp [screen_size.width],ax |
je .lp1 |
|
rol eax,16 |
;-------------------------------------- |
align 4 |
@@: |
mov [screen_size],eax |
sub ecx,[height] |
826,8 → 678,6 |
|
cmp ecx,[current_active_slot] |
je .turn_off |
;-------------------------------------- |
align 4 |
@@: |
mcall 18,3, |
jmp .task_switching |
836,8 → 686,6 |
.turn_off: |
mov edx,ecx |
mcall 18,22,0 |
;-------------------------------------- |
align 4 |
.task_switching: |
mcall 68,1 |
jmp still |
899,7 → 747,11 |
;-------------------------------------- |
align 4 |
clean_desktop_1: |
|
|
call clean_desktop |
|
|
jmp still |
;-------------------------------------- |
align 4 |
908,12 → 760,6 |
cmp ah,byte 2 ; start calendar |
jnz noid15 ;noclock |
|
mov esi,calendar_name |
call algorithm_anti_duplication |
test eax,eax |
jnz still |
|
mov ebx, exec_fileinfo |
mov dword [ebx+21], calendar_name |
mcall 70 |
jmp still |
945,12 → 791,6 |
cmp ah,18 |
jne noid18 |
|
mov esi,sysmeter_name |
call algorithm_anti_duplication |
test eax,eax |
jnz still |
|
mov ebx, exec_fileinfo |
mov dword [ebx+21], sysmeter_name |
mcall 70 |
jmp still |
979,7 → 819,7 |
cmp ah,21 |
jnz noid21 |
|
cmp [page_list],50 |
cmp [page_list], 99 |
jnc still |
inc [page_list] |
jmp red |
1083,8 → 923,6 |
cmp [clean_desktop_minimize],1 |
je @f |
call restore_desktop |
;-------------------------------------- |
align 4 |
@@: |
ret |
; jmp still |
1277,6 → 1115,21 |
call menu_handler |
jmp small_wait |
;------------------------------------------------------------------------------ |
;align 4 |
;set_variables: |
; pusha |
; mov [button_frames],0x0 |
; cmp [buttons],0 |
; jne no_frames |
|
; mov [button_frames],0x40000000 |
;-------------------------------------- |
;align 4 |
;no_frames: |
; mcall 48,1,1 ; 3d button look |
; popa |
; ret |
;------------------------------------------------------------------------------ |
include 'libini.inc' |
;------------------------------------------------------------------------------ |
include 'dll.inc' |