Dana Jansens [Sun, 4 Mar 2007 09:01:52 +0000 (09:01 +0000)]
oops... I'm combining two different things in this commit... so I'll try be clear
1. when another wm requests to replace openbox, openbox exits. but the SM will just restart openbox unless we tell it not to. so now ob_exit_replace() will change the session manager's view of openbox to not restart it. that way the new WM will be able to run.
2. allow windows to move themselves off of the screen 90% of the way, if they really want to. but only 90% to the left, right, and bottom of the screen. it won't let the app move off the top of the screen on its own at all now, since hiding the titlebar on you without you being a part of the process is pretty darn evil!
this is really to address bug # 2982 - for the tilda application. but i guess if windows really want to move off the screen, who's to say no? also, every other window manager will let them - except metacity won't let them on the left/top side of the screen.
Dana Jansens [Sun, 4 Mar 2007 07:54:21 +0000 (07:54 +0000)]
better string matching for duplicate title numbering. this will check against the whole window's title. it used to check less than the full length sometimes. thanks to logan for patches and ideas!
Valid place="" are ActiveWindow, InactiveWindow, MenuTitle, and MenuItem.
Only valid weight is "bold"
Valid slants are "italic" and "oblique"
shadowTint is a value between -100 and 100
size is the font size in points. pixelsize could possibly be added in the form of 8px, but it's not right now.
the name can contain multiple families and they will all be used to match characters
You can omit any fields and get the default for it. You can omit naming a font for a place="" and get the default font for it.
This is completely replacing theme-specified fonts, for better or for worse. Font shadowing may go back into the theme at some point, instead of in the rc.xml.
Dana Jansens [Sun, 4 Mar 2007 07:14:25 +0000 (07:14 +0000)]
remove the font code for parsing Xft font strings. we are using the individual values specified in the user's configuration now, no longer using the strings from the theme file at all
Dana Jansens [Sat, 3 Mar 2007 06:04:00 +0000 (06:04 +0000)]
don't change the restart type with the session manager when openbox exits. it's not like something else will magically run instead. if we exit, we should get started again, that's why --replace exists.
Dana Jansens [Sat, 3 Mar 2007 03:43:45 +0000 (03:43 +0000)]
ok this time for real...
add --reconfigure option to openbox.
this option will open the display, find the current openbox's PID from the root window, and send a SIGUSR2 to it, telling it to reconfigure. then it exits.
also no longer printing help if you pass an invalid argument to openbox (because i want to parse arguments for --reconfigure before i start up the session management stuff)
Dana Jansens [Sat, 3 Mar 2007 03:42:28 +0000 (03:42 +0000)]
make a copy of the argc and argv instead of modifying the real ones
this means that when openbox is restared it doesn't lose it's SM related command line args, they get passed to the new openbox same as they were passed to the one exiting.
Dana Jansens [Sat, 3 Mar 2007 03:27:35 +0000 (03:27 +0000)]
add --reconfigure option to openbox.
this option will open the display, find the current openbox's PID from the root window, and send a SIGUSR2 to it, telling it to reconfigure. then it exits.
no longer printing help if you pass an invalid argument to openbox
since that is the case, session_startup doesnt need to be modifying the args anymore
Dana Jansens [Sat, 3 Mar 2007 02:53:41 +0000 (02:53 +0000)]
pango is now mandatory..
lots of cleanups to the pango code, which was a very nice base to start from. thanks to whomever wrote that for us.. put some of the pango variables into the various render structs so that they don't need to be created all the time. put the pango context inside our RrInstance so that it can be properly freed at shutdown. removed xft dependencies all through the code and the build system also. who knows if this will break compiling for some poor souls. i guess we'll find out, won't we!
| It's not a compiler bug. It is a C99 bug, or more exactly, a
| feature. C99 changed the semantic of the C language with respect to
| aliasing questions. Now, the compiler can assume that pointer to
| different types points to different memory location. This breaks all
| the OO code written in C.
|
| This is a very good idea that the compiler issues a warning message
| because the semantic of language really changed and you want to revert
| to the old semantic.
|
| The make package MUST add -fno-strict-aliasing. It is not a
| convenience to get rid off warnings.
Dana Jansens [Fri, 2 Mar 2007 15:19:39 +0000 (15:19 +0000)]
only update the screen areas when a window actually has a strut (or when the strut changes), don't waste extra calls to screen areas, because it makes people redraw when they don't need to
Dana Jansens [Fri, 2 Mar 2007 06:01:16 +0000 (06:01 +0000)]
support clients which use true transparency 32-bit visuals.
this requires that when a client is using a 32-bit visual, we have to
make the frame windows that sit underneath it to use the same visual (and a
colormap which matches it)
Dana Jansens [Fri, 2 Mar 2007 02:23:00 +0000 (02:23 +0000)]
this includes a number of things since my magnificent return....
1. some random compiling/style cleanups
2. some bigfixes
- mislogic in per-window-settings and focusing new windows
- use client_can_focus rather than checking variables for directional focus
- MAYBE fix all those lock-ups forever. using event_curtime (a new variable) now instead of event_lasttime. event_lasttime is still used however when the event being processed did not have a time associated with it. this may or may not be a problem, and will be seen.
3. um.. i forget
4. oh yeah, 3rd party docks are now treated like the internal ob dock irt focus. that is, clicking on them won't pass them focus. this is going to be ratified as expected behavior in the wm-spec just now. if docks/panels want focus they can request it with _net_active_window, and then they can have all the focus they want! one day alt-tabbing around dock windows might be nice. but not until the ob dock is moved out into a separate application. going to have to add a wmapp selection and stuff for that though... ugly. who uses wmdockapps anymore !? someone must.. *sigh*