📄 launcher.h
字号:
/* * The contents of this file are subject to the Mozilla Public License * Version 1.1 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the * License for the specific language governing rights and limitations * under the License. * * The Original Code is NanoLauncher. * * The Initial Developer of the Original Code is Alex Holden. * Portions created by Alex Holden are Copyright (C) 2000 * Alex Holden <alex@linuxhacker.org>. All Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the terms * of the GNU General Public license (the "[GNU] License"), in which case the * provisions of [GNU] License are applicable instead of those * above. If you wish to allow use of your version of this file only * under the terms of the [GNU] License and not to allow others to use * your version of this file under the MPL, indicate your decision by * deleting the provisions above and replace them with the notice and * other provisions required by the [GNU] License. If you do not delete * the provisions above, a recipient may use your version of this file * under either the MPL or the [GNU] License. */#ifndef LAUNCHER_H#define LAUNCHER_H#define ITEM_WIDTH 100#define ITEM_HEIGHT 60#define ITEM_TEXT_COLOUR BLACK#define ITEM_BORDER_COLOUR BLACK#define ITEM_BACKGROUND_COLOUR LTGRAY#define ICON_WIDTH 32#define ICON_HEIGHT 32#define ICON_X_POSITION ((ITEM_WIDTH - ICON_WIDTH) / 2)#define ICON_Y_POSITION 6#define TEXT_Y_POSITION (ITEM_HEIGHT - 6)#define MAX_ARGUMENTS 12struct command_argv { char *command; char *argv[MAX_ARGUMENTS];};typedef struct command_argv prog_item;struct launcher_item { char *name; char *icon; prog_item *prog; struct launcher_item *next; struct launcher_item *prev; GR_IMAGE_ID iconid; GR_WINDOW_ID wid;};typedef struct launcher_item litem;struct screensaver_item { prog_item *prog; struct screensaver_item *next;};typedef struct screensaver_item sitem;struct launcher_state { char *config_file; GR_WINDOW_ID main_window; litem *litems; litem *lastlitem; int numlitems; sitem *sitems; sitem *cursitem; GR_GC_ID gc; GR_EVENT event; int window_background_mode; char *window_background_image; GR_WINDOW_ID background_pixmap;};typedef struct launcher_state lstate;void reaper(int signum);void *my_malloc(size_t size);void usage(void);prog_item *make_prog_item(char *command, int lineno);void set_window_background_colour(char *buf, int lineno);void parse_config_line(lstate *state, char *buf, int lineno);void read_config(lstate *state);void draw_item(lstate *state, litem *item);void handle_exposure_event(lstate *state);void launch_program(prog_item *prog);void handle_mouse_event(lstate *state);void handle_screensaver_event(lstate *state);void handle_event(lstate *state);void do_event_loop(lstate *state);void initialise(lstate *state);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -