| Age | Commit message (Collapse) | Author |
|
Add a Primary option for which monitor to place new windows on. Make "Active" the default instead of "Any", which is just totally crazy.
When a window is being placed in the FOREGROUND, use a monitor chosen in
the following order:
1. same monitor as parent
2. primary monitor if placement=PRIMARY
active monitor if placement=ACTIVE
pointer monitor if placement=MOUSE
3. primary monitor
4. other monitors where the window has group members on the same desktop
5. other monitors where the window has group members on other desktops
6. other monitors
When a window is being placed in the BACKGROUND, use a monitor chosen in the
following order:
1. same monitor as parent
2. other monitors where the window has group members on the same desktop
2a. primary monitor in this set
2b. other monitors in this set
3. other monitors where the window has group members on other desktops
3a. primary monitor in this set
3b. other monitors in this set
4. other monitors
4a. primary monitor in this set
4b. other monitors in this set
Decide to focus the new window before placing it, so we know if it will be
placed in the foreground or background.
Always choose a single monitor, then place on it, rather than possibly moving
to a "backup" monitor. Unpredictable monitor placement is horrible.
|
|
tells if two windows' current desktops are considered logically on the same
desktop (taking "all desktops" into account)
if a window is on "all desktops" it is considered to be on the current desktop
only - windows can only be in one place at a time.
|
|
(instead of 0.5 seconds)
|
|
Force event_curtime to be some valid timestamp.
|
|
focused window
|
|
action on the focused window
update it at the end of running actions instead of multiple times (once for
each action)
|
|
uses _NET_ACTIVE request.
|
|
|
|
Added a lot of comments, simplified call graphs.
Added full (not second-class) support for images coming from named sources (files, icon themes).
RrImage holds an RrImageSet. RrImageSet holds a bunch of RrImagePic, which are different sizes of a logical image.
RrImageSet objects can be merged if it is discovered they (will) share an RrImagePic. The RrImage objects are updated to use the new merged RrImageSet.
|
|
|
|
|
|
It also caused the slightest cursor movement to activate the entry under
the cursor when navigating via the keyboard.
|
|
|
|
|
|
to the string "DockApp"
|
|
|
|
STRING should be latin1 text (plus TAB and LF)
COMPOUND_TEXT should be encoded in the current locale.
|
|
|
|
|
|
Introduced in f307a3feabedd9bcadeaafd0fa8e1b1a60736eb2
|
|
This reverts commit aa3685d16af4a565eecdc39047ee8d140ef5cd99.
Mika's commit using a GSource to handle X Events fixes this problem, so this
commit is not needed
|
|
|
|
Provided through a very simplistic interface in obt, found in the
obt/signal.[ch] files
|
|
|
|
|
|
|
|
|
|
GMainLoop doesn't cause an flush to occur after handling a timeout.
|
|
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 can now match on window titles, virtual desktop (number, "current",
"other"),
demands_attention, and undecoratedness.
|
|
it will send a configurenotify if the client's rootwindow position changed
|
|
client's decor or functions
|
|
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.
|
|
set for sure the first time.
|
|
if the cleanup ends up cancelling the "current interactive action", it would
cause the end function to be called again, which sucks. for instance if the
cleanup function uses the Focus action. this prevents the unwanted loop
into the interactive action cleanup.
|
|
openbox
adds a function event_reset_time() that forces event_time() to look for a new (future) timestamp
|
|
|
|
example: context="Top Left Right Bottom"
|
|
|
|
Have MoveResizeTo use config_parse_gravity_coord instead of duplicating it locally
Allow MoveResizeTo positions and sizes and per app positions to be relative to screen size
Rename to config_parse_relative_number so it can be used for sizes too
Add relative numbers to width/height in MoveResizeTo
Add relative numbers to MoveRelative
Add relative numbers to ResizeRelative, these are for the client size, not screen size
|
|
them when they are not being shown (saves iterating thru the list uselessly when a client is unmanaged)
|
|
|
|
|
|
|
|
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
|