| Age | Commit message (Collapse) | Author |
|
|
|
Change the order things are done on map, so we apply startup state without
any states set first, thus getting all the functions possible for the window
type etc. then change the order states are applied, as some remove the
ability to apply others (ie fullscreen comes last).
Add an oldsize to ObFrame that remembers the size of the frame last reported to
the world through the EXTENTS property. If you frame_adjust_area(FAKE) then
frame_adjust_area(NONFAKE), the EXTENTS would not be updated since the
oldsize wasn't remembered across fake updates.
Make the extentsrequest test ask about windows with states set also.
|
|
if not based on window type, the app may decide to have decorations again
sometime. this was not always legal but chromium has made it so.
|
|
rule
you can not client_active() with user=false and desktop=true and activate things on other desktops, by the general focus steal restrictions, if you wanted to do that sorta thing
|
|
it will send a configurenotify if the client's rootwindow position changed
|
|
makes "clever" use of the client's pre_max_area values to allow this to happen
without flashing, and preserving them in case the user cancels the resize
after it has become unmaximized.
|
|
1) a ConfigureNotify must always follow a Sync notification
2) determine the final size of the window with its position else struts are not applied properly for (partly) maximized windows
3) set the sync counter to a value when managing a new window
|
|
maximized/fullscreen windows must be on some monitor or it doesn't make much sense (and asserts)
|
|
Remains from 64adc0eeba598cb1469b2140777fba30e3053f0e
|
|
|
|
phase.
|
|
This function never returns CurrentTime, which is nice, cuz using CurrentTime for XSetFocus always sucks.
If the current XEvent did not have a timestamp, then event_time() will find one. It finds the first timestamp available in the X event queue, meaning the earliest timestamp >= the current (nontimestamped) event. All future events should have a timestamp >= event_time(), so using this in XSetFocus() should not mess up any future calls we make to it.
This change seems to work well, as it appears to fix bug #3648.
|
|
Get the first timestamp from the event queue, rather than (potentially) the
last.
also treat it as the actual event_curtime, meaning it is used when focusing a
newly mapped window etc.
|
|
hilited/flashing/urgent windows (feature req/bug #4341)
|
|
|
|
launched before the last desktop switch, not after. ie don't change desktops if you're not sure.
|
|
|
|
"oldschool fullscreen window" or not. use this throughout. and allow oldschool fullscreen windows to move to 0,0 even with a strut there.
|
|
move it to inside the strut instead (unless it is an oldschool fullscreen app)
|
|
|
|
|
|
if we decide to focus the window, do not use their provided timestamp.
chromium gives a very old timestamp, which means we think we're focusing the
window but it never actually gets focus, leading to inconsistent behaviour by
openbox. use the timestamp for making decisions about passing focus if you
want (we dont right now), but not for the XSetInputFocus call.
|
|
area functions when possible
|
|
|
|
|
|
restore it after
|
|
a bug. Also allow oldschool fullscreen windows that cover all monitors on a multihead setup to work properly
Added a test 'oldfullscreen' that makes a oldschool fullscreen window
|
|
and save the title in the _OB_APP_TITLE property
|
|
Conflicts:
configure.ac
data/rc.xml
openbox/client.c
openbox/event.c
openbox/focus_cycle.c
openbox/focus_cycle_popup.c
openbox/openbox.c
openbox/prop.c
openbox/prop.h
openbox/screen.c
parser/parse.c
version.h.in
|
|
added/removed from the valid focus order
|
|
Add _OB_VERSION property on the root window.
Change _OB_ROLE/CLASS/NAME to _OB_APP_*.
Add _OB_APP_TYPE which has a string for the type chosen for the window on
mapping by Openbox.
Adjust the rc.xml to match these changes.
|
|
rather than closing it
|
|
application rules to match only on the role or type if you wish.
|
|
So you can find valid targets on desktops other than the currently visible one
|
|
Set version stuff to 3.5.0-rc1.
Copy the CHANGELOG from 3.4-working.
Rename the obt-4.0 and obrender-4.0 pkgconfig stuff to obt-3.5 and obrender-3.5
Rename the "render" directory to "obrender" so that the public headers can be
installed in <obrender/*>
|
|
Conflicts:
openbox/config.c
openbox/event.c
openbox/prop.c
openbox/prop.h
openbox/screen.c
openbox/screen.h
|
|
users.
The hints are _OB_ROLE, _OB_NAME, and _OB_CLASS.
|
|
This fixes the move-to-edge behaviour, when moving past the edge of a monitor,
the window will stop with its tail edge against the inside of the monitor's
edge.
|
|
Previously it would only react if the height of the strut changed, not if its
start/end changed (that was a long-standing bug).
|
|
|
|
rc.xml. Fixes bug #4350
|
|
Conflicts:
openbox/actions/all.h
openbox/actions/session.c
openbox/client.c
openbox/event.c
openbox/grab.c
|
|
|
|
client_activate() is a helpful way to focus a window on another desktop,
but only Openbox is allowed to do such things, user messages cannot.
|
|
Applications should be better behaved by now, and GTK based apps seem to be
at least. We can file bug reports with them if we need to still.
|
|
Move focus on _net_active_window "app" requests if focus stealing would be
allowed. If focus is not given to the target window and it is hilited (or
any other situation where it is hilited) and the window is on another desktop,
then also raise it and make it the LRU window, so when you switch desktops
you go right to it.
|
|
Conflicts:
openbox/popup.c
|
|
them "undecorated" with the keepborder config option on.
This fixes what commit 85f39cd27e7ea0eec8bc78f6139092b44fda2dad fixed for the
fullscreen window case, but also fixes bug #4344.
|
|
This reverts commit fd2f617be7ff57fcb187daa737f66d243544c8cd.
This reverts commit a47d0a53652a96ca1df96fc9268757df1431ae55.
This reverts commit a1908e076736e1a618bd305c5963dbfecaa30497.
This reverts commit dc2e6f6bf7143a56de360a393b33906735e63625.
This reverts commit 985e7dadf9a3ebf4bd265d955c3198e96405e5d2.
This reverts commit db781556d63d1a50bd1b1b4b6b5423ef703bf2c7.
This reverts commit feec8f663f0a11546c2da87575fecc8a88d97ca1.
|
|
Add asserts to default: in switch statements
Store pointed to variables locally so it knows they don't change
Remove some dead assignments
Mark ob_exit_with_error as noreturn
Use "%s", msg instead of just msg to printf style functions
Use the c_pfocus variable
|