forked from KolibriOS/kolibrios
Sysmon: add a button to hide and show sensors (but it do not remember its state after app reopen)
git-svn-id: svn://kolibrios.org@9581 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
59d0c5206e
commit
512e7907ed
@ -135,6 +135,7 @@ void handle_param()
|
||||
strcpy(#program_path+strrchr(#program_path,'/'), "EOLITE");
|
||||
}
|
||||
|
||||
SetAppColors();
|
||||
LoadIniSettings();
|
||||
|
||||
for (i=0; i<PANES_COUNT; i++) {
|
||||
@ -190,7 +191,6 @@ void main()
|
||||
load_dll(libini, #lib_init,1);
|
||||
load_dll(libimg, #libimg_init,1);
|
||||
|
||||
SetAppColors();
|
||||
handle_param();
|
||||
|
||||
SystemDiscs.Get();
|
||||
|
@ -229,7 +229,8 @@ void SetAppColors()
|
||||
col.list_text_hidden = 0xA6A6B7;
|
||||
col.list_vert_line = 0xDDD7CF;
|
||||
col.lpanel = 0x00699C;
|
||||
col.selec = col.selec_active = 0x92B1D9;
|
||||
if (efm) EBX = 0x84BEFB; else EBX = 0x92B1D9;
|
||||
col.selec = col.selec_active = EBX;
|
||||
col.selec_text = 0x000000;
|
||||
col.slider_bg_big = 0xCDCFCF;
|
||||
col.odd_line = 0xF4F5F5;
|
||||
|
@ -2,4 +2,4 @@
|
||||
@c-- /D=LANG_RUS sysmon.c
|
||||
@rename sysmon.com sysmon
|
||||
@del warning.txt
|
||||
@pause
|
||||
if not exist sysmon ( @pause )
|
@ -2,4 +2,4 @@
|
||||
@c-- /D=LANG_RUS sysmon.c
|
||||
@rename sysmon.com sysmon
|
||||
@del warning.txt
|
||||
@pause
|
||||
if not exist sysmon ( @pause )
|
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* System Monitor
|
||||
* version 1.37
|
||||
* version 1.4
|
||||
* Author: Leency
|
||||
*/
|
||||
|
||||
#define MEMSIZE 4096*30
|
||||
#define MEMSIZE 1024*60
|
||||
#define NO_DLL_INIT
|
||||
|
||||
//===================================================//
|
||||
@ -61,10 +61,11 @@
|
||||
#endif
|
||||
|
||||
enum {
|
||||
BTN_ID_SHOW_SYSTEM_PROCESSES=200,
|
||||
BTN_ID_PROC_KILL,
|
||||
BTN_ID_PROC_INFO,
|
||||
BTN_ID_MENU
|
||||
BTN_SHOW_SYSTEM_PROCESSES=200,
|
||||
BTN_PROC_KILL,
|
||||
BTN_PROC_INFO,
|
||||
BTN_MENU,
|
||||
BTN_SHOWHIDE_SENSORS
|
||||
};
|
||||
|
||||
//===================================================//
|
||||
@ -87,21 +88,18 @@ proc_info Form;
|
||||
|
||||
int right_w;
|
||||
|
||||
bool show_sensors = true;
|
||||
|
||||
//===================================================//
|
||||
// //
|
||||
// CODE //
|
||||
// //
|
||||
//===================================================//
|
||||
|
||||
void load_lib()
|
||||
{
|
||||
load_dll(boxlib, #box_lib_init,0);
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
int btn;
|
||||
load_lib();
|
||||
load_dll(boxlib, #box_lib_init,0);
|
||||
@SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
|
||||
loop() switch(@WaitEventTimeout(50))
|
||||
{
|
||||
@ -121,27 +119,45 @@ void main()
|
||||
if (show_system.click(btn)) {
|
||||
SelectList_LineChanged();
|
||||
}
|
||||
if (BTN_ID_PROC_KILL == btn) {
|
||||
if (BTN_PROC_KILL == btn) {
|
||||
EventKillCurrentProcess();
|
||||
}
|
||||
if (BTN_ID_PROC_INFO == btn) {
|
||||
if (BTN_PROC_INFO == btn) {
|
||||
RunProgram("/sys/tinfo", itoa(GetProcessSlot(current_process_id)));
|
||||
}
|
||||
if (BTN_SHOWHIDE_SENSORS == btn) {
|
||||
show_sensors ^= 1;
|
||||
GOTO _DRAW_WINDOW;
|
||||
}
|
||||
break;
|
||||
case evReDraw:
|
||||
sc.get();
|
||||
DefineAndDrawWindow(screen.width/2 - 350, 100, 700, 490, 0x33, sc.work, T_APP_TITLE,0);
|
||||
_DRAW_WINDOW:
|
||||
GetProcessInfo(#Form, SelfInfo);
|
||||
if (Form.status_window&ROLLED_UP) break;
|
||||
if (Form.width < RIGHT_X+370) { MoveSize(OLD,OLD,RIGHT_X+370,OLD); break; }
|
||||
if (Form.height < 420) { MoveSize(OLD,OLD,OLD,420); break; }
|
||||
if (show_sensors) {
|
||||
if (Form.width < RIGHT_X+370) { MoveSize(OLD,OLD,RIGHT_X+370,OLD); break; }
|
||||
} else {
|
||||
if (Form.width != RIGHT_X+5) { MoveSize(OLD,OLD,RIGHT_X+5,OLD); break; }
|
||||
}
|
||||
right_w = Form.cwidth - RIGHT_X - GAP;
|
||||
right_w &= ~1; // make sure the number is even
|
||||
WriteText(GAP+5, WIN_CONTENT_Y-20, 0x90, sc.work_text, T_PROC_HEADER);
|
||||
|
||||
DefineButton(RIGHT_X-38,WIN_CONTENT_Y-25,18,18,BTN_SHOWHIDE_SENSORS,sc.work);
|
||||
DrawRectangle3D(RIGHT_X-38,WIN_CONTENT_Y-25,19,18,sc.work_graph,sc.work_light);
|
||||
PutPixel(RIGHT_X-38+19,WIN_CONTENT_Y-25,sc.work_light);
|
||||
EDX = "<\0>";
|
||||
EDX += show_sensors * 2;
|
||||
WriteText(RIGHT_X-38+5,WIN_CONTENT_Y-25+2,0x90,sc.work_text, EDX);
|
||||
//EBX += 5 << 16;
|
||||
//$int 64
|
||||
|
||||
//bool burger_active = false;
|
||||
//if (menu_id == OPEN_FILE) burger_active = true;
|
||||
//DrawTopPanelButton(BTN_ID_MENU, Form.cwidth-GAP-3, GAP, -1, burger_active);
|
||||
//DrawTopPanelButton(BTN_MENU, Form.cwidth-GAP-3, GAP, -1, burger_active);
|
||||
|
||||
SelectList_Init(GAP, WIN_CONTENT_Y, PROCESS_LIST_W,
|
||||
Form.cheight-BOTPANEL_H-WIN_CONTENT_Y);
|
||||
@ -150,22 +166,26 @@ void main()
|
||||
DrawBar(select_list.x-2, select_list.y+select_list.h+2,
|
||||
select_list.w+scroll1.size_x+4, BOTPANEL_H, sc.work);
|
||||
DrawCaptButton(PROCESS_LIST_W+GAP-110+18, select_list.y+select_list.h+5,
|
||||
110,23,BTN_ID_PROC_KILL,0xF38181, 0xFFFfff, T_PROC_KILL);
|
||||
110,23,BTN_PROC_KILL,0xF38181, 0xFFFfff, T_PROC_KILL);
|
||||
DrawCaptButton(PROCESS_LIST_W+GAP-165+18, select_list.y+select_list.h+5,
|
||||
46,23,BTN_ID_PROC_INFO,sc.button, sc.button_text, T_PROC_INFO);
|
||||
46,23,BTN_PROC_INFO,sc.button, sc.button_text, T_PROC_INFO);
|
||||
show_system.draw(GAP-1, select_list.y+select_list.h+10);
|
||||
|
||||
//WriteText(RIGHT_X, WIN_CONTENT_Y+25, 0x90, sc.work, "Update period: 5 seconds");
|
||||
if (show_sensors) {
|
||||
cpu.set_size(RIGHT_X, WIN_CONTENT_Y+25, right_w, 100);
|
||||
ram.set_size(RIGHT_X, WIN_CONTENT_Y+170, right_w, 23);
|
||||
rd.set_size(RIGHT_X, WIN_CONTENT_Y+240, right_w, 23);
|
||||
}
|
||||
default:
|
||||
SelectList_LineChanged();
|
||||
if (show_sensors) {
|
||||
MonitorCpu();
|
||||
MonitorRam();
|
||||
SelectList_LineChanged();
|
||||
MonitorRd();
|
||||
MonitorTmp();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EventKillCurrentProcess()
|
||||
|
Loading…
Reference in New Issue
Block a user