📄 events.c
字号:
/* * NanoWM - Window Manager for Nano-X * * Copyright (C) 2000 Greg Haerr <greg@censoft.com> * Copyright (C) 2000 Alex Holden <alex@linuxhacker.org> */#include <stdio.h>#include <stdlib.h>#define MWINCLUDECOLORS#include "nano-X.h"/* Uncomment this if you want debugging output from this file *//*#define DEBUG*/#include "nanowm.h"void do_exposure(GR_EVENT_EXPOSURE *event){ win *window; Dprintf("do_exposure: wid %d, x %d, y %d, width %d, height %d\n", event->wid, event->x, event->y, event->width, event->height); if(!(window = find_window(event->wid))) return; switch(window->type) { case WINDOW_TYPE_CONTAINER: container_exposure(window, event); break; default: printf("Unhandled exposure on window %d " "(type %d)\n", window->wid, window->type); break; }}void do_button_down(GR_EVENT_BUTTON *event){ win *window; Dprintf("do_button_down: wid %d, subwid %d, rootx %d, rooty %d, x %d, " "y %d, buttons %d, changebuttons %d, modifiers %d\n", event->wid, event->subwid, event->rootx, event->rooty, event->x, event->y, event->buttons, event->changebuttons, event->modifiers); if(!(window = find_window(event->wid))) return; switch(window->type) { case WINDOW_TYPE_CONTAINER: container_buttondown(window, event); break; default: printf("Unhandled button down on window %d " "(type %d)\n", window->wid, window->type); break; }}void do_button_up(GR_EVENT_BUTTON *event){ win *window; Dprintf("do_button_up: wid %d, subwid %d, rootx %d, rooty %d, x %d, " "y %d, buttons %d, changebuttons %d, modifiers %d\n", event->wid, event->subwid, event->rootx, event->rooty, event->x, event->y, event->buttons, event->changebuttons, event->modifiers); if(!(window = find_window(event->wid))) return; switch(window->type) { case WINDOW_TYPE_CONTAINER: container_buttonup(window, event); break; default: printf("Unhandled button up on window %d " "(type %d)\n", window->wid, window->type); break; }}void do_mouse_enter(GR_EVENT_GENERAL *event){ win *window; Dprintf("do_mouse_enter: wid %d\n", event->wid); if(!(window = find_window(event->wid))) return; switch(window->type) { default: printf("Unhandled mouse enter from window %d " "(type %d)\n", window->wid, window->type); break; }}void do_mouse_exit(GR_EVENT_GENERAL *event){ win *window; Dprintf("do_mouse_exit: wid %d\n", event->wid); if(!(window = find_window(event->wid))) return; switch(window->type) { default: printf("Unhandled mouse exit from window %d " "(type %d)\n", window->wid, window->type); break; }}void do_mouse_moved(GR_EVENT_MOUSE *event){ win *window; Dprintf("do_mouse_moved: wid %d, subwid %d, rootx %d, rooty %d, x %d, " "y %d, buttons %d, modifiers %d\n", event->wid, event->subwid, event->rootx, event->rooty, event->x, event->y, event->buttons, event->modifiers); if(!(window = find_window(event->wid))) return; switch(window->type) { case WINDOW_TYPE_CONTAINER: container_mousemoved(window, event); break; default: printf("Unhandled mouse movement in window %d " "(type %d)\n", window->wid, window->type); break; }}void do_focus_in(GR_EVENT_GENERAL *event){ win *window; printf("do_focus_in: wid %d\n", event->wid); if(!(window = find_window(event->wid))) return; switch(window->type) { default: printf("Unhandled focus in from window %d " "(type %d)\n", window->wid, window->type); break; }}void do_key_down(GR_EVENT_KEYSTROKE *event){ Dprintf("do_key_down: wid %d, subwid %d, rootx %d, rooty %d, x %d, " "y %d, buttons %d, modifiers %d, uch %lu, special %d, " "ch %d, content %d\n", event->wid, event->subwid, event->rootx, event->rooty, event->x, event->y, event->buttons, event->modifiers, event->uch, event->special, event->ch, event->content); /* FIXME: Implement keyboard shortcuts */}void do_key_up(GR_EVENT_KEYSTROKE *event){ Dprintf("do_key_up: wid %d, subwid %d, rootx %d, rooty %d, x %d, " "y %d, buttons %d, modifiers %d, uch %lu, special %d, " "ch %d, content %d\n", event->wid, event->subwid, event->rootx, event->rooty, event->x, event->y, event->buttons, event->modifiers, event->uch, event->special, event->ch, event->content);}void do_update(GR_EVENT_UPDATE *event){ win *window; Dprintf("do_update: wid %d, subwid %d, x %d, y %d, width %d, height %d, " "utype %d\n", event->wid, event->subwid, event->x, event->y, event->width, event->height, event->utype); if(!(window = find_window(event->subwid))) { if (event->utype == GR_UPDATE_MAP) new_client_window(event->subwid); return; } if(window->type == WINDOW_TYPE_CONTAINER) { if (event->utype == GR_UPDATE_ACTIVATE) redraw_ncarea(window); return; } if(window->type != WINDOW_TYPE_CLIENT) return; if(event->utype == GR_UPDATE_DESTROY) client_window_destroy(window);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -