Commit graph

55 commits

Author SHA1 Message Date
Dana Jansens
9aa42c2ae7 cleanups for keyboard menu shotcuts. dont let & set a shortcut from stuff like menu titles and what not, they are only for strigns oenbox provides. 2007-04-25 02:50:59 +00:00
Dana Jansens
5d5be2ba2a add keyboard shortcuts to the menus. you can specify the shortcut key with & even in root menu and stuff 2007-04-25 01:33:20 +00:00
Dana Jansens
957963e272 1) get rid of menu titles
2) let separators have labels, when they have a label, then they will appear like a menu title used to

so if you want a menu title, you use a separator in the menu itself at the top

more style work may be needed
2007-04-22 00:36:54 +00:00
Dana Jansens
3678f8df8a use const char*'s when we should be 2007-03-18 15:07:30 +00:00
Dana Jansens
19b480058e wow... this is a big commit...
all related to _NET_WM_USER_TIME and focus stealing prevention

a) add launcher startup notification. this means when you run something from
   the openbox menu or a key/mouse binding, that startup notification will go
   on in openbox and other applications like your panel or something
b) add the _NET_WM_USER_TIME property for windows
c) use the _NET_WM_USER_TIME data and startup notification to prevent focus
   stealing.
d) cookie party !! ! all are invited.
e) oh yeah, and pass around timestamps for a lot more things. like, when you
   run an action, send the timestamp for the event that is running the action.
   this is important for startup notification. this also affects menus.
f) yes.. cookies..

would it be a good idea to disable focus stealing prevention if a window takes
too long to load? i mean.. maybe after a certain length of time, a user can't be
expected to not do anything in any other windows, but would they still want the
new application to focus then? HMM. open question i guess..
2007-03-11 04:44:15 +00:00
Dana Jansens
16f46c296d no tabs 2003-09-17 07:44:49 +00:00
Dana Jansens
c4e4760c41 add copyright headers, adjust --version output to include copyright, and --help output to not include version output. 2003-09-17 07:32:52 +00:00
Dana Jansens
78282959f9 little bit of an actions overhaul, added action_run* so that duplicated code can all be in the same place now woot.
allow actions to specify when they can be used (ShowMenu cant in the OB_USER_ACTION_MENU_SELECTION case)
remove KeyboardMove ad KeyboardResize. Instead, just use Move and Resize and determine if it should be a keyboard move/resize in the code
2003-09-07 19:03:20 +00:00
Dana Jansens
3d1e2ab1b4 when a pipe menu is killed, kill all its submenus as well 2003-09-04 15:30:34 +00:00
Dana Jansens
806a8c411f add a reconfigure action, also reconfigure on SIGUSR2.
support reconfiguring throughout the entire codebase.
2003-09-03 18:11:39 +00:00
Dana Jansens
02b0b1733a use new menu.bullet.selected.imageColor. use the text colors for the menu mask icons instead of teh bullet color, and set it based on selected/disabled/normal like the text. 2003-09-02 18:53:08 +00:00
Dana Jansens
5d4cbbc674 add suppot for showing pixmap masks in menus where the rgba icons go too 2003-08-30 19:03:06 +00:00
Dana Jansens
c3b02749d7 add pipe-menus 2003-08-30 05:15:12 +00:00
Dana Jansens
485fbff15d remove plugins from the menu parsing 2003-08-29 07:57:18 +00:00
Dana Jansens
ec9dd7fdd7 new method for loading menu files etc 2003-08-28 17:32:49 +00:00
Dana Jansens
9e85e930da fix for using freed memory to exec stuff 2003-08-28 17:15:10 +00:00
Dana Jansens
15386e86d4 add icons to the client-list-menu 2003-08-28 08:08:18 +00:00
Dana Jansens
c34915ae8d make submenus not require the menu to exist when they are created, not until they are shown.
crash fix in client_menu
2003-08-28 07:49:57 +00:00
Dana Jansens
f7eb47dba4 make client-list-menu work too
more menu cleanups
2003-08-28 07:34:03 +00:00
Dana Jansens
ffba11aeb0 load menu plugins automatically from whats in the menu file
menu fixups
move enabled into the 'normal menu item' specific data stuff
2003-08-28 06:32:27 +00:00
Dana Jansens
615cbd9607 change the menu plugin interface, no need for the create/destroy functions any more.
redo the client-menu plugin to work with the new menu api
2003-08-28 05:44:13 +00:00
Dana Jansens
c34ef4028e half way through the changes to new menu code/design. hot shit. static menus work, on to plugins next. 2003-08-28 02:10:23 +00:00
Dana Jansens
b0855c19bc add a menu destructor callback.
fix a possible crasher where a callback was called with a different menu.
2003-08-14 06:00:38 +00:00
Dana Jansens
1045079482 adjust for changes to the parsing api.
split the menu into its own file.
2003-08-12 19:18:21 +00:00
Dana Jansens
c90da6da78 move the keyboard and mouse plugins into the kernel for mucho sexiness.
make workspace changing a grabbed/interactive process like focus cycling is, with the popup and all.
this is some hot shit.
2003-08-12 07:26:16 +00:00
Scott Moynes
a4f023cf3a Some fixes and new bugs. Someone else can do the menus because it is
clear no one gives a fuck what I think and no one else wants a window
manager that doesn't suck the same balls as every other window manager.
2003-08-11 21:19:17 +00:00
Scott Moynes
3c92311b3c Some menu updates.
Don't talk to me about menus.
2003-07-26 06:02:58 +00:00
Scott Moynes
d51702affa I had a commit message but my commit got stepped on so fuck it.
No one cares what I think anyway.
If the menu navigation isn't EXACTLY FUCKING RIGHT I WILL REMOVE IT
AND SOME OTHER POOR FUCK CAN PUT UP WITH ALL THE FUCKING BULLSHIT.
2003-07-24 06:10:55 +00:00
Dana Jansens
31cdb95963 add a func to find a menu entry from a submenu 2003-07-22 16:40:48 +00:00
Scott Moynes
ea53850762 Keyboard navigatable menus 2003-07-21 23:19:03 +00:00
Scott Moynes
22ff8c587d Menu parsing updates for plugins.
FIFO menus are the only plugin that takes advantage of this.
Example:
<menu id="root" label="Openbox 3">
  <menu id="fonk" label="fonk" plugin="fifo_menu">
  </menu>
