summaryrefslogtreecommitdiff
path: root/openbox
AgeCommit message (Collapse)Author
2011-08-02Merge branch 'm4/master'Mikael Magnusson
2011-08-02Revert these two commits temporarily to make the buttons merge easierMikael Magnusson
1e427a3358deeadf8abc326e714ee201fddc43d6 2288da0ae3b44c987687e3deeb7864fcb7b23bb9
2011-08-02Fix some rebase artifactsMikael Magnusson
2011-08-01Fix some translation string markingsMikael Magnusson
2011-08-01Allow setting icons for submenusMikael Magnusson
2011-08-01Fix menu placement to avoid dead xinerama areas, possibly break other stuffMikael Magnusson
Use screen_find_monitor(area) instead of screen_find_monitor_point( topleft corner) in order to find a better monitor when the menu isn't opening with the mouse cursor in the top left corner. I made screen_find_monitor return the primary screen when it failed to find a monitor containing the rect, instead of the total area, no idea what behaviour this will change but I doubt it will be worse.
2011-08-01Fix bug #4877 (Some harmless code quirks involving booleans)Dana Jansens
2011-08-01Separate theme options for osd prompt buttons.Carlos Pita
I managed to keep backwards compatibility without really cluttering the code so here is the patch http://bugzilla.icculus.org/show_bug.cgi?id=4874 too. Please keep in mind that this is my first piece of code for openbox and that I'm not a die hard openbox user (yet), not to tell the patch was not exhaustively tested. Anyway I think it's pretty much in a good shape but any criticism will be welcome. Basically the patch add the following theme options for controlling buttons in osd prompts: %%%% colors % % for the text inside the button osd.button.unpressed.text.color osd.button.pressed.text.color osd.button.focused.text.color % % for the line art around the button % (if you don't wan't the box just make box.color = bg.color) osd.button.pressed.box.color osd.button.focused.box.color %%%% textures % osd.button.unpressed.bg osd.button.pressed.bg osd.button.focused.bg The buttons can be in three states: unpressed: neither clicked nor selected focused: selected but not clicked pressed: clicked (and of course selected) I discarded the previous distinction between press and pfocus as in fact it was only a formal distinction, in that both appearances mimicked each other in every sense. It think that it was just inherited from the way titlebar buttons are managed so I decided to simplify it a bit. All the options default in a way that preserves backwards compatibility: osd.button.unpressed.text.color -> osd.active.label.text.color osd.button.pressed.text.color -> osd.active.label.text.color osd.button.focused.text.color -> osd.active.label.text.color osd.button.pressed.box.color -> window.active.button.pressed.image.color osd.button.focused.box.color -> window.active.button.hover.image.color osd.button.unpressed.bg -> window.active.button.unpressed.bg osd.button.pressed.bg -> window.active.button.pressed.bg osd.button.focused.bg -> window.active.button.hover.bg Notice that a good deal of locs where added to theme.c but in compensation prompt.c is pretty much simpler now because the appearances and textures are created while loading the theme.
2011-08-01Comment fixDana Jansens
2011-05-13Fix Java apps always appearing on desktop 0.Dana Jansens
Fake managing a window doesn't read a requested desktop, but ended up placing a NET_WM_DESKTOP hint on the window (with value 0). Fake managing doesn't need to set the DESKTOP hint since the window is not actually being managed, so remove it from the codepath.
2011-04-11don't re-run the startup command on reconfigureDana Jansens
2011-01-24Resizing removes maximization now, so don't only snap "grow to edge" to ↵Dana Jansens
screen edges. This caused a serious annoyance when shrinking a maximized window, it would shrink to the other end of the monitor, effectively reducing it to its minimum size.
2011-01-24Fix compiling without sync extension present.Dana Jansens
Make waiting_for_sync always present, but it is set to 0 (not waiting) if we aren't using sync.
2011-01-24Fix regression: hitting a key accel in a menu didn't move focus to the submenuDana Jansens
2011-01-24Show the submenu and move focus there with the enter key when the submenu ↵Dana Jansens
isn't shown yet.
2011-01-24cap the client (and frame) window's dimensions at the range of an unsigned ↵Dana Jansens
short (bug #4596)
2011-01-24extra \n in debug outputDana Jansens
2011-01-24Move focus to a window when the mouse enters a window during a pointer grab, ↵Dana Jansens
if using "focus under mouse" (Fixes bug #4617)
2011-01-24when focus=yes in the per-app settings, then the focus request for the new ↵Dana Jansens
window is from a user. also if allow_other_desktops is false, then always disallow other desktops (Fixes bug #4752)
2011-01-24Make NET_ACTIVE messages always treated as from the user. Loosen up focus ↵Dana Jansens
stealing for user-requested focusing. Seems panels such as xfce's and gnome's still treat their activation requests as being from an application when a user has requested it. Make the focus stealing code more lenient for user-requested focusings (_NET_ACTIVE). But treat new windows as not user-requested unless they gave a launch time. When activating a window, if another window would be the one to actually get focused, then activate that instead (avoid clicking a window in the panel and nothing happens).
2011-01-24setenv and unsetenv dont exist in Solaris 9. (Fixes bug #4663)Philip Brown
Seeing as how you already use glib, I just substituted g_setenv and g_unsetenv as appropriate, and it now works for me.
2011-01-24Some versions of X, have the Shape extension, but apparently not ↵Philip Brown
"ShapeInput" (Fixes bug #4662) the sawfish window manager has ifdefs for this sort of situation. I followed suit, and #ifdef'd it, and it now works for me. patch attached. Slight changes to the patch from danakj@orodu.net for readability
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-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-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