#ifndef _X11_HEAD_H__
#define _X11_HEAD_H__

/* -*- Mode: C; indent-tabs-mode: nil; tab-width: 4 -*-
 * -*- coding: utf-8 -*-
 *
 * Copyright (C) 2023 KylinSoft Co., Ltd.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#ifdef __cplusplus
extern "C" {
#endif

#include <X11/Xlib.h>            // 基础Xlib库
#include <X11/Xlibint.h>         // Xlib内部接口（通常不推荐直接使用）
#include <X11/XKBlib.h>          // X键盘扩展
#include <X11/keysym.h>          // 键码和符号定义
#include <X11/Xatom.h>           // X原子

#include <X11/extensions/XInput.h> // X输入扩展
#include <X11/extensions/XInput2.h> // X输入扩展2
#include <X11/extensions/Xrandr.h>  // X屏幕重设大小扩展
#include <X11/extensions/Xfixes.h>  // X修正扩展
#include <X11/extensions/record.h>  // X记录扩展（注意：这里重复了，应去除一个）
#include <X11/Xcursor/Xcursor.h>    // X光标库


#include <gdk/gdk.h>         // GDK库
#include <glib.h>            // GLib库

#include <gudev/gudev.h>     // Gudev库

#ifdef Always
#undef Always
#endif


#ifdef FontChange
#undef FontChange
#endif


#ifdef Unsorted
#undef Unsorted
#endif

#ifdef Expose
#undef Expose
#endif

#ifdef FocusIn
#undef FocusIn
#endif


#ifdef FocusOut
#undef FocusOut
#endif



#ifdef KeyPress
#undef KeyPress
#endif


#ifdef KeyRelease
#undef KeyRelease
#endif


#ifdef CursorShape
#undef CursorShape
#endif

#ifdef Bool
#undef Bool
#endif

#ifdef None
#undef None
#endif


#ifdef max
#undef max
#endif

#ifdef min
#undef min
#endif

#ifdef Data
#undef Data
#endif

#ifdef __cplusplus
}
#endif

#endif
