Dana Jansens
469b0c1ca9
handle case where session saves a 0 width/height (for maximized windows!)
2003-10-11 03:44:05 +00:00
Dana Jansens
c8678108eb
indenting
2003-10-10 08:28:18 +00:00
Dana Jansens
1be38a0418
set the defaults for typed windows in client_get_all:
...
desktop types get put on all desktops
dock types get put in the ABOVE layer
2003-10-10 08:22:14 +00:00
Dana Jansens
e1eff99176
do client_raise after client_focus for new windows
2003-10-10 06:00:27 +00:00
Dana Jansens
6a00a44b99
indenting
2003-10-10 05:36:02 +00:00
Dana Jansens
b84a934ab7
provide function to tell if a client has any group siblings
2003-10-09 19:29:10 +00:00
Dana Jansens
bb52941999
cancel focus delays when the user runs a focus (or focus cycle) action, and when focusing new windows
2003-10-09 18:49:14 +00:00
Dana Jansens
5c390b9344
indenting
2003-10-09 16:46:54 +00:00
Dana Jansens
b7d2693742
dont give decorless windows a border when toggling decorations
2003-10-09 16:36:28 +00:00
Dana Jansens
b9d47c49d6
for dock windows, honor both the above and below states, keeping docks above and below *all* normal windows though (even 'above'/'below' ones). if the dock doesn't specify then it will stack along with normal windows.
2003-10-09 16:34:37 +00:00
Dana Jansens
440b862204
indenting
2003-10-08 18:27:30 +00:00
Dana Jansens
b968a7ac19
indenting
2003-10-08 18:27:10 +00:00
Dana Jansens
fb8a9a6363
indenting
2003-10-08 18:23:48 +00:00
Dana Jansens
f55766cc55
save premax values properly, individually for each direction
2003-10-06 17:33:23 +00:00
Dana Jansens
c4fcfc07e1
dont resize the window when restoring session state if the sizes are invalid
2003-10-03 07:33:27 +00:00
Dana Jansens
242dc35a36
indenting
2003-10-03 04:27:44 +00:00
Dana Jansens
c88e66b8ff
use frame->visible instead of the desktop number
2003-10-01 17:51:20 +00:00
Dana Jansens
f9c659c12c
fix resizing to 0 from aspect ratios
2003-09-28 07:38:55 +00:00
Dana Jansens
a434669d17
remove debug prints
2003-09-28 06:48:35 +00:00
Dana Jansens
f6ba1f27b9
halfway through client changes but...
...
should fix crashes irt actions in the action queue for clients that have been destroyed. now those actions are skipped or performed without a client as possible.
2003-09-28 06:31:00 +00:00
Dana Jansens
e30ae5696f
remove from parents when changing groups
2003-09-27 17:57:02 +00:00
Dana Jansens
0dfff40a30
formatting, add an assert
2003-09-27 17:50:28 +00:00
Dana Jansens
51cc41e4db
indenting
2003-09-27 17:39:44 +00:00
Dana Jansens
fbed66cc81
ok unfocus before removing transient shit, but remove focus related flags so we don't get focused in the fallback.
2003-09-27 06:41:00 +00:00
Dana Jansens
af7278b6e5
that was a really bad idea, i didnt mean it, i swear
2003-09-27 06:30:51 +00:00
Dana Jansens
8aee387193
unfocus before unlinking the client from the transient tree
2003-09-27 05:19:15 +00:00
Dana Jansens
0908816132
when looking for the focus target, search for modal children in the entire transient tree, not just children of the client on which focus is requested
2003-09-26 19:05:06 +00:00
Dana Jansens
dfd524926e
add client_raise and client_lower which just fire off actions
2003-09-26 18:15:58 +00:00
Dana Jansens
411cc1d1d9
use actions for raising
2003-09-26 18:03:58 +00:00
Dana Jansens
bb541d850a
bring back action_run_string
2003-09-26 18:01:44 +00:00
Dana Jansens
fb341869b1
use an action only for Raise
2003-09-26 17:46:49 +00:00
Dana Jansens
a2849a728d
use actions to focus and raise the wnidow ni client_activate. this means the focus shit gets processed before the raise
2003-09-26 17:29:55 +00:00
Dana Jansens
360d1659a1
checked the wrong var for unmaxing
2003-09-26 15:08:03 +00:00
Dana Jansens
365940477b
add some more client tree searching functions. make transients always get focused when a parent has focus, not just direct parents.
2003-09-26 07:08:07 +00:00
Dana Jansens
7dc01bbee7
remove debug print
2003-09-26 04:10:17 +00:00
Dana Jansens
b4fa843575
add client_set_undecorated().
...
add support for the _OB_WM_STATE_UNDECORATED state hint.
2003-09-25 23:07:15 +00:00
Dana Jansens
caca123b90
dont use the _OPENBOX_PREMAX window property anymore, save max and fullscreen pre-areas in the client struct
2003-09-25 22:47:48 +00:00
Dana Jansens
62b3b8c57e
typo
2003-09-25 22:00:36 +00:00
Dana Jansens
54ccb6a542
focus new children if their direct parent is focused
2003-09-25 19:01:45 +00:00
Dana Jansens
710f41e622
focus nwe transients when another window in their transient tree is focused
2003-09-25 06:41:17 +00:00
Dana Jansens
624033c32d
support the _KDE_WM_CHANGE_STATE hint
2003-09-24 17:17:51 +00:00
Dana Jansens
f68066aa63
we always want to start with something focused, moving this to openbox.c
2003-09-22 04:14:32 +00:00
Dana Jansens
6538a5ccb2
move the code to find the window under the pointer out of focus.c to client.c
2003-09-21 21:25:23 +00:00
Dana Jansens
38370b2e82
dont assert, just ignore client_unfocus() when the client isnt already focused
2003-09-21 18:43:11 +00:00
Dana Jansens
19e4820073
properly send resize events for when the app has requested the resize
2003-09-19 16:58:23 +00:00
Dana Jansens
abde4bc153
dont split client requested resizes into 2 events, thanks to manmower for this idea
2003-09-18 20:09:16 +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
3a607fad9d
revert my commit of d3th, it fucked up focus badly
2003-09-15 11:29:17 +00:00
Dana Jansens
4ccc4c5ed7
break focus. or maybe make it better.
...
these changes make it work when you alt-tab off a fullscreen window, that it doesnt iconify, and that it is immediately restacked instead of waiting for a FocusIn event to arrive. The code now assumes that if the window says it can focus, that if we focus it, it is focused.
add the XDone handler to ObMainLoop, which is fired upon the occurance of there being no more X events to read.
2003-09-15 10:54:07 +00:00
Dana Jansens
3e9d050ffe
save the sm_client_id just like saving other properties, dont query each time its needed
2003-09-15 06:50:25 +00:00
Dana Jansens
b317f01403
dont impose staying on-screen for non-normal windows like kicker
2003-09-14 18:35:21 +00:00
Dana Jansens
d89391ec94
dont waste a strdup which is never freed
2003-09-14 06:40:33 +00:00
Dana Jansens
49a73ce15c
add support for a default icon, but no icon has been made yet.
2003-09-12 01:11:33 +00:00
Dana Jansens
5e38ae49ce
remove debug prints
2003-09-08 19:32:01 +00:00
Dana Jansens
3fa11ec62b
round 2 for this shit
2003-09-08 18:05:42 +00:00
Dana Jansens
4c0adb1f2b
flush after resizing a client
2003-09-08 18:01:46 +00:00
Dana Jansens
5bebe5fbf8
if the client is growing, resize it before the frame. if its shrinking, then resize the frame first. reduces flicker lots.
2003-09-08 17:58:31 +00:00
Dana Jansens
9f2a844beb
watch for windows with titlecounts changing their title and getting an incorrect titlecount
2003-09-08 17:51:54 +00:00
Dana Jansens
e9d878f47d
oops
2003-09-08 17:39:21 +00:00
Dana Jansens
7cbcc099ef
some simpler code
2003-09-08 17:30:55 +00:00
Dana Jansens
3942d579d8
dont reset all the states to FALSE in client_get_state, this made an initial IconicState get ignored
2003-09-08 17:22:46 +00:00
Dana Jansens
4bec1c07db
Closes #799 . i think im too high to say more.
2003-09-06 09:25:05 +00:00
Dana Jansens
c20a8d986a
handle the case where a transient is a child of a dockapp
2003-09-03 22:06:17 +00:00
Dana Jansens
e7b2e52b78
support getting the desktop from the startup notification protocol
...
pass on to the startup notification code that a window has mapped with a given wmclass
2003-09-03 20:42:49 +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
5e5fdb1666
make the client destructor a GDestroyNotify
2003-09-03 08:10:51 +00:00
Dana Jansens
78dfba0195
stop doing stupid shit for the size increments in client_configure, it belongs in the moveresize code. add it there.
2003-09-02 07:50:52 +00:00
Dana Jansens
3ab0fc4814
flash when urgent
2003-09-01 03:42:44 +00:00
Dana Jansens
9d42df6ab4
add urgent actions
...
add some macros for moving/resizing clients
add 'vibrate' action
2003-09-01 02:02:40 +00:00
Dana Jansens
3e4495c4c8
move_onscreen was supposed to go away.. :) thanks mikachu
2003-08-31 06:55:14 +00:00
Dana Jansens
0185445e3a
use the nwe theme's show_handle value
2003-08-30 19:02:48 +00:00
Dana Jansens
8e76e32863
add destructor functions for clients that you acn subscribe with, and use these instead of hardcoding special cases in the unmanage code
2003-08-30 17:46:23 +00:00
Dana Jansens
3c5f6db04c
remove the event dispatcher
2003-08-29 06:52:55 +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
a32c2c125c
dont be rude to non-normal windows with keeping them onscreen
2003-08-27 18:50:12 +00:00
Dana Jansens
fdfaa0c8dd
remove the last of the cool stuff thanks to GTK fuck fuck. no more not focusing windows in groups that arent focused on map
2003-08-25 18:40:00 +00:00
Dana Jansens
5186d04c61
better handling of maximizing, wrt changing decorations on the windows, and showing the correct decor for the max state especially for windows which dont change size (Xnest) when maximized cuz they are at their maximum size already
2003-08-25 08:49:48 +00:00
Dana Jansens
0964b804a1
restore the stacking order of a saved session
2003-08-25 07:48:28 +00:00
Dana Jansens
888c3d1f6a
make activate take a here parameter
2003-08-14 05:57:45 +00:00
Dana Jansens
950b85b988
oops i fucked up tore's patch. better.
2003-08-12 19:41:22 +00:00
Dana Jansens
e531f69006
bug fixes for growtoedge from tore. props to tore for all the growtoedge and movetoedge code, and directional focus code also since i dont think i mentioned his name before in the changelogs woot.
2003-08-12 19:25:03 +00:00
Dana Jansens
f4979de3f5
dont move windows when starting
2003-08-12 09:30:28 +00:00
Dana Jansens
c1f0f7c40f
small bugfix to the directional focus code.
...
add the client_directional_edge_search function.
2003-08-12 08:25:04 +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
Dana Jansens
d94fba7262
save the frame decorations in client_configure_full before causing the fake frame adjust, since that loses its old value.
2003-08-10 23:30:15 +00:00
Dana Jansens
2494762dbf
a couple frame layout bugfixes hidden inside all this.. wee
...
fixes for maximizing windows:
- when you toggledecor, it will reconfigure once, but the new constraints from the decor changes would not be in effect when the window was resized to the contranits. fixed by calling frame_adjust_area first thing ni client_configure_fulll with fake=TRUE which will recalc all the frame geometry without resizing/redrawing anything in the frame. this way the decor can take effect in the geometries.
- when maxed horizontally, make the client fill the screen, but dont do this by just making it wider than the screen, fit it to the screen and adjust the titlebar/handle as appropriate to keep it all on the screen.
- when maxed horizontally and vertically, remove the handle from the decorations
2003-08-05 10:31:20 +00:00
Dana Jansens
853d5f4b70
when setting up decor on a window, it needs to reconfigure twice if the decor changes, cuz the constraints need the new frame sizes to work right
2003-08-05 07:39:44 +00:00
Dana Jansens
26827d875a
kill non-opaque move/resize
...
add an option for redrawing/resizing the client window while resizing, when disabled the client is not touched until the resize is complete.
2003-08-03 17:47:10 +00:00
Dana Jansens
be7c0d426a
use the frame size not the client size when figuring out if stuff fits on the screen
2003-08-02 18:09:46 +00:00
Dana Jansens
4a2400c5c2
that line ended up in teh if somehow...
2003-08-02 05:31:23 +00:00
Dana Jansens
c8fa3a6028
set the desktop hint if the desktop is changed by the session code
2003-07-31 09:02:56 +00:00
Dana Jansens
d7f3d16fb7
set the desktop hint after everything is read/setup even session stuff
2003-07-31 09:01:14 +00:00
Dana Jansens
717d10f31a
add the window to the lists before setting the client list hint
2003-07-31 08:45:57 +00:00
Dana Jansens
02c15aca65
add a function to retrieve the sm_client_id value
2003-07-31 08:04:20 +00:00
Dana Jansens
9c1438f17b
restore saved session data for applications
2003-07-30 20:01:35 +00:00
Dana Jansens
9e9e6278d5
attemp #3
2003-07-30 16:15:51 +00:00
Dana Jansens
f346738173
attempt #2 at better logical size values
2003-07-30 16:14:24 +00:00
Dana Jansens
0a809d36dd
attempt #2 at better logical size values
2003-07-30 16:13:52 +00:00
Dana Jansens
c852826e9e
include the base size in the logical size
2003-07-30 16:09:56 +00:00
Dana Jansens
006de2abaa
the size can be 0 when there is a base size
2003-07-30 07:09:36 +00:00
Dana Jansens
1aa0bc66eb
improved ICCCM compliance!
...
a) send ConfigureNotify back to the client as required by the ICCCM in all sitatuations.
b) send the corrent coords in the ConfigureNotify, including the border width
c) remove the WM_STATE property when unmanaging a window
2003-07-30 06:19:15 +00:00
Dana Jansens
b799cfd9a3
base rudeness on if they have a strut even smarter!
2003-07-28 19:59:37 +00:00
Dana Jansens
067776e783
base rudeness on if they have a strut or not
2003-07-28 19:56:52 +00:00
Dana Jansens
4d82dd3017
make the new placement restrictions not affect !normal windows like panels
2003-07-28 19:53:54 +00:00
Dana Jansens
950516124f
make those apps stay/map on screen!! fuck stupid apps. thats right im talking to you mozilla and you too java.
2003-07-28 18:06:55 +00:00
Dana Jansens
09f178aa54
use the macro
2003-07-28 16:10:06 +00:00
Dana Jansens
eb1fb5580e
keep apps from moving/maping their titlebar underneath left/top panels
2003-07-28 07:19:47 +00:00
Dana Jansens
11cde9683d
add client_search_transient which searches the tree from a client down for a client
2003-07-25 13:25:09 +00:00
Dana Jansens
5be0a82a35
use ob_debug for any debug printing and only display the output when its a debug build or when --debug is passed to it
2003-07-24 06:02:38 +00:00
Dana Jansens
a057d14c8b
stop shownig the desktop when a new window maps
2003-07-22 16:50:23 +00:00
Dana Jansens
4c1641bfc7
simple code cleanup
2003-07-12 06:17:13 +00:00
Dana Jansens
9d7244e646
when a transient maps on another desktop, give it focus when it deserves it
2003-07-11 15:32:03 +00:00
Dana Jansens
130a42710c
move to the desktop of the activated window
2003-07-11 00:08:43 +00:00
Dana Jansens
81af5a8b0c
add disabled buttons, instead of now showing buttons at all when they wont do anything, now show a disabled button instead. this severely breaks compatibility with blackbox themes since there is no good way to automiatically create a disabled button that i can think of, so if they dont exist in the theme you get black and white for the button.
...
when a window cant be resized, its handle is not removed but its grips are.
change allowing the user to disable individual decorations as that is overkill,
instead allow a toggle through the client.decorate boolean.
2003-07-10 23:27:02 +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
bddbe94328
make ob_state a function so it cant be changed outside of openbox.c
2003-07-10 19:06:00 +00:00
Dana Jansens
35418ca0fc
remove the ob_root var, its redundant of what Xlib already provides
2003-07-10 19:01:41 +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
59f318e897
prefix and capitalize the ObFocusFallbackType enum
2003-07-10 16:42:42 +00:00
Dana Jansens
e4be1f860b
prefix TRAN_GROUP to OB_TRAN_GROUP
2003-07-10 07:01:13 +00:00
Dana Jansens
4736c257a5
prefix and capitalize some more constants/enums in client.h (Function -> ObFunctions and WindowType -> ObClientType)
2003-07-10 06:59:39 +00:00
Dana Jansens
2477a38d2f
rename the Client struct to ObClient
2003-07-10 06:38:42 +00:00
Dana Jansens
b42ef7362c
add a mwm.h for the mwm hint structure and flags.
...
use proper prefixing and capitalization for the new mwm stuff.
2003-07-10 06:23:38 +00:00
Dana Jansens
276b2be581
add misc.h with some standard enumerations with proper prefixing and capitalizations.
...
use the new enums throughout.
provide keycodes and cursors through ob_cursor and ob_keycode functions, which use the new misc.h enums for picking the cursor and keycode.
2003-07-10 06:18:47 +00:00
Dana Jansens
6357583c39
rename 'xinerama' stuff to 'monitors' to be more generic and descriptive.
2003-07-10 05:44:23 +00:00
Dana Jansens
0719843c68
add client_search_top_transient.
...
keep transients all on the same desktop together. use client_search_top_transient where possible in client.c
2003-07-10 04:34:18 +00:00
Dana Jansens
34e819738b
xinerama support
2003-06-27 04:20:30 +00:00
Dana Jansens
22112d2b4e
check that extensions_vidmode is set before trying to use the vidmode functions
2003-06-26 16:32:40 +00:00
Dana Jansens
da24f9156b
set the desktop hint when the window already has a hint but its out of range
2003-06-26 07:30:19 +00:00
Dana Jansens
ba76ffaa2b
remove/add instead of raising to put a window into a new layer
2003-06-26 07:07:42 +00:00
Dana Jansens
6dd3ee7271
check to make sure the window is on screen *after* positioning it
2003-06-24 19:19:06 +00:00
Dana Jansens
069e9607fa
add decoration state to the frame struct. make client_configure adjust the frame if the decorations do not match between the client and the frame, so that when they change it can send a configurenotify to the client.
2003-06-21 18:59:35 +00:00
Dana Jansens
d085756572
make client_reconfigure a non-user-type client_configure
2003-06-21 18:29:42 +00:00
Dana Jansens
7e83fa0866
remove debug print
2003-06-21 18:08:26 +00:00
Dana Jansens
716477fc40
send teh configure event to client on user-requested final configures even if not moved, cuz usualy the final isnt sent with a change, but just to end the move process.
2003-06-21 17:28:36 +00:00
Dana Jansens
c100b72c5d
more namespacing with Rr*
2003-06-21 02:26:50 +00:00
Dana Jansens
092616de9a
rename pixel32/16 to RrPixel32/16
2003-06-21 02:00:42 +00:00
Dana Jansens
a4a0cb7829
fixed to accomodate the changes to the render/ API.
2003-06-21 00:42:47 +00:00
Dana Jansens
36231e5cb3
fix for how base-size is used to comply with the icccm
2003-06-19 17:14:16 +00:00
Dana Jansens
7cbac3c4d5
describe the complicated if a bit :)
2003-06-08 22:38:31 +00:00
Dana Jansens
07539c38c8
more checks for when to do an XResizeWindow
2003-06-08 22:37:31 +00:00
Dana Jansens
43d109dd06
send the configure notify for resizes too, just to be a little more safe
2003-06-08 22:30:55 +00:00
Dana Jansens
ddeb066ed4
onlt send configurenotify if the client actually moved, to work around emacs, hopefully :)
2003-06-08 22:28:32 +00:00
Dana Jansens
05e52e3c8e
some more fixes for resizing clients. aspect ratio is not the last thing checked and so rules all, that might need to change.. however, it now uses base-size only for aspect ratios and base-size/min-size for other sizing shit, as per the ICCCM.
2003-06-08 21:38:06 +00:00
Dana Jansens
bda9e6aaf9
from icccm:
...
If a base size is not provided, the minimum size is to be used in its place and vice versa.
Added support for this.
2003-06-08 21:21:23 +00:00
Dana Jansens
ac4e6784dd
i was backwards
2003-06-08 01:20:13 +00:00
Dana Jansens
5b3d5bda24
don't resize the client itself while doing a resize if its not final when config_opaque_resize is not on
2003-06-08 01:01:13 +00:00
Dana Jansens
f7de8e5a59
better VIDMODE support, handle the cases where the functions fail
2003-06-04 23:21:51 +00:00
Dana Jansens
abd8ec3c2e
size fullscreen applications to the resolution with the VIDMODE extension
2003-06-04 23:19:06 +00:00
Dana Jansens
68cc6e30b8
remove the client_remaximize function, and replace it with the client_reconfigure function, which just calls client_configure with the window's current location and dimensions, user=TRUE and final=TRUE.
...
add support for the VIDMODE extension in client_configure, namely, fullscreen windows are positioned at the point of the viewport rather than at 0,0.
call client_reconfigure when uniconifying a window, so that fullscreen windows are put at the point of the view port.
2003-06-04 23:11:26 +00:00
Dana Jansens
c6fd3aa890
use client_can_focus from client_focus to always get the same result
2003-06-04 19:24:37 +00:00
Dana Jansens
4cb48bebb5
reverting the transient focus cycle change, its just not.. right. add the parent's title to the transient's for the popup instead of just relpacing it
2003-06-04 18:22:19 +00:00
Dana Jansens
e0fa57d21c
allow focus_fallback to query if a client can be focused without changing the focus order on it
2003-06-04 17:16:50 +00:00
Dana Jansens
70a34967d6
ignore xerrors while using the pixmaps specified by the client, since they can certainly be invalid and there's nothing i can do about it.
2003-06-03 04:52:54 +00:00
Dana Jansens
f7b687487c
rm g_messages.. ones that segfault.. :>
2003-06-03 01:54:31 +00:00
Dana Jansens
5a8c164412
also dont increment the nicons if the w*h is 0
2003-06-02 23:16:50 +00:00
Dana Jansens
754391ea4d
watch out for 0x0 icons, and skip them
2003-06-02 23:10:27 +00:00
Dana Jansens
365a9fbb69
adjust what gets raised on map a bit, a little less selective.
2003-05-30 18:16:33 +00:00
Dana Jansens
4b2ec0d03c
use frame->visible, not the desktop number, other states exist too, like show_desktop
2003-05-26 18:39:48 +00:00
Dana Jansens
a373b1582e
use the user friendly desktop number
2003-05-24 08:37:21 +00:00
Dana Jansens
4d814a383b
add actions for changing client layers to abov/below/normal
2003-05-22 02:22:43 +00:00
Dana Jansens
d6cb5adbea
typo
2003-05-22 02:05:38 +00:00
Scott Moynes
71d2605e1c
Client menus
...
Add "client_menu" to pluginrc to use.
2003-05-21 23:58:40 +00:00
Dana Jansens
5a7953b36a
2 in 1 again..
...
a) directional focus actions
b) action system changes i.e. use structs/arrays for convertings strings to actions instead of gross if-else chains
2003-05-19 03:52:25 +00:00
Dana Jansens
a18c1697b1
make icons use pixel32 data, and image_draw takes pixel32 data.
...
client.c gets pixmap icons as a backup to netwm ones, and they are converted into pixel32 data.
2003-05-18 23:06:11 +00:00
Scott Moynes
d8921eb3d2
this is actually xor :) - fixing the focus search function to not return NULL if no valid group members exist to be a transient for
2003-05-18 17:49:17 +00:00
Dana Jansens
993fc6226d
2 in 1 deal :\
...
client.c stacking.c: fixing looping transient case for group transient windows. now a window which is transient for a group is *not* transient for any other transient windows in the group (perviously the other window had to be transient for the group to be excluded, now it can be transient for anything).
client.c/h event.c render.c/h: adjustnig icon handling a bit. will be converting the legacy pixmap icons into rgba data so they can be handled the same as netwm icons.
2003-05-18 17:09:55 +00:00
Dana Jansens
0b5f6589ba
print the class not the name
2003-05-16 21:34:00 +00:00
Dana Jansens
f17b225daa
save the dock's class/name for future evil purposes!
...
also print names of windows being managed/unmanaged
2003-05-16 20:20:33 +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
6e42b65bda
add anotehr stacking_add function.
...
make stacking_add take care of raising also.
make new windows that dont get focus also not raise above the focused window.
2003-05-16 15:16:33 +00:00
Dana Jansens
c5b8ec744c
pass teh correct values for config notify events
2003-05-14 18:25:51 +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
Dana Jansens
ffb76025fa
use the size of the icon window for slit apps, not the client window
2003-05-11 17:31:23 +00:00
Dana Jansens
c4a5149016
add a slit to the kernel
2003-05-10 20:52:32 +00:00
Dana Jansens
d5eacc5642
add a client_activate function, use it for net_wm_active mesgs and for focus cycling.
2003-05-09 22:53:11 +00:00
Dana Jansens
f26f23de50
all my changes while i was offline.
...
better alt-tabbing. better transient handling. i dont even know. lots of fucking cool shit so WATCH the FUCK OUT.
2003-05-09 16:57:17 +00:00
Dana Jansens
f8e7ab509c
a more correct for the missing frame problem. don't restack windows when changing the window's layer while it is being managed.
2003-04-27 22:33:38 +00:00
Dana Jansens
fd89a7eadc
only focus on startup if focus_new is true
2003-04-25 22:40:04 +00:00
Dana Jansens
d3c094357d
restore the desktop and focused window on restarts if possible
2003-04-25 22:35:08 +00:00
Dana Jansens
92d3f2342d
add helper functions for manipulating the focus_order list.
...
move the focus popup into focus.c, out of action.c
allow cycling to iconic windows, which are kept at the bottom of the focus_order lists.
2003-04-25 21:27:16 +00:00
Dana Jansens
019c779f7d
some more checks for transients looping on eachother when they are transients of a group
2003-04-24 03:41:30 +00:00
Dana Jansens
0ba6700655
even better checks for when to focus new windows. focus dialogs when they are the only member of their group
2003-04-22 07:06:10 +00:00
Dana Jansens
5d973d35e8
yet more changes to choosing to focus windows when they mapp
2003-04-21 00:47:14 +00:00
Dana Jansens
d3ce8451bc
new focus-new rules
2003-04-20 05:53:10 +00:00
Dana Jansens
8dfa16abae
i lied.. fuck @ those gnome dialogs
2003-04-19 21:11:04 +00:00
Dana Jansens
ccb8cd61ac
lighten up a bit on the focus new windows criteria
2003-04-19 21:10:27 +00:00
Dana Jansens
b426f7667d
adjust choosing to focus new windows, make it more strict.
...
eat all Enter events when unmapping a window so focus fallback can be more smarter..
2003-04-18 08:44:32 +00:00
Dana Jansens
c4fb053f2f
more strict rules on what will be focused by the focusNew option in the rc3. only strictly NORMAL windows will be focused, not dialogs or anything else when they are mapped.
2003-04-18 04:13:08 +00:00
Dana Jansens
077cd7f944
watch out when unmanaging a window, that it is not being move/resized
2003-04-18 01:51:41 +00:00
Dana Jansens
cfe3dc9ec4
a) put transient windows on the same desktop as their parent
...
b) if a window is attempted to be focused but it is not on the current desktop,
then move it to the top of the focus order on its desktop
2003-04-17 18:21:19 +00:00
Dana Jansens
04cfdd261d
code cleanup
2003-04-16 17:06:42 +00:00
Dana Jansens
1683b33fc1
when flags are not set assume bette defaults
2003-04-16 16:56:26 +00:00
Dana Jansens
c915078fab
only change the group info if the group flag is set
2003-04-16 01:02:29 +00:00
Dana Jansens
8c2f20e672
only add transients if we are IN a group
2003-04-16 00:55:27 +00:00
Dana Jansens
712475a9b5
oops nm
2003-04-16 00:53:52 +00:00
Dana Jansens
f3a93aeede
less ()s cleanup
2003-04-16 00:53:32 +00:00
Dana Jansens
d4b2de2180
remove transients before removing ourlselves from teh group
2003-04-16 00:52:18 +00:00
Dana Jansens
998ad4e7ee
set the group to null when removeing ourselves from it
2003-04-16 00:49:06 +00:00
Dana Jansens
3c960fb928
remove transients of the group from teh window when it leaves the group
2003-04-15 16:53:36 +00:00
Dana Jansens
4eb80a81cf
add group transients when setting up the group
2003-04-15 16:52:14 +00:00
Dana Jansens
5898c68530
bug in the search for transient_for's
2003-04-15 16:41:55 +00:00
Dana Jansens
e6d1ab217f
fixes for handling char**s
2003-04-14 23:38:54 +00:00
Dana Jansens
3175986d3a
remove casts from PROP defines. use proper vars and cast elsewhere if needed.
2003-04-14 22:20:27 +00:00
Dana Jansens
d4b20aef31
rip the prop code i wrote in cwmcc out and make it all 64bit friendly (i think!). stop using gulong for values from the xserver, using guint32 instead.
2003-04-14 21:34:35 +00:00
Dana Jansens
58ebc8f73c
apply layers to all transients. only raise once on the highest window who's layer changed after applying layers to them all
2003-04-14 01:10:54 +00:00
Dana Jansens
4d06971322
ifdef not ifndef
2003-04-13 23:43:18 +00:00
Dana Jansens
e75ead70a6
simple cleanups for the client_iconify function.
...
also dont follow into other groups when searching up the transient_for tree
2003-04-13 23:24:18 +00:00
Dana Jansens
16e7aac633
rm the unused vars
2003-04-13 21:48:10 +00:00
Dana Jansens
fd1b33af0d
onyl focus 'normal' windows on map
2003-04-13 21:47:39 +00:00
Dana Jansens
58ba751ab7
only keep fullscreen windows on top while they are focused
2003-04-13 21:46:31 +00:00
Dana Jansens
b58268e01a
make fullscreen decorations and functions be calculated by the setup_decor_and_functions func
2003-04-13 21:37:32 +00:00
Dana Jansens
00042637e8
only print that when debuggin focus
2003-04-13 21:19:43 +00:00
Dana Jansens
5cf61ee023
move the openbox engine into librender and the kernel. the theme is loaded and stored inside librender. the frame is decorated and managed inside the kernel.
2003-04-13 07:18:28 +00:00
Dana Jansens
6011fe9c95
make utility windows able to be resized
2003-04-11 19:14:13 +00:00
Dana Jansens
a5bd2babc8
deiconify transient parents when a child is deiconified.
2003-04-10 07:21:30 +00:00
Dana Jansens
e9d875cf83
some smarter rules for focusing new window when focus_new is not set
2003-04-10 06:29:43 +00:00
Dana Jansens
71badb0790
move config option loading for the kernel into config.c/h
...
add options for the number of desktops and the names of the desktops
2003-04-08 07:31:26 +00:00
Dana Jansens
63b0c5616f
check for focus before unfocusing
2003-04-08 06:31:25 +00:00
Dana Jansens
c99bb4a049
add more options for focus fallback, use an enum for all the types of fallbacks.
2003-04-08 06:14:53 +00:00
Dana Jansens
fc32577766
fallback focus while unmanaging the window
2003-04-08 01:02:28 +00:00
Dana Jansens
5f53cd5fb8
check for new windows always being onscreen.
...
rename the client pointer to self in teh manage unmanage functions for consistancy
2003-04-07 22:26:31 +00:00
Dana Jansens
e6cc69ca04
support for transients of groups
2003-04-07 08:43:33 +00:00
Dana Jansens
5f42ecfacb
track window groups
...
iconify all its transients when a window is iconified
2003-04-07 05:47:20 +00:00
Dana Jansens
db086ef336
put focus_cycle into focus.c, use it there in the action. improved it as well to handle odd cases like modal windows. added functions to client.c which are needed by the focus cycling routine.
2003-04-07 03:46:41 +00:00
Dana Jansens
3778846122
typo
2003-04-05 21:49:55 +00:00
Dana Jansens
3d0ba381db
put it back
2003-04-05 21:40:47 +00:00
Dana Jansens
e38b27fcce
make unfocus really unfocus everything
2003-04-05 21:36:37 +00:00
Dana Jansens
cbbf90a718
change how rc parsing will work. a=b will be parsed in any [section] and given to a separate parsing callback. no more general config infrastructure needed/
2003-04-05 20:27:03 +00:00
Dana Jansens
b10b31feb8
rm debug print
2003-04-02 06:31:04 +00:00
Dana Jansens
4398c7c168
add a shaded button
2003-03-31 22:58:54 +00:00
Dana Jansens
abbb454a29
only disallow shading when the function is not enabled, dont disallow unshading
2003-03-31 20:24:56 +00:00
Dana Jansens
0327c5a778
use the frame's position in the maximize function since they're converted to the client coords before getting to client_configure
2003-03-31 07:51:04 +00:00
Dana Jansens
8fbc68d46d
set fullscreen and max positions properly for all gravities
2003-03-31 07:22:19 +00:00
Dana Jansens
8ac5a60322
rm client_disable_decorations.. it already had an action.
...
add the action to the action_from_string func
2003-03-28 23:02:57 +00:00
Dana Jansens
8fb10d8d87
add client_disable_decorations
2003-03-28 22:59:26 +00:00
Dana Jansens
3e8ecbeefa
onlt raise the window when sending to a desktop it wasnt already on
2003-03-28 11:17:52 +00:00
Dana Jansens
0fcd4c30cc
RevertToPointerRoot is the worse error case, so use it always
2003-03-28 10:47:48 +00:00
Dana Jansens
cc813ed698
make the value boolean
2003-03-28 10:02:21 +00:00
Dana Jansens
b749cd5ec4
was not moving the window between desktop focus lists sometimes. bad news. now i always do. yay!
2003-03-28 08:23:18 +00:00
Dana Jansens
92bea590c0
let a window be 'moved' to a new desktop without actually show/hiding it. useful for sending a window when following it, so theres no flash/flicker
2003-03-28 08:11:02 +00:00
Dana Jansens
38c776bd4e
use the struts to size the window correctly for maximized windows
2003-03-28 03:18:08 +00:00
Dana Jansens
91fed61884
read struts properly
2003-03-28 03:02:35 +00:00
Dana Jansens
e7d225b84a
only use the initial_state shit when NOT starting and when managing the window
2003-03-28 01:25:51 +00:00
Dana Jansens
07a52aeaff
mor fabulous focus fixings.
...
RevertToNone so that when the fallback stuff goes the window wont already have focus cuz it has the pointer in to
2003-03-28 00:27:35 +00:00
Dana Jansens
bf32b376b5
handle focus in the kernel, no more plugin
2003-03-27 23:10:22 +00:00
Dana Jansens
e0170fe181
rm debug print
2003-03-27 19:05:16 +00:00
Dana Jansens
f29dd7e0cd
not using CurrentTime anywhere
2003-03-26 15:02:08 +00:00