diff options
author | Mark Tiefenbruck <mark@fluxbox.org> | 2008-10-13 04:55:03 (GMT) |
---|---|---|
committer | Mark Tiefenbruck <mark@fluxbox.org> | 2008-10-13 04:55:03 (GMT) |
commit | 5b07791ed4c33a11f8fabd274b07056e4fa6996d (patch) | |
tree | 5b62f4b779aab02f5115d15c5682977ccab4b99a | |
parent | e5fd401f4eadef1aa4ab91b11d38653d1a4b7194 (diff) | |
download | fluxbox_paul-5b07791ed4c33a11f8fabd274b07056e4fa6996d.zip fluxbox_paul-5b07791ed4c33a11f8fabd274b07056e4fa6996d.tar.bz2 |
merge menuDelay and menuDelayClose options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | doc/asciidoc/fluxbox.1 | 32 | ||||
-rw-r--r-- | doc/asciidoc/fluxbox.txt | 16 | ||||
-rw-r--r-- | doc/fluxbox.1.in | 32 | ||||
-rw-r--r-- | src/FbTk/Menu.cc | 4 | ||||
-rw-r--r-- | src/FbTk/MenuTheme.cc | 3 | ||||
-rw-r--r-- | src/FbTk/MenuTheme.hh | 9 | ||||
-rw-r--r-- | src/Screen.cc | 17 | ||||
-rw-r--r-- | src/Screen.hh | 2 |
9 files changed, 22 insertions, 96 deletions
@@ -1,5 +1,8 @@ | |||
1 | (Format: Year/Month/Day) | 1 | (Format: Year/Month/Day) |
2 | Changes for 1.1.2 | 2 | Changes for 1.1.2 |
3 | *08/10/13: | ||
4 | * Merge menuDelay and menuDelayClose options in init (Mark) | ||
5 | Screen.cc/hh FbTk/MenuTheme.cc/hh FbTk/Menu.cc | ||
3 | *08/10/07: | 6 | *08/10/07: |
4 | * Allow relative paths for background images in style files (Mark) | 7 | * Allow relative paths for background images in style files (Mark) |
5 | RootTheme.cc FbTk/Image.cc/hh | 8 | RootTheme.cc FbTk/Image.cc/hh |
diff --git a/doc/asciidoc/fluxbox.1 b/doc/asciidoc/fluxbox.1 index 9eae541..11cea60 100644 --- a/doc/asciidoc/fluxbox.1 +++ b/doc/asciidoc/fluxbox.1 | |||
@@ -1,12 +1,12 @@ | |||
1 | .\" Title: fluxbox | 1 | .\" Title: fluxbox |
2 | .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] | 2 | .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] |
3 | .\" Generator: DocBook XSL Stylesheets v1.74.0 <http://docbook.sf.net/> | 3 | .\" Generator: DocBook XSL Stylesheets v1.74.0 <http://docbook.sf.net/> |
4 | .\" Date: 10/04/2008 | 4 | .\" Date: 10/12/2008 |
5 | .\" Manual: [FIXME: manual] | 5 | .\" Manual: [FIXME: manual] |
6 | .\" Source: [FIXME: source] | 6 | .\" Source: [FIXME: source] |
7 | .\" Language: English | 7 | .\" Language: English |
8 | .\" | 8 | .\" |
9 | .TH "FLUXBOX" "1" "10/04/2008" "[FIXME: source]" "[FIXME: manual]" | 9 | .TH "FLUXBOX" "1" "10/12/2008" "[FIXME: source]" "[FIXME: manual]" |
10 | .\" ----------------------------------------------------------------- | 10 | .\" ----------------------------------------------------------------- |
11 | .\" * (re)Define some macros | 11 | .\" * (re)Define some macros |
12 | .\" ----------------------------------------------------------------- | 12 | .\" ----------------------------------------------------------------- |
@@ -845,26 +845,6 @@ Button 3 (Un)Maximize window horizontally\&. | |||
845 | .SS "Workspace Menu" | 845 | .SS "Workspace Menu" |
846 | .sp | 846 | .sp |
847 | The workspace menu can be found by middle clicking on the background\&. A menu will popup giving you the option to add or remove a workspace\&. You will also see your workspaces listed there; middle clicking on a workspace name will take you to that workspace, whereas clicking on a window name in one of the per\-workspace submenus will take you to the workspace that window is on, and select the window\&. Last but not least you will notice the Icons menu\&. This is for applications which have been `iconified\'\&. | 847 | The workspace menu can be found by middle clicking on the background\&. A menu will popup giving you the option to add or remove a workspace\&. You will also see your workspaces listed there; middle clicking on a workspace name will take you to that workspace, whereas clicking on a window name in one of the per\-workspace submenus will take you to the workspace that window is on, and select the window\&. Last but not least you will notice the Icons menu\&. This is for applications which have been `iconified\'\&. |
848 | .SS "Menu Behavior" | ||
849 | .sp | ||
850 | The behavior of the submenus in a menu can be configured in the `init\' file, with the following entries (default for both is 0): | ||
851 | .sp | ||
852 | .if n \{\ | ||
853 | .RS 4 | ||
854 | .\} | ||
855 | .fam C | ||
856 | .ps -1 | ||
857 | .nf | ||
858 | .BB lightgray | ||
859 | session\&.screen0\&.menuDelay: <msec> | ||
860 | session\&.screen0\&.menuDelayClose: <msec> | ||
861 | .EB lightgray | ||
862 | .fi | ||
863 | .fam | ||
864 | .ps +1 | ||
865 | .if n \{\ | ||
866 | .RE | ||
867 | .\} | ||
868 | .SS "Menu Syntax" | 848 | .SS "Menu Syntax" |
869 | .sp | 849 | .sp |
870 | There are up to four fields in a menu line\&. They are of the form: | 850 | There are up to four fields in a menu line\&. They are of the form: |
@@ -1789,12 +1769,8 @@ session\&.screen0\&.defaultDeco: <string> | |||
1789 | the APPLICATIONS section\&. Default: NORMAL\&. | 1769 | the APPLICATIONS section\&. Default: NORMAL\&. |
1790 | 1770 | ||
1791 | session\&.screen0\&.menuDelay: <integer> | 1771 | session\&.screen0\&.menuDelay: <integer> |
1792 | This sets the delay in milliseconds for submenus to open with the previous | 1772 | This sets the delay in milliseconds for submenus to open when you hover |
1793 | option set to `Delay\'\&. Default: 0 | 1773 | over them or to close when you hover over another item\&. Default: 200 |
1794 | |||
1795 | session\&.screen0\&.menuDelayClose: 0 | ||
1796 | This value sets the delay in milliseconds that you would like the menu to | ||
1797 | remain visible after you\'ve clicked out of it\&. Default: 0 | ||
1798 | 1774 | ||
1799 | session\&.screen0\&.focusNewWindows: <boolean> | 1775 | session\&.screen0\&.focusNewWindows: <boolean> |
1800 | This sets whether or not new windows will become focused automatically\&. | 1776 | This sets whether or not new windows will become focused automatically\&. |
diff --git a/doc/asciidoc/fluxbox.txt b/doc/asciidoc/fluxbox.txt index 179818b..1bb9123 100644 --- a/doc/asciidoc/fluxbox.txt +++ b/doc/asciidoc/fluxbox.txt | |||
@@ -367,14 +367,6 @@ workspace that window is on, and select the window. Last but not least | |||
367 | you will notice the Icons menu. This is for applications which have | 367 | you will notice the Icons menu. This is for applications which have |
368 | been `iconified'. | 368 | been `iconified'. |
369 | 369 | ||
370 | Menu Behavior | ||
371 | ~~~~~~~~~~~~~ | ||
372 | The behavior of the submenus in a menu can be configured in the `init' | ||
373 | file, with the following entries (default for both is 0): | ||
374 | |||
375 | session.screen0.menuDelay: <msec> | ||
376 | session.screen0.menuDelayClose: <msec> | ||
377 | |||
378 | Menu Syntax | 370 | Menu Syntax |
379 | ~~~~~~~~~~~ | 371 | ~~~~~~~~~~~ |
380 | There are up to four fields in a menu line. They are of the form: | 372 | There are up to four fields in a menu line. They are of the form: |
@@ -837,12 +829,8 @@ session.screen0.defaultDeco: <string> | |||
837 | the APPLICATIONS section. Default: NORMAL. | 829 | the APPLICATIONS section. Default: NORMAL. |
838 | 830 | ||
839 | session.screen0.menuDelay: <integer> | 831 | session.screen0.menuDelay: <integer> |
840 | This sets the delay in milliseconds for submenus to open with the previous | 832 | This sets the delay in milliseconds for submenus to open when you hover |
841 | option set to `Delay'. Default: 0 | 833 | over them or to close when you hover over another item. Default: 200 |
842 | |||
843 | session.screen0.menuDelayClose: 0 | ||
844 | This value sets the delay in milliseconds that you would like the menu to | ||
845 | remain visible after you've clicked out of it. Default: 0 | ||
846 | 834 | ||
847 | session.screen0.focusNewWindows: <boolean> | 835 | session.screen0.focusNewWindows: <boolean> |
848 | This sets whether or not new windows will become focused automatically. | 836 | This sets whether or not new windows will become focused automatically. |
diff --git a/doc/fluxbox.1.in b/doc/fluxbox.1.in index 9eae541..11cea60 100644 --- a/doc/fluxbox.1.in +++ b/doc/fluxbox.1.in | |||
@@ -1,12 +1,12 @@ | |||
1 | .\" Title: fluxbox | 1 | .\" Title: fluxbox |
2 | .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] | 2 | .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] |
3 | .\" Generator: DocBook XSL Stylesheets v1.74.0 <http://docbook.sf.net/> | 3 | .\" Generator: DocBook XSL Stylesheets v1.74.0 <http://docbook.sf.net/> |
4 | .\" Date: 10/04/2008 | 4 | .\" Date: 10/12/2008 |
5 | .\" Manual: [FIXME: manual] | 5 | .\" Manual: [FIXME: manual] |
6 | .\" Source: [FIXME: source] | 6 | .\" Source: [FIXME: source] |
7 | .\" Language: English | 7 | .\" Language: English |
8 | .\" | 8 | .\" |
9 | .TH "FLUXBOX" "1" "10/04/2008" "[FIXME: source]" "[FIXME: manual]" | 9 | .TH "FLUXBOX" "1" "10/12/2008" "[FIXME: source]" "[FIXME: manual]" |
10 | .\" ----------------------------------------------------------------- | 10 | .\" ----------------------------------------------------------------- |
11 | .\" * (re)Define some macros | 11 | .\" * (re)Define some macros |
12 | .\" ----------------------------------------------------------------- | 12 | .\" ----------------------------------------------------------------- |
@@ -845,26 +845,6 @@ Button 3 (Un)Maximize window horizontally\&. | |||
845 | .SS "Workspace Menu" | 845 | .SS "Workspace Menu" |
846 | .sp | 846 | .sp |
847 | The workspace menu can be found by middle clicking on the background\&. A menu will popup giving you the option to add or remove a workspace\&. You will also see your workspaces listed there; middle clicking on a workspace name will take you to that workspace, whereas clicking on a window name in one of the per\-workspace submenus will take you to the workspace that window is on, and select the window\&. Last but not least you will notice the Icons menu\&. This is for applications which have been `iconified\'\&. | 847 | The workspace menu can be found by middle clicking on the background\&. A menu will popup giving you the option to add or remove a workspace\&. You will also see your workspaces listed there; middle clicking on a workspace name will take you to that workspace, whereas clicking on a window name in one of the per\-workspace submenus will take you to the workspace that window is on, and select the window\&. Last but not least you will notice the Icons menu\&. This is for applications which have been `iconified\'\&. |
848 | .SS "Menu Behavior" | ||
849 | .sp | ||
850 | The behavior of the submenus in a menu can be configured in the `init\' file, with the following entries (default for both is 0): | ||
851 | .sp | ||
852 | .if n \{\ | ||
853 | .RS 4 | ||
854 | .\} | ||
855 | .fam C | ||
856 | .ps -1 | ||
857 | .nf | ||
858 | .BB lightgray | ||
859 | session\&.screen0\&.menuDelay: <msec> | ||
860 | session\&.screen0\&.menuDelayClose: <msec> | ||
861 | .EB lightgray | ||
862 | .fi | ||
863 | .fam | ||
864 | .ps +1 | ||
865 | .if n \{\ | ||
866 | .RE | ||
867 | .\} | ||
868 | .SS "Menu Syntax" | 848 | .SS "Menu Syntax" |
869 | .sp | 849 | .sp |
870 | There are up to four fields in a menu line\&. They are of the form: | 850 | There are up to four fields in a menu line\&. They are of the form: |
@@ -1789,12 +1769,8 @@ session\&.screen0\&.defaultDeco: <string> | |||
1789 | the APPLICATIONS section\&. Default: NORMAL\&. | 1769 | the APPLICATIONS section\&. Default: NORMAL\&. |
1790 | 1770 | ||
1791 | session\&.screen0\&.menuDelay: <integer> | 1771 | session\&.screen0\&.menuDelay: <integer> |
1792 | This sets the delay in milliseconds for submenus to open with the previous | 1772 | This sets the delay in milliseconds for submenus to open when you hover |
1793 | option set to `Delay\'\&. Default: 0 | 1773 | over them or to close when you hover over another item\&. Default: 200 |
1794 | |||
1795 | session\&.screen0\&.menuDelayClose: 0 | ||
1796 | This value sets the delay in milliseconds that you would like the menu to | ||
1797 | remain visible after you\'ve clicked out of it\&. Default: 0 | ||
1798 | 1774 | ||
1799 | session\&.screen0\&.focusNewWindows: <boolean> | 1775 | session\&.screen0\&.focusNewWindows: <boolean> |
1800 | This sets whether or not new windows will become focused automatically\&. | 1776 | This sets whether or not new windows will become focused automatically\&. |
diff --git a/src/FbTk/Menu.cc b/src/FbTk/Menu.cc index a61bbc7..7cf2ac9 100644 --- a/src/FbTk/Menu.cc +++ b/src/FbTk/Menu.cc | |||
@@ -998,7 +998,7 @@ void Menu::motionNotifyEvent(XMotionEvent &me) { | |||
998 | // start submenu open delay | 998 | // start submenu open delay |
999 | timeval timeout; | 999 | timeval timeout; |
1000 | timeout.tv_sec = 0; | 1000 | timeout.tv_sec = 0; |
1001 | timeout.tv_usec = theme()->delayOpen() * 1000; // transformed to usec | 1001 | timeout.tv_usec = theme()->getDelay() * 1000; // transformed to usec |
1002 | m_submenu_timer.setTimeout(timeout); | 1002 | m_submenu_timer.setTimeout(timeout); |
1003 | m_submenu_timer.start(); | 1003 | m_submenu_timer.start(); |
1004 | } else if (isItemSelectable(w)){ | 1004 | } else if (isItemSelectable(w)){ |
@@ -1191,7 +1191,7 @@ void Menu::closeMenu() { | |||
1191 | void Menu::startHide() { | 1191 | void Menu::startHide() { |
1192 | timeval timeout; | 1192 | timeval timeout; |
1193 | timeout.tv_sec = 0; | 1193 | timeout.tv_sec = 0; |
1194 | timeout.tv_usec = theme()->delayClose() * 1000; // transformed to usec | 1194 | timeout.tv_usec = theme()->getDelay() * 1000; // transformed to usec |
1195 | m_hide_timer.setTimeout(timeout); | 1195 | m_hide_timer.setTimeout(timeout); |
1196 | m_hide_timer.start(); | 1196 | m_hide_timer.start(); |
1197 | } | 1197 | } |
diff --git a/src/FbTk/MenuTheme.cc b/src/FbTk/MenuTheme.cc index b6e8f93..28bcc35 100644 --- a/src/FbTk/MenuTheme.cc +++ b/src/FbTk/MenuTheme.cc | |||
@@ -72,8 +72,7 @@ MenuTheme::MenuTheme(int screen_num): | |||
72 | d_text_gc(RootWindow(m_display, screen_num)), | 72 | d_text_gc(RootWindow(m_display, screen_num)), |
73 | hilite_gc(RootWindow(m_display, screen_num)), | 73 | hilite_gc(RootWindow(m_display, screen_num)), |
74 | m_alpha(255), | 74 | m_alpha(255), |
75 | m_delayopen(0), // no delay as default | 75 | m_delay(0), // no delay as default |
76 | m_delayclose(0), // no delay as default | ||
77 | m_real_title_height(*m_title_height), | 76 | m_real_title_height(*m_title_height), |
78 | m_real_item_height(*m_item_height) | 77 | m_real_item_height(*m_item_height) |
79 | { | 78 | { |
diff --git a/src/FbTk/MenuTheme.hh b/src/FbTk/MenuTheme.hh index 59fcbaf..c10615b 100644 --- a/src/FbTk/MenuTheme.hh +++ b/src/FbTk/MenuTheme.hh | |||
@@ -111,10 +111,8 @@ public: | |||
111 | // this isn't actually a theme item | 111 | // this isn't actually a theme item |
112 | // but we'll let it be here for now, until there's a better way to | 112 | // but we'll let it be here for now, until there's a better way to |
113 | // get resources into menu | 113 | // get resources into menu |
114 | void setDelayOpen(int msec) { m_delayopen = msec; } | 114 | void setDelay(int msec) { m_delay = msec; } |
115 | void setDelayClose(int msec) { m_delayclose = msec; } | 115 | int getDelay() const { return m_delay; } |
116 | int delayOpen() const { return m_delayopen; } | ||
117 | int delayClose() const { return m_delayclose; } | ||
118 | 116 | ||
119 | const Color &borderColor() const { return *m_border_color; } | 117 | const Color &borderColor() const { return *m_border_color; } |
120 | Shape::ShapePlace shapePlaces() const { return *m_shapeplace; } | 118 | Shape::ShapePlace shapePlaces() const { return *m_shapeplace; } |
@@ -157,8 +155,7 @@ private: | |||
157 | GContext t_text_gc, f_text_gc, u_text_gc, h_text_gc, d_text_gc, hilite_gc; | 155 | GContext t_text_gc, f_text_gc, u_text_gc, h_text_gc, d_text_gc, hilite_gc; |
158 | 156 | ||
159 | unsigned char m_alpha; | 157 | unsigned char m_alpha; |
160 | unsigned int m_delayopen; ///< in msec | 158 | unsigned int m_delay; ///< in msec |
161 | unsigned int m_delayclose; ///< in msec | ||
162 | unsigned int m_real_title_height; ///< the calculated item height (from font and menu.titleHeight) | 159 | unsigned int m_real_title_height; ///< the calculated item height (from font and menu.titleHeight) |
163 | unsigned int m_real_item_height; ///< the calculated item height (from font and menu.itemHeight) | 160 | unsigned int m_real_item_height; ///< the calculated item height (from font and menu.itemHeight) |
164 | }; | 161 | }; |
diff --git a/src/Screen.cc b/src/Screen.cc index e6d10ff..776dd29 100644 --- a/src/Screen.cc +++ b/src/Screen.cc | |||
@@ -305,7 +305,6 @@ BScreen::ScreenResource::ScreenResource(FbTk::ResourceManager &rm, | |||
305 | unfocused_alpha(rm, 255, scrname+".window.unfocus.alpha", altscrname+".Window.Unfocus.Alpha"), | 305 | unfocused_alpha(rm, 255, scrname+".window.unfocus.alpha", altscrname+".Window.Unfocus.Alpha"), |
306 | menu_alpha(rm, 255, scrname+".menu.alpha", altscrname+".Menu.Alpha"), | 306 | menu_alpha(rm, 255, scrname+".menu.alpha", altscrname+".Menu.Alpha"), |
307 | menu_delay(rm, 200, scrname + ".menuDelay", altscrname+".MenuDelay"), | 307 | menu_delay(rm, 200, scrname + ".menuDelay", altscrname+".MenuDelay"), |
308 | menu_delay_close(rm, 200, scrname + ".menuDelayClose", altscrname+".MenuDelayClose"), | ||
309 | tab_width(rm, 64, scrname + ".tab.width", altscrname+".Tab.Width"), | 308 | tab_width(rm, 64, scrname + ".tab.width", altscrname+".Tab.Width"), |
310 | tooltip_delay(rm, 500, scrname + ".tooltipDelay", altscrname+".TooltipDelay"), | 309 | tooltip_delay(rm, 500, scrname + ".tooltipDelay", altscrname+".TooltipDelay"), |
311 | allow_remote_actions(rm, false, scrname+".allowRemoteActions", altscrname+".AllowRemoteActions"), | 310 | allow_remote_actions(rm, false, scrname+".allowRemoteActions", altscrname+".AllowRemoteActions"), |
@@ -455,13 +454,7 @@ BScreen::BScreen(FbTk::ResourceManager &rm, | |||
455 | if (*resource.menu_delay < 0) | 454 | if (*resource.menu_delay < 0) |
456 | *resource.menu_delay = 0; | 455 | *resource.menu_delay = 0; |
457 | 456 | ||
458 | if (*resource.menu_delay_close > 5000) | 457 | m_menutheme->setDelay(*resource.menu_delay); |
459 | *resource.menu_delay_close = 5000; | ||
460 | if (*resource.menu_delay_close < 0) | ||
461 | *resource.menu_delay_close = 0; | ||
462 | |||
463 | m_menutheme->setDelayOpen(*resource.menu_delay); | ||
464 | m_menutheme->setDelayClose(*resource.menu_delay_close); | ||
465 | 458 | ||
466 | focusedWinFrameTheme()->reconfigSig().attach(this);// for geom window | 459 | focusedWinFrameTheme()->reconfigSig().attach(this);// for geom window |
467 | 460 | ||
@@ -915,13 +908,7 @@ void BScreen::reconfigure() { | |||
915 | if (*resource.menu_delay < 0) | 908 | if (*resource.menu_delay < 0) |
916 | *resource.menu_delay = 0; | 909 | *resource.menu_delay = 0; |
917 | 910 | ||
918 | if (*resource.menu_delay_close > 5000) | 911 | m_menutheme->setDelay(*resource.menu_delay); |
919 | *resource.menu_delay_close = 5000; | ||
920 | if (*resource.menu_delay_close < 0) | ||
921 | *resource.menu_delay_close = 0; | ||
922 | |||
923 | m_menutheme->setDelayOpen(*resource.menu_delay); | ||
924 | m_menutheme->setDelayClose(*resource.menu_delay_close); | ||
925 | 912 | ||
926 | // realize the number of workspaces from the init-file | 913 | // realize the number of workspaces from the init-file |
927 | const unsigned int nr_ws = *resource.workspaces; | 914 | const unsigned int nr_ws = *resource.workspaces; |
diff --git a/src/Screen.hh b/src/Screen.hh index 91cf94a..2267d86 100644 --- a/src/Screen.hh +++ b/src/Screen.hh | |||
@@ -545,7 +545,7 @@ private: | |||
545 | FbTk::Resource<std::string> windowmenufile; | 545 | FbTk::Resource<std::string> windowmenufile; |
546 | FbTk::Resource<unsigned int> typing_delay; | 546 | FbTk::Resource<unsigned int> typing_delay; |
547 | FbTk::Resource<int> workspaces, edge_snap_threshold, focused_alpha, | 547 | FbTk::Resource<int> workspaces, edge_snap_threshold, focused_alpha, |
548 | unfocused_alpha, menu_alpha, menu_delay, menu_delay_close, | 548 | unfocused_alpha, menu_alpha, menu_delay, |
549 | tab_width, tooltip_delay; | 549 | tab_width, tooltip_delay; |
550 | FbTk::Resource<bool> allow_remote_actions; | 550 | FbTk::Resource<bool> allow_remote_actions; |
551 | FbTk::Resource<bool> clientmenu_use_pixmap; | 551 | FbTk::Resource<bool> clientmenu_use_pixmap; |