summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-01-24make the default drag threshold 1. it is smooth and feels and looks nice.Dana Jansens
(also macos has it and i liked it.)
2011-01-24XML_PARSE_XINCLUDE flag seems to do nothing. Use xmlXIncludeProcessFlags() ↵Dana Jansens
instead
2011-01-24if no launch time is provided for an application, make one up.Dana Jansens
if the window is related to other existing windows and one of those windows was the last used then we will give it a launch time equal to the last user time, which will end up giving the window focus probably. else the window is related to other windows, but you are not working in them? seems suspicious, so we will give it a launch time of NOW - STEAL_INTERVAL, so it will be given focus only if we didn't use something else during the steal interval. else the window is all on its own, so we can't judge it. give it a launch time equal to the last user time, so it will probably take focus. this way running things from a terminal will give them focus, but popups without a launch time shouldn't steal focus so easily.
2011-01-24fix segfault for placing windows without a groupDana Jansens
2011-01-24add primary monitor stuff to rc.xsdDana Jansens
2011-01-24Fix small leak in If action option parsingMikael Magnusson
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-24Allow XIncludes in xml documents we read.Dana Jansens
Add the XInclude namespace in the default config file (named "xi")
2011-01-24use top_builddir, not builddir variable in Makefile. seems builddir doesn't ↵Dana Jansens
always exist/anymore
2011-01-24add some more warning flags for debug buildsDana Jansens
-Wno-write-strings so that "foo" is treated as a const char* not a char*. -Wextra for more fun
2011-01-24Fix icons.c test for 64-bit platformsHiltjo Posthuma
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-24add some tests for obt pieces (binary search, .desktop parsking, linkbase, ↵Dana Jansens
and inotify watch)
2011-01-24oops, crash if searching for something smaller than * in the arrayDana Jansens
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.
2011-01-24Revert "add an inotify watcher for directories (doesnt work without inotify ↵Dana Jansens
yet)" This reverts commit c36b89ba12eae18d3011c8516906c21e9abb89dc.
2010-10-04fix make distcheckDana Jansens
2010-09-16glib can't handle -Wcast-qualDana Jansens
2010-09-16add wmhints test that toggles motif decor hints on a mapped windowDana Jansens
2010-09-16Fix a double free when you have a mousebind without a button attributeMikael Magnusson
Introduced in f307a3feabedd9bcadeaafd0fa8e1b1a60736eb2
2010-09-16Fix a copypasto that broke interactive keybinds with meta and hyper keysMikael Magnusson
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-16Correct typo occured -> occurred in function nameMikael 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-16add stackabove test, that lets you move a client window just above a ↵Dana Jansens
specified window in the stacking order
2010-09-1680 colsDana Jansens
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-25Use a gsource instead of gio channels for watching x eventsMikael Magnusson
Fixes not getting some focusin events sometimes.
2010-06-16obt returns libxml2 structures directly, so anyone linking against it better ↵Dana Jansens
also link to libxml2
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