aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormarkt <markt>2007-07-31 23:20:06 (GMT)
committermarkt <markt>2007-07-31 23:20:06 (GMT)
commit9bc606c9368da6f98e166b58d76d29dc8d7e9a64 (patch)
tree8f1d56eafc58da445b346b8e10c7b92894ddf6fd /src
parent10001bb941c263fa4c138869b2d88fa78e409036 (diff)
downloadfluxbox-9bc606c9368da6f98e166b58d76d29dc8d7e9a64.zip
fluxbox-9bc606c9368da6f98e166b58d76d29dc8d7e9a64.tar.bz2
use some decorations on applications' torn menus, and fix restart without an argument
Diffstat (limited to 'src')
-rw-r--r--src/Ewmh.cc7
-rw-r--r--src/FbTk/XmbFontImp.cc4
-rw-r--r--src/main.cc18
3 files changed, 18 insertions, 11 deletions
diff --git a/src/Ewmh.cc b/src/Ewmh.cc
index 9764998..7e5a50c 100644
--- a/src/Ewmh.cc
+++ b/src/Ewmh.cc
@@ -297,8 +297,7 @@ void Ewmh::setupFrame(FluxboxWindow &win) {
297 } else if (atoms[l] == m_net_wm_window_type_dialog) { 297 } else if (atoms[l] == m_net_wm_window_type_dialog) {
298 // dialog windows should not be tabable 298 // dialog windows should not be tabable
299 win.setTabable(false); 299 win.setTabable(false);
300 } else if (atoms[l] == m_net_wm_window_type_menu || 300 } else if (atoms[l] == m_net_wm_window_type_menu) {
301 atoms[l] == m_net_wm_window_type_toolbar) {
302 /* 301 /*
303 * _NET_WM_WINDOW_TYPE_TOOLBAR and _NET_WM_WINDOW_TYPE_MENU 302 * _NET_WM_WINDOW_TYPE_TOOLBAR and _NET_WM_WINDOW_TYPE_MENU
304 * indicate toolbar and pinnable menu windows, respectively 303 * indicate toolbar and pinnable menu windows, respectively
@@ -306,6 +305,10 @@ void Ewmh::setupFrame(FluxboxWindow &win) {
306 * application). Windows of this type may set the 305 * application). Windows of this type may set the
307 * WM_TRANSIENT_FOR hint indicating the main application window. 306 * WM_TRANSIENT_FOR hint indicating the main application window.
308 */ 307 */
308 win.setDecorationMask(FluxboxWindow::DECOR_TINY);
309 win.setIconHidden(true);
310 win.moveToLayer(Layer::ABOVE_DOCK);
311 } else if (atoms[l] == m_net_wm_window_type_toolbar) {
309 win.setDecorationMask(FluxboxWindow::DECOR_NONE); 312 win.setDecorationMask(FluxboxWindow::DECOR_NONE);
310 win.setIconHidden(true); 313 win.setIconHidden(true);
311 win.moveToLayer(Layer::ABOVE_DOCK); 314 win.moveToLayer(Layer::ABOVE_DOCK);
diff --git a/src/FbTk/XmbFontImp.cc b/src/FbTk/XmbFontImp.cc
index 025f96d..3a45b09 100644
--- a/src/FbTk/XmbFontImp.cc
+++ b/src/FbTk/XmbFontImp.cc
@@ -115,7 +115,9 @@ const char *getFontElement(const char *pattern, char *buf, int bufsiz, ...) {
115XFontSet createFontSet(const char *fontname, bool& utf8mode) { 115XFontSet createFontSet(const char *fontname, bool& utf8mode) {
116 Display *display = FbTk::App::instance()->display(); 116 Display *display = FbTk::App::instance()->display();
117 XFontSet fs; 117 XFontSet fs;
118 char **missing, *def = "-"; 118 char **missing;
119 const char *constdef = "-";
120 char *def = const_cast<char *>(constdef);
119 int nmissing; 121 int nmissing;
120 string orig_locale = ""; 122 string orig_locale = "";
121 123
diff --git a/src/main.cc b/src/main.cc
index 2d1ff0d..4554123 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -321,14 +321,16 @@ int main(int argc, char **argv) {
321 FbTk::FbStringUtil::shutdown(); 321 FbTk::FbStringUtil::shutdown();
322 322
323 if (restarting) { 323 if (restarting) {
324 const char *shell = getenv("SHELL"); 324 if (!restart_argument.empty()) {
325 if (!shell) 325 const char *shell = getenv("SHELL");
326 shell = "/bin/sh"; 326 if (!shell)
327 327 shell = "/bin/sh";
328 const char *arg = restart_argument.c_str(); 328
329 if (arg) { 329 const char *arg = restart_argument.c_str();
330 execlp(shell, shell, "-c", arg, (char *) NULL); 330 if (arg) {
331 perror(arg); 331 execlp(shell, shell, "-c", arg, (const char *) NULL);
332 perror(arg);
333 }
332 } 334 }
333 335
334 // fall back in case the above execlp doesn't work 336 // fall back in case the above execlp doesn't work