</menu>

This creates a FIFO ~/.openbox/fifo_menu/fonk to which you can send
menus to. The menus sent to it must be like
<fifo>
  <item>
   etc...
</fifo>

I think. If my memory serves me right.

It is all hideous, but I just wanted to experiment and see if it was
possible.
2003-07-17 01:40:27 +00:00
Dana Jansens
a95dc346fe prefix and capitalize ObMenu ObMenuEntry and ObMenuEntryRenderType
make the ObMenuEntryRenderType a standard enum instead bitflags
2003-07-10 19:27:12 +00:00
Dana Jansens
122d55fbad prefixing and capitalizing the StackLayer -> ObStackingLayer enum.
less includes in headers for less rebuilding on changes
2003-07-10 17:03:05 +00:00
Dana Jansens
2477a38d2f rename the Client struct to ObClient 2003-07-10 06:38:42 +00:00
Dana Jansens
34e819738b xinerama support 2003-06-27 04:20:30 +00:00
Dana Jansens
7af1c6a9c3 menus grab the keyboard and pointer, thus making only one menu visible at a time, and making them act like gtk menus and * menus do, where you can click and drag and release to select something as well as click-release to elave it open while you search around the menu 2003-06-25 18:43:42 +00:00
Dana Jansens
4541959b8c kill a warning 2003-06-21 02:24:18 +00:00
Dana Jansens
a4a0cb7829 fixed to accomodate the changes to the render/ API. 2003-06-21 00:42:47 +00:00
Scott Moynes
71d2605e1c Client menus
Add "client_menu" to pluginrc to use.
2003-05-21 23:58:40 +00:00
Dana Jansens
b77e40e1c7 rename "Slit" to "Dock".
add config options to the rc3 for the dock.
create a window_map, add DockApps to the ObWindow types, use the window_map for translating windows into objects for event handling (only one lookup now) and remove the old maps (client_map, menu_map).
2003-05-16 18:10:10 +00:00
Dana Jansens
58cfbb7f84 Clients Menus and Slits are all 'ObWindow's now.
Stacking is done with ObWindows.
Slits add themselves to the stacking order, as do clients of course.
Added some macros for adding/removing to the stacking order.
2003-05-11 19:44:33 +00:00
Scott Moynes
03d42b5d82 Timed menu that reads output from a process while the window is hidden 2003-05-10 14:51:27 +00:00
Scott Moynes
a8a4a2cca3 Menu uber patch
Since we have no menu parser see menu_startup() to customize
2003-05-09 23:15:28 +00:00
Scott Moynes
574dd66b32 More menu changes to facilitate plugins. 2003-04-22 03:48:34 +00:00
Scott Moynes
6a237b91bc Render menus only when they are invalid. 2003-04-22 01:04:29 +00:00
Dana Jansens
185d1337e5 menus works on some level. add a built-in root menu 2003-04-16 18:09:11 +00:00
Dana Jansens
79a352a40b raise menus above clients.
hilight menu entries as the cursor passes over them.
2003-04-16 05:36:51 +00:00
Dana Jansens
59c3cce4f4 save the window ids in a map for the menus 2003-04-16 04:16:24 +00:00
Dana Jansens
0e28a07e3d start of showing/rendering menus. woot! 2003-04-15 18:29:55 +00:00
Dana Jansens
3d6e0f941d these menus should not be removed, they are good and will be used. 2003-04-14 21:26:01 +00:00