1 diff -Nru bbkeys-0.8.6/src/Baseresource.cc bbkeys-0.8.6.new/src/Baseresource.cc
2 --- bbkeys-0.8.6/src/Baseresource.cc Sun Jun 2 00:52:48 2002
3 +++ bbkeys-0.8.6.new/src/Baseresource.cc Sun Mar 23 15:36:00 2003
7 char *homedir = getenv("HOME");
8 - bbtool->config_filename = new char[strlen(homedir) + 32];
9 - sprintf(bbtool->config_filename, "%s/.blackboxrc", homedir);
10 + char *config_dir = getenv("CONFIG_DIR");
11 + if (config_dir != NULL) {
12 + bbtool->config_filename = new char[strlen(config_dir) + 32];
13 + sprintf(bbtool->config_filename, "%s/blackboxrc", config_dir);
15 + bbtool->config_filename = new char[strlen(homedir) + 32];
16 + sprintf(bbtool->config_filename, "%s/.blackboxrc", homedir);
18 if ((resource_db = XrmGetFileDatabase(bbtool->config_filename))!=NULL) {
19 ReadBlackboxResource();
20 ResourceType=BLACKBOX;
23 delete [] style.conf_filename;
24 char *homedir = getenv("HOME");
25 - int len=strlen(homedir) + strlen(BBTOOL_LOCAL);
27 - style.conf_filename = new char[len+2];
28 - memset(style.conf_filename, 0, len + 2);
29 - sprintf(style.conf_filename, "%s/%s", homedir,BBTOOL_LOCAL);
30 + char *config_dir = getenv("CONFIG_DIR");
33 + if (config_dir != NULL) {
34 + len=strlen(config_dir) + strlen(BBTOOL_CONFIG_DIR);
35 + style.conf_filename = new char[len+2];
36 + memset(style.conf_filename, 0, len + 2);
37 + sprintf(style.conf_filename, "%s/%s", config_dir,BBTOOL_CONFIG_DIR);
39 + len=strlen(homedir) + strlen(BBTOOL_LOCAL);
40 + style.conf_filename = new char[len+2];
41 + memset(style.conf_filename, 0, len + 2);
42 + sprintf(style.conf_filename, "%s/%s", homedir,BBTOOL_LOCAL);
44 if ((resource_db = XrmGetFileDatabase(style.conf_filename))==NULL) {
45 delete [] style.conf_filename;
46 int len=strlen(GLOBAL_NOBB);
49 delete [] style.conf_filename;
50 char *homedir = getenv("HOME");
51 - int len=strlen(homedir) + strlen(BLACKBOX_LOCAL);
52 - style.conf_filename = new char[len+2];
53 - memset(style.conf_filename, 0, len + 2);
54 - sprintf(style.conf_filename, "%s/%s", homedir,BLACKBOX_LOCAL);
55 + char *config_dir = getenv("CONFIG_DIR");
58 + if (config_dir != NULL) {
59 + len=strlen(config_dir) + strlen(BLACKBOX_CONFIG_DIR);
60 + style.conf_filename = new char[len+2];
61 + memset(style.conf_filename, 0, len + 2);
62 + sprintf(style.conf_filename, "%s/%s", config_dir,BLACKBOX_CONFIG_DIR);
64 + len=strlen(homedir) + strlen(BLACKBOX_LOCAL);
65 + style.conf_filename = new char[len+2];
66 + memset(style.conf_filename, 0, len + 2);
67 + sprintf(style.conf_filename, "%s/%s", homedir,BLACKBOX_LOCAL);
69 if ((db = XrmGetFileDatabase(style.conf_filename))==NULL) {
70 delete [] style.conf_filename;
71 int len=strlen(GLOBAL_BB);
72 diff -Nru bbkeys-0.8.6/src/Baseresource.hh bbkeys-0.8.6.new/src/Baseresource.hh
73 --- bbkeys-0.8.6/src/Baseresource.hh Tue Oct 8 02:06:41 2002
74 +++ bbkeys-0.8.6.new/src/Baseresource.hh Sun Mar 23 15:31:53 2003
77 #define BBTOOL_LOCAL ".bbtools/bbkeys.nobb"
78 #define BLACKBOX_LOCAL ".bbtools/bbkeys.bb"
79 +#define BBTOOL_CONFIG_DIR "bbtools/bbkeys.nobb"
80 +#define BLACKBOX_CONFIG_DIR "bbtools/bbkeys.bb"
84 diff -Nru bbkeys-0.8.6/src/bbkeys.cc bbkeys-0.8.6.new/src/bbkeys.cc
85 --- bbkeys-0.8.6/src/bbkeys.cc Tue Oct 15 19:23:16 2002
86 +++ bbkeys-0.8.6.new/src/bbkeys.cc Sun Mar 23 15:28:04 2003
88 timer->fireOnce(True);
90 if (!(options->bbkeysrc)){
91 + char *config_dir = getenv("CONFIG_DIR");
92 char *homedir = getenv("HOME");
93 - bbkeys_rcfile = new char[strlen(homedir) + 32];
94 - sprintf(bbkeys_rcfile, "%s/.bbkeysrc", homedir);
95 + if (config_dir != NULL) {
96 + bbkeys_rcfile = new char[strlen(config_dir) + 32];
97 + sprintf(bbkeys_rcfile, "%s/bbkeysrc", config_dir);
99 + bbkeys_rcfile = new char[strlen(homedir) + 32];
100 + sprintf(bbkeys_rcfile, "%s/.bbkeysrc", homedir);
103 bbkeys_rcfile = options->bbkeysrc;
105 diff -Nru bbkeys-0.8.6/src/bbkeysconf.pl.in bbkeys-0.8.6.new/src/bbkeysconf.pl.in
106 --- bbkeys-0.8.6/src/bbkeysconf.pl.in Sun Jan 13 18:59:39 2002
107 +++ bbkeys-0.8.6.new/src/bbkeysconf.pl.in Sun Mar 23 15:25:49 2003
112 -my $bbkeysrc = $ENV{HOME} . "/.bbkeysrc";
113 +my $bbkeysrc = ($ENV{CONFIG_DIR} ? $ENV{CONFIG_DIR} . "/bbkeysrc" : $ENV{HOME} . "/.bbkeysrc");
115 # get the keyconfig file from the commandline, or use the default
116 for ( $i=0; $i< @ARGV; $i++) {