Commit graph

65 commits

Author SHA1 Message Date
Dana Jansens
6a79805b7c cache pipe menus until the menus close 2007-06-10 18:48:58 +00:00
Dana Jansens
b0aa29db69 do the menu_can_hide thing properly. was such a hack before? and the variable was getting set from all kinds of events like motion notify. totally not reliable. now it works all nice. 2007-06-02 19:14:32 +00:00
Dana Jansens
319fb35962 add the rgba alpha to the menu entries 2007-05-29 03:24:04 +00:00
Dana Jansens
b190fb6bb6 compile fix 2007-05-09 00:22:10 +00:00
Dana Jansens
f0fdba8ad3 fix no more crashing in the client menu. 2007-05-09 00:11:06 +00:00
Dana Jansens
280529221e add a notifier for clients changing desktops. use it to update the send-to menu if it changes. it does this by closing/opening the menu.. thats about the best we can do tho with this menu code without huge changes 2007-05-07 23:26:22 +00:00
Dana Jansens
3905872982 merge in r6153-6154 from the 3.4 branch 2007-05-07 22:07:13 +00:00
Dana Jansens
526560b8a0 changes to the client menu, which entries are there, and reorganizing, and renaming.
let you highlight disabled menu entries, they just aren't runable of course, and add the activedisabled theme element for these entries.
add the all desktops button picture to "All desktops" in the client menu
update the themes for the new element, and some changes to make things more readable-better contrast.

CLEARLOOKS-OLIVE is now DIFFERENT FROM THE 3.4 BRANCH SO DON'T RE-RUN THEMETOXML ON IT :( :(
yeah.. i think that is everything?
2007-05-05 22:26:59 +00:00
Dana Jansens
e0e1d4ba7e don't show the client menu when its for an invalid window 2007-05-03 20:39:26 +00:00
Dana Jansens
26879183e9 place the client menu at the top left of the window when opening it with a key binding.
change how the first menus are placed. place them like other people place menus. maybe this is good, maybe it is bad, we will see..
2007-04-26 05:08:33 +00:00
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