Beispiel #1
0
static void virgo_init(Virgo *v)
{
	unsigned i;
	v->handle_hotkeys = 1;
	for (i=0; i<NUM_DESKTOPS; i++) {
		register_hotkey(i*2, MOD_ALT|MOD_NOREPEAT, i+1+'0');
		register_hotkey(i*2+1, MOD_CONTROL|MOD_NOREPEAT, i+1+'0');
	}
	register_hotkey(i*2, MOD_ALT|MOD_CONTROL|MOD_SHIFT|MOD_NOREPEAT, 'Q');
	register_hotkey(i*2+1, MOD_ALT|MOD_CONTROL|MOD_SHIFT|MOD_NOREPEAT, 'S');
	trayicon_init(&v->trayicon);
}
Beispiel #2
0
static void virgo_init(Virgo *v)
{
	#define MOD_NOREPEAT 0x4000
	int i;
	v->current = 0;
	for(i=0; i<NUM_DESKTOPS; i++) {
		v->desktops[i].windows = NULL;
		v->desktops[i].count = 0;
		register_hotkey(i*2, MOD_ALT|MOD_NOREPEAT, i+1+0x30);
		register_hotkey(i*2+1, MOD_CONTROL|MOD_NOREPEAT, i+1+0x30);
	}
	register_hotkey(i*2, MOD_ALT|MOD_CONTROL|MOD_SHIFT|MOD_NOREPEAT, 'Q');
	trayicon_init(&v->trayicon);
}
Beispiel #3
0
static void virgo_toggle_hotkeys(Virgo *v)
{
	unsigned i;
	v->handle_hotkeys = !v->handle_hotkeys;
	if (v->handle_hotkeys) {
		for (i=0; i<NUM_DESKTOPS; i++) {
			register_hotkey(i*2, MOD_ALT|MOD_NOREPEAT, i+1+'0');
			register_hotkey(i*2+1, MOD_CONTROL|MOD_NOREPEAT, i+1+'0');
		}
	} else {
		for (i=0; i<NUM_DESKTOPS; i++) {
			UnregisterHotKey(NULL, i*2);
			UnregisterHotKey(NULL, i*2+1);
		}
	}
}
Beispiel #4
0
static void
starlog_init(Starlog *s, HINSTANCE hInstance)
{
	const char className[] = "starlog";
	WNDCLASSEX wc;
	
	wc.cbSize = sizeof(WNDCLASSEX);
	wc.style = 0;
	wc.lpfnWndProc = WndProc;
	wc.cbClsExtra = sizeof(Starlog *);
	wc.cbWndExtra = 0;
	wc.hInstance = hInstance;
	wc.hIcon = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ICON));
	wc.hCursor = LoadCursor(NULL, IDC_ARROW);
	wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
	wc.lpszMenuName = NULL;
	wc.lpszClassName = className;
	wc.hIconSm = (HICON)LoadImage(GetModuleHandle(NULL),
		MAKEINTRESOURCE(IDI_ICON), IMAGE_ICON, 16, 16, 0);
	if(!RegisterClassEx(&wc)) {
		MessageBox(NULL, "Window Registration Failed!", "error",
			MB_ICONEXCLAMATION|MB_OK);
		ExitProcess(1);
	}
	s->hwnd = CreateWindowEx(
		WS_EX_CLIENTEDGE,
		className, "starlog",
		WS_OVERLAPPED|WS_CAPTION|WS_THICKFRAME|WS_SYSMENU,
		CW_USEDEFAULT, CW_USEDEFAULT, WIN_WIDTH, WIN_HEIGHT,
		NULL, NULL, hInstance, NULL);

	if(!s->hwnd) {
		MessageBox(NULL, "Window Creation Failed!", "error",
			MB_ICONEXCLAMATION|MB_OK);
		ExitProcess(1);
	}

	s->edit_log = CreateWindowEx(0,
		"Edit", "",
		WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_MULTILINE|
		ES_AUTOVSCROLL|ES_AUTOHSCROLL|WS_EX_CONTROLPARENT|WS_BORDER,
		10, 10, WIN_WIDTH-40, WIN_HEIGHT-90,
		s->hwnd, NULL,
		hInstance, NULL);

	s->bu_save_close = CreateWindowEx(0,
		"Button", "SAVE && CLOSE",
		WS_CHILD|WS_VISIBLE|WS_TABSTOP|BS_DEFPUSHBUTTON,
		10, WIN_HEIGHT-75, 130, 24,
		s->hwnd, (HMENU)IDC_SAVE_CLOSE,
		hInstance, NULL);

	s->bu_close = CreateWindowEx(0,
		"Button", "CLOSE",
		WS_CHILD|WS_VISIBLE|WS_TABSTOP|BS_DEFPUSHBUTTON,
		150, WIN_HEIGHT-75, 130, 24,
		s->hwnd, (HMENU)IDC_CLOSE,
		hInstance, NULL);

	SetWindowLongPtr(s->hwnd, GWLP_USERDATA, (LONG_PTR)s);

	register_hotkey(HOTKEY_LOG,
		MOD_ALT|MOD_CONTROL|MOD_SHIFT|MOD_NOREPEAT, 'L');
}