|
|
|
|
From f29175b892026dbc4a8ad321e426f22e0a09b248 Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: "Ying-Chun Liu (PaulLiu)" <paulliu@debian.org>
|
|
|
|
|
Date: Sat, 8 Aug 2020 03:48:43 +0800
|
|
|
|
|
Subject: [PATCH] Porting to gcc 10
|
|
|
|
|
|
|
|
|
|
GCC will reject multiple definitions of global variables starting
|
|
|
|
|
from gcc-10. We need to move the definitions to a real object file.
|
|
|
|
|
And in headers we only extern it.
|
|
|
|
|
|
|
|
|
|
Signed-off-by: Ying-Chun Liu (PaulLiu) <paulliu@debian.org>
|
|
|
|
|
---
|
|
|
|
|
src/main.c | 42 ++++++++++++++++++
|
|
|
|
|
src/main.h | 123 +++++++++++++++++++++++++++++++----------------------
|
|
|
|
|
2 files changed, 113 insertions(+), 52 deletions(-)
|
|
|
|
|
|
|
|
|
|
diff --git a/src/main.c b/src/main.c
|
|
|
|
|
index 7944618..ce187a1 100644
|
|
|
|
|
--- a/src/main.c
|
|
|
|
|
+++ b/src/main.c
|
|
|
|
|
@@ -35,6 +35,48 @@
|
|
|
|
|
// *** GLOBAL ARGUMENT ***
|
|
|
|
|
|
|
|
|
|
gboolean FlagInstalledMenu;
|
|
|
|
|
+enum MENU_EXT_t MENU_EXT;
|
|
|
|
|
+enum MaCoPiXFolder_t MaCoPiXFolder;
|
|
|
|
|
+enum ClockMode_t ClockMode;
|
|
|
|
|
+enum HomePos_t HomePos;
|
|
|
|
|
+enum MoveMode_t MoveMode;
|
|
|
|
|
+#ifdef USE_OSX
|
|
|
|
|
+enum MAC_LAYER_MODE_t MAC_LAYER_MODE;
|
|
|
|
|
+#endif
|
|
|
|
|
+enum FFPos_t FFPos;
|
|
|
|
|
+enum AutoBar_t AutoBar;
|
|
|
|
|
+enum PosBalloon_t PosBalloon;
|
|
|
|
|
+enum TypBalloon_t TypBalloon;
|
|
|
|
|
+enum DuetAnimeMode_t DuetAnimeMode;
|
|
|
|
|
+enum TypInterpolate_t TypInterpolate;
|
|
|
|
|
+enum ClockType_t ClockType;
|
|
|
|
|
+enum MenuSelect_t MenuSelect;
|
|
|
|
|
+enum GuiFontConf_t GuiFontConf;
|
|
|
|
|
+enum GuiColorConf_t GuiColorConf;
|
|
|
|
|
+enum SetReleaseData_t SetReleaseData;
|
|
|
|
|
+enum MailStatus0_t MailStatus0;
|
|
|
|
|
+enum MailPixPos_t MailPixPos;
|
|
|
|
|
+enum MailStatus_t MailStatus;
|
|
|
|
|
+enum SignalAction_t SignalAction;
|
|
|
|
|
+enum ConsMode_t ConsMode;
|
|
|
|
|
+enum ScanMenuDir_t ScanMenuDir;
|
|
|
|
|
+enum CompositeFlag_t CompositeFlag;
|
|
|
|
|
+#ifdef USE_GTK3
|
|
|
|
|
+GdkPixbuf *pixbuf_main, *pixbuf_clk, *pixbuf_bal;
|
|
|
|
|
+#ifdef USE_WIN32
|
|
|
|
|
+GdkPixbuf *pixbuf_sdw;
|
|
|
|
|
+#endif
|
|
|
|
|
+#else // USE_GTK3
|
|
|
|
|
+GdkPixmap *pixmap_main, *pixmap_clk, *pixmap_bal;
|
|
|
|
|
+#ifdef USE_WIN32
|
|
|
|
|
+GdkPixmap *pixmap_sdw;
|
|
|
|
|
+#endif
|
|
|
|
|
+#endif // USE_GTK3
|
|
|
|
|
+gint window_x, window_y;
|
|
|
|
|
+gboolean supports_alpha;
|
|
|
|
|
+gboolean flag_balloon;
|
|
|
|
|
+
|
|
|
|
|
+pid_t http_pid;
|
|
|
|
|
|
|
|
|
|
// Prototype of functions in this file
|
|
|
|
|
#ifdef USE_GTK3
|
|
|
|
|
diff --git a/src/main.h b/src/main.h
|
|
|
|
|
index 496815e..42577a6 100644
|
|
|
|
|
--- a/src/main.h
|
|
|
|
|
+++ b/src/main.h
|
|
|
|
|
@@ -217,10 +217,11 @@
|
|
|
|
|
#define MENU_EXTRACT_GTAR_COMMAND "tar -zxf %s -C %s "
|
|
|
|
|
|
|
|
|
|
// MENU
|
|
|
|
|
-enum{ MENU_MENU,
|
|
|
|
|
+enum MENU_EXT_t { MENU_MENU,
|
|
|
|
|
MENU_LHA,
|
|
|
|
|
MENU_TAR
|
|
|
|
|
- }MENU_EXT;
|
|
|
|
|
+};
|
|
|
|
|
+extern enum MENU_EXT_t MENU_EXT;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѳ<EFBFBD>ĥ<EFBFBD><C4A5>
|
|
|
|
|
@@ -252,11 +253,12 @@ enum{ MENU_MENU,
|
|
|
|
|
#define SOUNDDIR "sound" G_DIR_SEPARATOR_S
|
|
|
|
|
|
|
|
|
|
// Folder
|
|
|
|
|
-enum{ FOLDER_DEFAULT,
|
|
|
|
|
+enum MaCoPiXFolder_t { FOLDER_DEFAULT,
|
|
|
|
|
FOLDER_PIX,
|
|
|
|
|
FOLDER_SOUND,
|
|
|
|
|
FOLDER_CURRENT
|
|
|
|
|
- }MaCoPiXFolder;
|
|
|
|
|
+};
|
|
|
|
|
+extern enum MaCoPiXFolder_t MaCoPiXFolder;
|
|
|
|
|
|
|
|
|
|
// <20>Ŀ<EFBFBD><C4BF>ѥ<EFBFBD><D1A5><EFBFBD><EFBFBD>֥ե<D6A5><D5A5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// (USER_DIR<49><52><EFBFBD>˺<EFBFBD><CBBA><EFBFBD> : <20>ޥ<EFBFBD><DEA5><EFBFBD><EFBFBD>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD>ѥ<EFBFBD><D1A5><EFBFBD><E1A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸)
|
|
|
|
|
@@ -292,10 +294,11 @@ enum{ FOLDER_DEFAULT,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// CLOCK_MODE
|
|
|
|
|
-enum{ CLOCK_NO,
|
|
|
|
|
+enum ClockMode_t { CLOCK_NO,
|
|
|
|
|
CLOCK_PIXMAP,
|
|
|
|
|
CLOCK_PANEL
|
|
|
|
|
-}ClockMode;
|
|
|
|
|
+};
|
|
|
|
|
+extern enum ClockMode_t ClockMode;
|
|
|
|
|
|
|
|
|
|
//ANIME
|
|
|
|
|
#define MAX_PIXMAP 64
|
|
|
|
|
@@ -330,47 +333,54 @@ enum{ CLOCK_NO,
|
|
|
|
|
#define ROOTOFF_Y (-10)
|
|
|
|
|
|
|
|
|
|
// Home Position Mode
|
|
|
|
|
-enum{ HOMEPOS_NEVER, HOMEPOS_VANISH, HOMEPOS_BAR } HomePos;
|
|
|
|
|
+enum HomePos_t { HOMEPOS_NEVER, HOMEPOS_VANISH, HOMEPOS_BAR };
|
|
|
|
|
+extern enum HomePos_t HomePos;
|
|
|
|
|
|
|
|
|
|
// Titlebar Offset for Focus Follow
|
|
|
|
|
enum{ FF_BAR_ABS, FF_BAR_REL };
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// MOVE mode
|
|
|
|
|
-enum{
|
|
|
|
|
+enum MoveMode_t {
|
|
|
|
|
MOVE_FIX,
|
|
|
|
|
MOVE_FOCUS
|
|
|
|
|
-}MoveMode;
|
|
|
|
|
+};
|
|
|
|
|
+extern enum MoveMode_t MoveMode;
|
|
|
|
|
|
|
|
|
|
#ifdef USE_OSX
|
|
|
|
|
-enum {
|
|
|
|
|
+enum MAC_LAYER_MODE_t {
|
|
|
|
|
MAC_LAYER_DEFAULT,
|
|
|
|
|
MAC_LAYER_TOP,
|
|
|
|
|
NUM_MAC_LAYER
|
|
|
|
|
-}MAC_LAYER_MODE;
|
|
|
|
|
+};
|
|
|
|
|
+extern enum MAC_LAYER_MODE_t MAC_LAYER_MODE;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
// Focus Follow <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
-enum{ FF_SIDE_LEFT, FF_SIDE_RIGHT } FFPos;
|
|
|
|
|
+enum FFPos_t { FF_SIDE_LEFT, FF_SIDE_RIGHT };
|
|
|
|
|
+extern enum FFPos_t FFPos;
|
|
|
|
|
|
|
|
|
|
// Focus Autobar <20><><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>ˡ
|
|
|
|
|
-enum{ AUTOBAR_MANUAL, AUTOBAR_ORDINAL, AUTOBAR_COMPIZ } AutoBar;
|
|
|
|
|
+enum AutoBar_t { AUTOBAR_MANUAL, AUTOBAR_ORDINAL, AUTOBAR_COMPIZ };
|
|
|
|
|
+extern enum AutoBar_t AutoBar;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Balloon Position
|
|
|
|
|
-enum{
|
|
|
|
|
+enum PosBalloon_t{
|
|
|
|
|
BAL_POS_LEFT,
|
|
|
|
|
BAL_POS_RIGHT
|
|
|
|
|
- } PosBalloon;
|
|
|
|
|
+ };
|
|
|
|
|
+extern enum PosBalloon_t PosBalloon;
|
|
|
|
|
|
|
|
|
|
// Balloon Mode
|
|
|
|
|
-enum{BALLOON_NORMAL,
|
|
|
|
|
+enum TypBalloon_t {BALLOON_NORMAL,
|
|
|
|
|
BALLOON_MAIL,
|
|
|
|
|
BALLOON_POPERROR,
|
|
|
|
|
BALLOON_SOCKMSG,
|
|
|
|
|
BALLOON_DUET,
|
|
|
|
|
BALLOON_SYS
|
|
|
|
|
- } TypBalloon;
|
|
|
|
|
+ };
|
|
|
|
|
+extern enum TypBalloon_t TypBalloon;
|
|
|
|
|
|
|
|
|
|
// Biff<66><66> Balloon<6F>μ<EFBFBD><CEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD>
|
|
|
|
|
#define BALLOON_EXPIRE 150
|
|
|
|
|
@@ -394,39 +404,41 @@ typedef enum {
|
|
|
|
|
#define DEF_DUET_DELAY 20
|
|
|
|
|
|
|
|
|
|
// Duet Anime mode
|
|
|
|
|
-enum{
|
|
|
|
|
+enum DuetAnimeMode_t {
|
|
|
|
|
DUET_CLICK,
|
|
|
|
|
DUET_RANDOM
|
|
|
|
|
- }DuetAnimeMode;
|
|
|
|
|
-
|
|
|
|
|
+ };
|
|
|
|
|
+extern enum DuetAnimeMode_t DuetAnimeMode;
|
|
|
|
|
|
|
|
|
|
// Interpolation Style for Magnification
|
|
|
|
|
-enum{ MAG_IP_NEAREST,
|
|
|
|
|
+enum TypInterpolate_t { MAG_IP_NEAREST,
|
|
|
|
|
MAG_IP_TILES,
|
|
|
|
|
MAG_IP_BILINEAR,
|
|
|
|
|
MAG_IP_HYPER
|
|
|
|
|
- } TypInterpolate;
|
|
|
|
|
-
|
|
|
|
|
+ };
|
|
|
|
|
+extern enum TypInterpolate_t TypInterpolate;
|
|
|
|
|
|
|
|
|
|
//Clock <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
-enum{ CLOCK_TYPE_24S,
|
|
|
|
|
+enum ClockType_t { CLOCK_TYPE_24S,
|
|
|
|
|
CLOCK_TYPE_24M,
|
|
|
|
|
CLOCK_TYPE_12S,
|
|
|
|
|
- CLOCK_TYPE_12M } ClockType;
|
|
|
|
|
-
|
|
|
|
|
+ CLOCK_TYPE_12M };
|
|
|
|
|
+extern enum ClockType_t ClockType;
|
|
|
|
|
|
|
|
|
|
// Font size ratio for AM/PM sign
|
|
|
|
|
#define CLOCK_AMPM_RATIO 0.6
|
|
|
|
|
|
|
|
|
|
// Install mode
|
|
|
|
|
-enum{ MENU_SELECT,
|
|
|
|
|
+enum MenuSelect_t { MENU_SELECT,
|
|
|
|
|
MENU_INSTALL_USER,
|
|
|
|
|
MENU_INSTALL_COMMON,
|
|
|
|
|
START_MENU_SELECT,
|
|
|
|
|
START_MENU_INSTALL_USER,
|
|
|
|
|
START_MENU_INSTALL_COMMON,
|
|
|
|
|
NUM_INSTALL_MODE
|
|
|
|
|
- } MenuSelect;
|
|
|
|
|
+ };
|
|
|
|
|
+extern enum MenuSelect_t MenuSelect;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
//DEFAULT Alpha
|
|
|
|
|
#define DEF_ALPHA_MAIN 100
|
|
|
|
|
@@ -542,14 +554,15 @@ static GdkColor color_lred= {0, 0xFFFF, 0xBBBB, 0xBBBB};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// for Callback of Configuration Dialog
|
|
|
|
|
-enum{CONF_FONT_CLK,
|
|
|
|
|
+enum GuiFontConf_t {CONF_FONT_CLK,
|
|
|
|
|
CONF_FONT_BAL,
|
|
|
|
|
CONF_DEF_FONT_CLK,
|
|
|
|
|
CONF_DEF_FONT_BAL,
|
|
|
|
|
INIT_DEF_FONT_CLK,
|
|
|
|
|
- INIT_DEF_FONT_BAL} GuiFontConf;
|
|
|
|
|
+ INIT_DEF_FONT_BAL};
|
|
|
|
|
+extern enum GuiFontConf_t GuiFontConf;
|
|
|
|
|
|
|
|
|
|
-enum{CONF_COLOR_CLK,
|
|
|
|
|
+enum GuiColorConf_t {CONF_COLOR_CLK,
|
|
|
|
|
CONF_COLOR_CLKBG,
|
|
|
|
|
CONF_COLOR_CLKBD,
|
|
|
|
|
CONF_COLOR_CLKSD,
|
|
|
|
|
@@ -568,19 +581,21 @@ enum{CONF_COLOR_CLK,
|
|
|
|
|
CONF_COLOR_FS_BG0,
|
|
|
|
|
CONF_COLOR_FS_BG1,
|
|
|
|
|
NUM_CONF_COLOR
|
|
|
|
|
-} GuiColorConf;
|
|
|
|
|
-
|
|
|
|
|
-enum{ SET_RELEASE_BALLOON, SET_RELEASE_CLOCK } SetReleaseData;
|
|
|
|
|
-
|
|
|
|
|
+};
|
|
|
|
|
+extern enum GuiColorConf_t GuiColorConf;
|
|
|
|
|
|
|
|
|
|
+enum SetReleaseData_t { SET_RELEASE_BALLOON, SET_RELEASE_CLOCK };
|
|
|
|
|
+extern enum SetReleaseData_t SetReleaseData;
|
|
|
|
|
|
|
|
|
|
// Setting for BIFF
|
|
|
|
|
#define DEF_MAIL_INTERVAL 60
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-enum{ MAIL_NO, MAIL_LOCAL, MAIL_POP3, MAIL_APOP, MAIL_QMAIL, MAIL_PROCMAIL } MailStatus0;
|
|
|
|
|
+enum MailStatus0_t { MAIL_NO, MAIL_LOCAL, MAIL_POP3, MAIL_APOP, MAIL_QMAIL, MAIL_PROCMAIL };
|
|
|
|
|
+extern enum MailStatus0_t MailStatus0;
|
|
|
|
|
|
|
|
|
|
-enum{ MAIL_PIX_LEFT, MAIL_PIX_RIGHT } MailPixPos;
|
|
|
|
|
+enum MailPixPos_t { MAIL_PIX_LEFT, MAIL_PIX_RIGHT };
|
|
|
|
|
+extern enum MailPixPos_t MailPixPos;
|
|
|
|
|
|
|
|
|
|
#undef POP_DEBUG /* pop3 debugging mode */
|
|
|
|
|
|
|
|
|
|
@@ -609,7 +624,8 @@ enum{ MAIL_PIX_LEFT, MAIL_PIX_RIGHT } MailPixPos;
|
|
|
|
|
#define BIFF_TOOLTIPS TRUE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-enum{ NO_MAIL, OLD_MAIL, NEW_MAIL, KEEP_NEW_MAIL } MailStatus;
|
|
|
|
|
+enum MailStatus_t { NO_MAIL, OLD_MAIL, NEW_MAIL, KEEP_NEW_MAIL };
|
|
|
|
|
+extern enum MailStatus_t MailStatus;
|
|
|
|
|
|
|
|
|
|
// mail status; array subscripts
|
|
|
|
|
|
|
|
|
|
@@ -637,14 +653,17 @@ enum{ NO_MAIL, OLD_MAIL, NEW_MAIL, KEEP_NEW_MAIL } MailStatus;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
-enum{ SIGACT_NO, SIGACT_CLICK, SIGACT_CHANGE } SignalAction;
|
|
|
|
|
+enum SignalAction_t { SIGACT_NO, SIGACT_CLICK, SIGACT_CHANGE };
|
|
|
|
|
+extern enum SignalAction_t SignalAction;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Consistency Check
|
|
|
|
|
-enum{ CONS_MANUAL, CONS_AUTOOW, CONS_IGNORE } ConsMode;
|
|
|
|
|
+enum ConsMode_t { CONS_MANUAL, CONS_AUTOOW, CONS_IGNORE };
|
|
|
|
|
+extern enum ConsMode_t ConsMode;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>˥塼<CBA5>ξ<EFBFBD><CEBE><EFBFBD>
|
|
|
|
|
-enum{ SMENU_DIR_COMMON, SMENU_DIR_USER } ScanMenuDir;
|
|
|
|
|
+enum ScanMenuDir_t { SMENU_DIR_COMMON, SMENU_DIR_USER };
|
|
|
|
|
+extern enum ScanMenuDir_t ScanMenuDir;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
|
@@ -661,11 +680,11 @@ typedef enum {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// COMPOSITE_FLAG
|
|
|
|
|
-enum{ COMPOSITE_FALSE,
|
|
|
|
|
+enum CompositeFlag_t { COMPOSITE_FALSE,
|
|
|
|
|
COMPOSITE_TRUE,
|
|
|
|
|
COMPOSITE_UNKNOWN
|
|
|
|
|
-}CompositeFlag;
|
|
|
|
|
-
|
|
|
|
|
+};
|
|
|
|
|
+extern enum CompositeFlag_t CompositeFlag;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1137,21 +1156,21 @@ typedef struct{
|
|
|
|
|
|
|
|
|
|
/////////// Global Arguments //////////
|
|
|
|
|
#ifdef USE_GTK3
|
|
|
|
|
-GdkPixbuf *pixbuf_main, *pixbuf_clk, *pixbuf_bal;
|
|
|
|
|
+extern GdkPixbuf *pixbuf_main, *pixbuf_clk, *pixbuf_bal;
|
|
|
|
|
#ifdef USE_WIN32
|
|
|
|
|
-GdkPixbuf *pixbuf_sdw;
|
|
|
|
|
+extern GdkPixbuf *pixbuf_sdw;
|
|
|
|
|
#endif
|
|
|
|
|
#else // USE_GTK3
|
|
|
|
|
-GdkPixmap *pixmap_main, *pixmap_clk, *pixmap_bal;
|
|
|
|
|
+extern GdkPixmap *pixmap_main, *pixmap_clk, *pixmap_bal;
|
|
|
|
|
#ifdef USE_WIN32
|
|
|
|
|
-GdkPixmap *pixmap_sdw;
|
|
|
|
|
+extern GdkPixmap *pixmap_sdw;
|
|
|
|
|
#endif
|
|
|
|
|
#endif // USE_GTK3
|
|
|
|
|
-gint window_x, window_y;
|
|
|
|
|
-gboolean supports_alpha;
|
|
|
|
|
-gboolean flag_balloon;
|
|
|
|
|
+extern gint window_x, window_y;
|
|
|
|
|
+extern gboolean supports_alpha;
|
|
|
|
|
+extern gboolean flag_balloon;
|
|
|
|
|
|
|
|
|
|
-pid_t http_pid;
|
|
|
|
|
+extern pid_t http_pid;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/////////// Proto types //////////
|