summaryrefslogtreecommitdiff
path: root/openbox
AgeCommit message (Collapse)Author
2011-01-24Big changes to placement across multiple monitors.Dana Jansens
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.
2011-01-24add function screen_compare_desktops()Dana Jansens
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.
2011-01-24don't steal focus if someone used a window within 1 second agoDana Jansens
(instead of 0.5 seconds)
2011-01-24Fixing commit 066a15d7aa64eaa0. Don't ever use CurrentTime as event_curtime.Dana Jansens
Force event_curtime to be some valid timestamp.
2011-01-24update the last user interaction timestamp during a move/resize of the ↵Dana Jansens
focused window
2011-01-24update the user-interaction timestamp when running a (non-interactive) ↵Dana Jansens
action on the focused window update it at the end of running actions instead of multiple times (once for each action)
2011-01-24don't steal focus from a window if it was used very recently, when someone ↵Dana Jansens
uses _NET_ACTIVE request.
2011-01-24mem leak in config.cDana Jansens
2011-01-24Big rework of image.c and the image cache system.Dana Jansens
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.
2011-01-24Use >= instead of > when comparing timestamps, or we will ignore some eventsMikael Magnusson
2011-01-24less redundant calls to screen_update_areas() and client_move_onscreen()Dana Jansens
2011-01-24Ignore MotionNotify on menus, it reset the submenudelay timerMikael Magnusson
It also caused the slightest cursor movement to activate the entry under the cursor when navigating via the keyboard.
2011-01-24Use g_list_find instead of weird bouncing loopsMikael Magnusson
2011-01-24Parse multiple keys in one keybindDana Jansens
2011-01-24allow the res_class in WM_CLASS to mark a window as a dock app, if it is set ↵Dana Jansens
to the string "DockApp"
2011-01-24Don't hog the user during the hideDelayMikael Magnusson
2011-01-24Handle STRING and COMPOUND_TEXT type text properties.Dana Jansens
STRING should be latin1 text (plus TAB and LF) COMPOUND_TEXT should be encoded in the current locale.
2010-10-14cleaning up remnants of bad rebase merges and modernizing some sectionsDave Foster
2010-10-14Buttons seem to work!Dave Foster
2010-09-16Fix a double free when you have a mousebind without a button attributeMikael Magnusson
Introduced in f307a3feabedd9bcadeaafd0fa8e1b1a60736eb2
2010-09-16Revert "add XFlush to g_timeout callbacks"Dana Jansens
This reverts commit aa3685d16af4a565eecdc39047ee8d140ef5cd99. Mika's commit using a GSource to handle X Events fixes this problem, so this commit is not needed
2010-09-16Fix 3.4 compatibility for SendToDesktopMikael Magnusson
2010-09-16Add signal handling with the GMainLoopDana Jansens
Provided through a very simplistic interface in obt, found in the obt/signal.[ch] files
2010-09-16Continue parsing contexts when an unsupported one is encounteredMikael Magnusson
2010-09-16Make the dock a context and add actions LowerDock and RaiseDockMikael Magnusson
2010-06-26Move usage of iconh into the branch that assigns itMikael Magnusson
2010-06-26settings can't be NULL here, or we'd have already crashed anywayMikael Magnusson
2010-06-14add XFlush to g_timeout callbacksDana Jansens
GMainLoop doesn't cause an flush to occur after handling a timeout.
2010-06-14Fix the EXTENTS reported on window frames.Dana Jansens
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.
2010-06-14keep stacking_list_tail a pointer to the tail of the stacking listDana Jansens
2010-06-14allow a user to set "undecorated" on a window without decorationsDana Jansens
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.
2010-06-14Use GMainLoop instead of ObtMainLoopDana Jansens
2010-05-21allow new windows on other desktops to get focused if specified in a per-app ↵Dana Jansens
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
2010-05-20Allow sending windows on other desktops to the current desktop.Mikael Magnusson
2010-05-20Add some more conditions to the If actionMikael Magnusson
It can now match on window titles, virtual desktop (number, "current", "other"), demands_attention, and undecoratedness.
2010-05-20don't need a force_reply when changing the decor for a windowDana Jansens
it will send a configurenotify if the client's rootwindow position changed
2010-05-20client_update_protocols() doesnt change anything that would affect a ↵Dana Jansens
client's decor or functions
2010-05-20allows a window to unmax by resizing.Dana Jansens
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.
2010-05-19set the frame's initial size to something invalid so the extents hint will beDana Jansens
set for sure the first time.
2010-05-17set the interactive action to NULL before doing its cleanup phaseDana Jansens
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.
2010-05-17fix focus when starting up, especially when replacing another instance of ↵Dana Jansens
openbox adds a function event_reset_time() that forces event_time() to look for a new (future) timestamp
2010-05-17avoid new gcc warning (casting ** to const** is not valid for good reason)Dana Jansens
2010-05-17allow multiple contexts separated by space in a mouse bindingDana Jansens
example: context="Top Left Right Bottom"
2010-05-17Remove some unneeded stdlib.h includesMikael Magnusson
2010-05-17Add support for using relative expressions in move and resize actionsMikael Magnusson
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
2010-05-11add cleanup functions to the client list menus that removes everything from ↵Dana Jansens
them when they are not being shown (saves iterating thru the list uselessly when a client is unmanaged)
2010-05-11add cleanup function for menus that fires when the menu is no longer visibleDana Jansens
2010-04-29don't try go to selected submenu when there is nothing selectedDana Jansens
2010-04-28use clicks in promptsDana Jansens
2010-04-28fix XSYNCronization of resizes (especially with two monitors).Dana Jansens
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