all repos — tint2 @ f3260b67c58627bca0d9454b2e02f9f0cc19bbcc

fork of the tint2 desktop panel for my custom setup - only minimized windows across all desktops for the taskbar

fixed issue 134

git-svn-id: http://tint2.googlecode.com/svn/trunk@164 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
lorthiois@bbsoft.fr lorthiois@bbsoft.fr@121b4492-b84c-0410-8b4c-0d4edfb3f3cc
commit

f3260b67c58627bca0d9454b2e02f9f0cc19bbcc

parent

e43c22ddfd1730889acdb33cb4bdaeb01388725f

4 files changed, 40 insertions(+), 20 deletions(-)

jump to
M ChangeLogChangeLog

@@ -1,3 +1,6 @@

+2009-08-29 +- fixed issue 134 + 2009-08-29 - cleanup and add desktop_right/desktop_left action on task (by jackp)
M src/config.csrc/config.c

@@ -48,6 +48,9 @@ #ifdef ENABLE_BATTERY

#include "battery.h" #endif +// global path +char *config_path = 0; +char *thumbnail_path = 0; // -------------------------------------------------- // backward compatibility

@@ -739,6 +742,7 @@ // check tint2rc in user directory

path1 = g_build_filename (g_get_user_config_dir(), "tint2", "tint2rc", NULL); if (g_file_test (path1, G_FILE_TEST_EXISTS)) { i = config_read_file (path1); + config_path = strdup(path1); g_free(path1); return i; }

@@ -781,6 +785,7 @@ copy_file(path2, path1);

g_free(path2); i = config_read_file (path1); + config_path = strdup(path1); g_free(path1); return i; }
M src/config.hsrc/config.h

@@ -9,6 +9,8 @@

#ifndef CONFIG_H #define CONFIG_H +extern char *config_path; +extern char *thumbnail_path; void init_config(); void cleanup_config();
M src/tint.csrc/tint.c

@@ -46,8 +46,19 @@ signal_pending = sig;

} -void init () +void init (int argc, char *argv[]) { + int c; + + // read options + c = getopt (argc, argv, "c:"); + if (c != -1) { + config_path = strdup (optarg); + c = getopt (argc, argv, "j:"); + if (c != -1) + thumbnail_path = strdup (optarg); + } + // Set signal handler signal(SIGUSR1, signal_handler); signal(SIGINT, signal_handler);

@@ -105,6 +116,8 @@ if (path_status) g_free(path_status);

#endif if (clock_lclick_command) g_free(clock_lclick_command); if (clock_rclick_command) g_free(clock_rclick_command); + if (config_path) g_free(config_path); + if (thumbnail_path) g_free(thumbnail_path); if (server.monitor) free(server.monitor); XFreeGC(server.dsp, server.gc);

@@ -618,35 +631,32 @@ int main (int argc, char *argv[])

{ XEvent e; fd_set fd; - int x11_fd, i, c; + int x11_fd, i; struct timeval tv; Panel *panel; GSList *it; - init (); + init (argc, argv); load_config: i = 0; - c = getopt (argc, argv, "c:"); init_config(); - if (c != -1) { - i = config_read_file (optarg); - c = getopt (argc, argv, "j:"); - if (c != -1) { - // usage: tint2 [-c] <config_file> -j <file> for internal use - printf("file %s\n", optarg); - cleanup(); - exit(0); - } + if (config_path) + i = config_read_file (config_path); + else + i = config_read (); + if (!i) { + fprintf(stderr, "usage: tint2 [-c] <config_file>\n"); + cleanup(); + exit(1); } - if (!i) - i = config_read (); - if (!i) { - fprintf(stderr, "usage: tint2 [-c] <config_file>\n"); - cleanup(); - exit(1); - } config_finish(); + if (thumbnail_path) { + // usage: tint2 -j <file> for internal use + printf("file %s\n", thumbnail_path); + cleanup(); + exit(0); + } x11_fd = ConnectionNumber(server.dsp); XSync(server.dsp, False);