summaryrefslogtreecommitdiff
path: root/openbox
AgeCommit message (Collapse)Author
2012-09-30Generate a fake leave event on actions that move windows (used to generate ↵Dana Jansens
another enter event?)
2012-09-30Ignore enters on windows that are raised over focused window while being mapped.Dana Jansens
2012-09-30Use the KeyCode to directly find the modifier mask. (Fix bug 5173)Dana Jansens
We were finding the KeySym first, and then converting back to a modifier mask. But KeySym on a key's release can differ from on its press, and we don't need them to determine the modmask from the keycode. [setxkbmap -option "grp:shifts_toggle"] turns Shift_L into XK_ISO_Prev_Group on key release, and Shift_R into XK_ISO_Next_Group.
2012-09-30Don't make desktop switching interactive when no mods used. (Fix bug #5203)Dana Jansens
Make mod state passing more consistent, and always give actions the full state instead of stripping sometimes. (They ended up expecting it stripped always).
2012-09-30Fix crash on unexpected NET_WM_MOVERESIZE_CANCEL messagesMikael Magnusson
gtk+ 3.4 apparently sends these randomly when you select text in a GtkEntry. This also fixes bug #5460.
2011-10-16Fix window width/height going less than 1 on some platforms (bug #5246)Dana Jansens
2011-10-16Fix maximized windows and such after screen resizingsDana Jansens
2011-10-16Hear screen resizes when they don't change the root window (cloning)Dana Jansens
2011-10-16Check the return value for launching the startup command.Dana Jansens
Copy/paste error?
2011-10-16respect the active/mouse options for monitor placement, and use ↵Dana Jansens
ObMonitorPlace for per-app too
2011-10-16Allow per-app settings to pick a monitor for a window without choosing a ↵Dana Jansens
position in it.
2011-10-16Add "active" and "primary" options to the <monitor> placement option for ↵Dana Jansens
per-app settings (bug #5180)
2011-10-16make undecorated windows place according to their undecorated state (bug #5179)Dana Jansens
splits client_setup_decor_and_functions() into 3 functions. 1. add client_setup_default_decor_and_functions() - called from client_get_all() to get the maximum decor/functions that will be available for use by the client. 2. add client_setup_decor_undecorated() - sets up the client's undecorarted decor if the flag is set by the per-app settings or session state. - we do this before setting up the frame so the frame reflects the window as it should be when getting placed. 3. client_setup_decor_and_functions() - calls the above 2 to perform the same functions as before. - added to client_apply_startup_state() so that we can ensure it was run fully at least once in the mapping process, since it is not called in client_get_all() anymore.
2011-10-16it would seem this cannot return NULL nowDana Jansens
It will get the primary monitor if there is not monitor under the pointer. But assert so it's clear something went wrong if this does happen. Note that there was previously no check for the return value even though the comment claimed there should be.
2011-10-16Propagate _NET_WM_WINDOW_OPACITY to the frame window (bug #5132)Dana Jansens
2011-10-16Specific border width/color for undecorated active/inactive windows (bug #4889)Carlos Pita
The attached patch adds three theme options with backward compatible defaults: undecorated.border.width defaults to border.width window.undecorated.active.border.color defaults to window.active.border.color window.undecorated.inactive.border.color defaults to window.inactive.border.color
2011-10-16Fix crash when keyboard map changes and no keybindings exist.Dana Jansens
Don't assume old tree is non-null and start rebinding it.
2011-10-16Change default doubleclick timeout to 500ms and keep track of where last ↵Mikael Magnusson
click was Bug #5152 - "mouse double-click time is too low by default - 200ms" We only use the doubleclick in one place in the default configuration, for doubleclicking titlebars to maximize windows, so any negative impact of increasing the timeout should be minimal, especially with the addition of requiring the two clicks to be in the same place. Doubleclicks are hardcoded to occur within 8 pixels for now, it doesn't seem worth it to add a config until someone complains. A possibility is using the drag threshold, but some people have that set very low so it could be hard to doubleclick then.
2011-10-15Parse all the actions in a single menu itemDana Jansens
2011-10-06Don't show prompts inside the message handler to prevent recursionDana Jansens
Showing prompts causes messages to be created which causes the glib message handler to abort(). Save the messages and show them when done all other processing for the current event.
2011-10-05Make "no" a valid choice for the dialog option in cyclewindows.c.Dana Jansens
It is the same as "none" for backward compatibility (it used to be a boolean).
2011-10-05Update copyright notice in --version outputMikael Magnusson
2011-10-05Consistency with helper/modal windows and multiple desktops.Dana Jansens
When focusing a window, bring its helper windows. This happened before when switching its desktop, but if you have 2 windows on different desktops and switch between them, the helpers should come to both when they are being used. When a new helper/modal window maps on a different desktop and you are using the application, then the helper/modal window is moved to the current desktop to be with the application you are using.
2011-10-05Fix focus stealing for changing desktops/Use timestamp for user input eventsDana Jansens
Change the logic for when to allow stealing focus across desktops. - It was possible to call event_time_after() with a CurrentTime in the old code. - It would disallow a user requested change which is crazy. - It would change desktops on you when a new window appeared but this is generally not desirable. event_source_time() is supposed to give the time which the user made things happen. we leave it at 0 for user-input events right now which means stuff like changing desktop doesn't save any timestamp at all. we should use the timestamp from x for user-generated events.
2011-08-02Separate 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-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