diff options
-rw-r--r-- | src/Slit.cc | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/src/Slit.cc b/src/Slit.cc index 9eaa439..46390c7 100644 --- a/src/Slit.cc +++ b/src/Slit.cc | |||
@@ -49,17 +49,13 @@ | |||
49 | 49 | ||
50 | #include "FbTk/App.hh" | 50 | #include "FbTk/App.hh" |
51 | #include "FbTk/MenuSeparator.hh" | 51 | #include "FbTk/MenuSeparator.hh" |
52 | #include "FbTk/FileUtil.hh" | ||
52 | #include "FbTk/StringUtil.hh" | 53 | #include "FbTk/StringUtil.hh" |
53 | #include "FbTk/I18n.hh" | 54 | #include "FbTk/I18n.hh" |
54 | #include "FbTk/BoolMenuItem.hh" | 55 | #include "FbTk/BoolMenuItem.hh" |
55 | #include "FbTk/IntMenuItem.hh" | 56 | #include "FbTk/IntMenuItem.hh" |
56 | #include "FbTk/RadioMenuItem.hh" | 57 | #include "FbTk/RadioMenuItem.hh" |
57 | 58 | ||
58 | #ifdef HAVE_SYS_STAT_H | ||
59 | #include <sys/types.h> | ||
60 | #include <sys/stat.h> | ||
61 | #endif // HAVE_SYS_STAT_H | ||
62 | |||
63 | #include <X11/Xatom.h> | 59 | #include <X11/Xatom.h> |
64 | 60 | ||
65 | #include <iostream> | 61 | #include <iostream> |
@@ -1043,10 +1039,12 @@ void Slit::toggleHidden() { | |||
1043 | if (doAutoHide()) { | 1039 | if (doAutoHide()) { |
1044 | if (!m_slitmenu.isVisible()) { | 1040 | if (!m_slitmenu.isVisible()) { |
1045 | m_timer.fireOnce(true); | 1041 | m_timer.fireOnce(true); |
1046 | } else | 1042 | } else { |
1047 | return; | 1043 | return; |
1048 | } else | 1044 | } |
1049 | if (!isHidden()) return; | 1045 | //} else if (!isHidden()) { |
1046 | // return; | ||
1047 | } | ||
1050 | 1048 | ||
1051 | m_hidden = ! m_hidden; // toggle hidden state | 1049 | m_hidden = ! m_hidden; // toggle hidden state |
1052 | if (isHidden()) | 1050 | if (isHidden()) |
@@ -1063,29 +1061,30 @@ void Slit::loadClientList(const char *filename) { | |||
1063 | m_filename = filename; | 1061 | m_filename = filename; |
1064 | string real_filename= FbTk::StringUtil::expandFilename(filename); | 1062 | string real_filename= FbTk::StringUtil::expandFilename(filename); |
1065 | 1063 | ||
1066 | struct stat buf; | 1064 | if (!FbTk::FileUtil::isRegularFile(real_filename.c_str())) { |
1067 | if (stat(real_filename.c_str(), &buf) == 0) { | 1065 | return; |
1068 | ifstream file(real_filename.c_str()); | 1066 | } |
1069 | string name; | ||
1070 | while (! file.eof()) { | ||
1071 | name = ""; | ||
1072 | getline(file, name); // get the entire line | ||
1073 | if (name.empty()) | ||
1074 | continue; | ||
1075 | 1067 | ||
1076 | // remove whitespaces from start and end | 1068 | ifstream file(real_filename.c_str()); |
1077 | FbTk::StringUtil::removeFirstWhitespace(name); | 1069 | string name; |
1070 | while (! file.eof()) { | ||
1071 | name.clear(); | ||
1072 | getline(file, name); // get the entire line | ||
1073 | if (name.empty()) | ||
1074 | continue; | ||
1075 | |||
1076 | // remove whitespaces from start and end | ||
1077 | FbTk::StringUtil::removeFirstWhitespace(name); | ||
1078 | 1078 | ||
1079 | // the cleaned string could still be a comment, or blank | 1079 | // the cleaned string could still be a comment, or blank |
1080 | if ( name.empty() || name[0] == '#' || name[0] == '!' ) | 1080 | if ( name.empty() || name[0] == '#' || name[0] == '!' ) |
1081 | continue; | 1081 | continue; |
1082 | 1082 | ||
1083 | // trailing whitespace won't affect the above test | 1083 | // trailing whitespace won't affect the above test |
1084 | FbTk::StringUtil::removeTrailingWhitespace(name); | 1084 | FbTk::StringUtil::removeTrailingWhitespace(name); |
1085 | 1085 | ||
1086 | SlitClient *client = new SlitClient(name.c_str()); | 1086 | SlitClient *client = new SlitClient(name.c_str()); |
1087 | m_client_list.push_back(client); | 1087 | m_client_list.push_back(client); |
1088 | } | ||
1089 | } | 1088 | } |
1090 | } | 1089 | } |
1091 | 1090 | ||