dana/openbox.git
7 years agoFix for when the menu's update function returns FALSE and no menu is shown.
Dana Jansens [Mon, 24 Jan 2011 21:45:56 +0000 (16:45 -0500)]
Fix for when the menu's update function returns FALSE and no menu is shown.

The ObMenuFrame was not being freed, and the child pointer was being left
pointing to the frame that was not visible.

7 years agoJust put copyright starting year in README so we don't need to keep updating it....
Dana Jansens [Sun, 30 Sep 2012 16:27:26 +0000 (12:27 -0400)]
Just put copyright starting year in README so we don't need to keep updating it. Make --version match README.

7 years agoGenerate a fake leave event on actions that move windows (used to generate another...
Dana Jansens [Tue, 2 Aug 2011 20:28:19 +0000 (16:28 -0400)]
Generate a fake leave event on actions that move windows (used to generate another enter event?)

7 years agoLink X into libobt (Fixes compile on debian).
Dana Jansens [Thu, 27 Oct 2011 17:29:30 +0000 (13:29 -0400)]
Link X into libobt (Fixes compile on debian).

7 years agoIgnore enters on windows that are raised over focused window while being mapped.
Dana Jansens [Wed, 26 Oct 2011 14:30:37 +0000 (10:30 -0400)]
Ignore enters on windows that are raised over focused window while being mapped.

7 years agoUse the KeyCode to directly find the modifier mask. (Fix bug 5173)
Dana Jansens [Sun, 16 Oct 2011 15:50:15 +0000 (11:50 -0400)]
Use the KeyCode to directly find the modifier mask. (Fix bug 5173)

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.

7 years agoDon't make desktop switching interactive when no mods used. (Fix bug #5203)
Dana Jansens [Sun, 16 Oct 2011 15:10:14 +0000 (11:10 -0400)]
Don't make desktop switching interactive when no mods used. (Fix bug #5203)

Make mod state passing more consistent, and always give actions the full state
instead of stripping sometimes. (They ended up expecting it stripped always).

7 years agoFix crash on unexpected NET_WM_MOVERESIZE_CANCEL messages
Mikael Magnusson [Sun, 3 Jun 2012 18:18:48 +0000 (20:18 +0200)]
Fix crash on unexpected NET_WM_MOVERESIZE_CANCEL messages

gtk+ 3.4 apparently sends these randomly when you select text in a
GtkEntry. This also fixes bug #5460.

7 years agoUpdate german translation
Mario Blättermann [Thu, 17 Nov 2011 21:56:30 +0000 (22:56 +0100)]
Update german translation

7 years agoFix bootstrapping, forgot to change WANT_AUTOMAKE to 1.11 in previous commit
Mikael Magnusson [Wed, 15 Aug 2012 18:52:00 +0000 (20:52 +0200)]
Fix bootstrapping, forgot to change WANT_AUTOMAKE to 1.11 in previous commit

7 years agoQuiet build outbut on by default
Dana Jansens [Mon, 17 Oct 2011 19:48:31 +0000 (15:48 -0400)]
Quiet build outbut on by default

8 years agoFix window width/height going less than 1 on some platforms (bug #5246)
Dana Jansens [Sun, 16 Oct 2011 14:50:51 +0000 (10:50 -0400)]
Fix window width/height going less than 1 on some platforms (bug #5246)

8 years agoignore .rej files
Dana Jansens [Sun, 16 Oct 2011 02:45:03 +0000 (22:45 -0400)]
ignore .rej files

8 years agoFix maximized windows and such after screen resizings
Dana Jansens [Sun, 16 Oct 2011 01:04:54 +0000 (21:04 -0400)]
Fix maximized windows and such after screen resizings

8 years agoHear screen resizes when they don't change the root window (cloning)
Dana Jansens [Sun, 16 Oct 2011 01:04:21 +0000 (21:04 -0400)]
Hear screen resizes when they don't change the root window (cloning)

8 years agoCheck the return value for launching the startup command.
Dana Jansens [Sat, 15 Oct 2011 19:37:58 +0000 (15:37 -0400)]
Check the return value for launching the startup command.

Copy/paste error?

8 years agoFixes for gnome-session 3.
Dana Jansens [Sat, 15 Oct 2011 19:07:59 +0000 (15:07 -0400)]
Fixes for gnome-session 3.

We run by default with a panel (default gnome-panel) and then run Openbox
without any panel if one cannot be found.

- Adds a fallback session for if a panel (default gnome-panel) not found.
- Removes notifications as a requirement.  Seems to be a legacy thing judging
  from the ubuntu .session files.  Notifications are being provided by
  notify-osd on modern systems, and you can't check for its presence in
  gnome-session (gnome-classic.session always fails because it looks for it, so
  ubuntu falls back to gnome-fallback.session).

8 years agoRemove unused variable
Dana Jansens [Sat, 15 Oct 2011 17:42:30 +0000 (13:42 -0400)]
Remove unused variable

8 years agorespect the active/mouse options for monitor placement, and use ObMonitorPlace for...
Dana Jansens [Sun, 16 Oct 2011 00:07:57 +0000 (20:07 -0400)]
respect the active/mouse options for monitor placement, and use ObMonitorPlace for per-app too

8 years agoAllow per-app settings to pick a monitor for a window without choosing a position...
Dana Jansens [Fri, 14 Oct 2011 23:24:45 +0000 (19:24 -0400)]
Allow per-app settings to pick a monitor for a window without choosing a position in it.

8 years agoAdd "active" and "primary" options to the <monitor> placement option for per-app...
Dana Jansens [Fri, 14 Oct 2011 23:12:11 +0000 (19:12 -0400)]
Add "active" and "primary" options to the <monitor> placement option for per-app settings (bug #5180)

8 years agomake undecorated windows place according to their undecorated state (bug #5179)
Dana Jansens [Fri, 14 Oct 2011 22:54:32 +0000 (18:54 -0400)]
make undecorated windows place according to their undecorated state (bug #5179)

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.

8 years agoit would seem this cannot return NULL now
Dana Jansens [Fri, 14 Oct 2011 22:52:36 +0000 (18:52 -0400)]
it would seem this cannot return NULL now

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.

8 years agoLink libobt into libobrender, as it uses things from libobt (bug #5150)
Fryderyk Dziarmagowski [Fri, 14 Oct 2011 21:41:43 +0000 (17:41 -0400)]
Link libobt into libobrender, as it uses things from libobt (bug #5150)

libobrender uses ObtPaths stuff, so it needs to link in libobt.

8 years agoPropagate _NET_WM_WINDOW_OPACITY to the frame window (bug #5132)
Dana Jansens [Fri, 14 Oct 2011 21:39:24 +0000 (17:39 -0400)]
Propagate _NET_WM_WINDOW_OPACITY to the frame window (bug #5132)

8 years agoStrip leading/trailing whitespace when parsing colors and other strings (bug #4937)
Dana Jansens [Fri, 14 Oct 2011 21:06:05 +0000 (17:06 -0400)]
Strip leading/trailing whitespace when parsing colors and other strings (bug #4937)

8 years agofree undecorated border colors
Dana Jansens [Fri, 14 Oct 2011 21:17:22 +0000 (17:17 -0400)]
free undecorated border colors

8 years agoSpecific border width/color for undecorated active/inactive windows (bug #4889)
Carlos Pita [Fri, 14 Oct 2011 21:01:18 +0000 (17:01 -0400)]
Specific border width/color for undecorated active/inactive windows (bug #4889)

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

8 years agoFix crash when keyboard map changes and no keybindings exist.
Dana Jansens [Fri, 14 Oct 2011 20:43:18 +0000 (16:43 -0400)]
Fix crash when keyboard map changes and no keybindings exist.

Don't assume old tree is non-null and start rebinding it.

8 years agoChange default doubleclick timeout to 500ms and keep track of where last click was
Mikael Magnusson [Thu, 4 Aug 2011 16:34:54 +0000 (18:34 +0200)]
Change default doubleclick timeout to 500ms and keep track of where last 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.

8 years agoParse all the actions in a single menu item
Dana Jansens [Sat, 15 Oct 2011 19:45:27 +0000 (15:45 -0400)]
Parse all the actions in a single menu item

8 years agoDon't remove openbox-gnome.session on make clean - it's not generated.
Dana Jansens [Tue, 11 Oct 2011 22:03:24 +0000 (18:03 -0400)]
Don't remove openbox-gnome.session on make clean - it's not generated.

8 years agoMake openbox-gnome-session compatible with gnome3 with gnome-session 3.0+ support.
Geoffrey Antos [Fri, 7 Oct 2011 13:29:30 +0000 (09:29 -0400)]
Make openbox-gnome-session compatible with gnome3 with gnome-session 3.0+ support.

Yay they did something nice and made it easier for other window managers to be used.  How unexpected and pleasant.

8 years agoDon't show prompts inside the message handler to prevent recursion
Dana Jansens [Thu, 6 Oct 2011 14:03:52 +0000 (10:03 -0400)]
Don't show prompts inside the message handler to prevent recursion

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.

8 years agobug #5253 kde4 is out now, use kde4 menus by default.
Dana Jansens [Thu, 29 Sep 2011 16:52:07 +0000 (12:52 -0400)]
bug #5253 kde4 is out now, use kde4 menus by default.

Startup scripts should export "XDG_MENU_PREFIX=kde-4-" but they export
"XDG_MENU_PREFIX=kde-".

8 years agoMake "no" a valid choice for the dialog option in cyclewindows.c.
Dana Jansens [Tue, 30 Aug 2011 15:14:06 +0000 (11:14 -0400)]
Make "no" a valid choice for the dialog option in cyclewindows.c.

It is the same as "none" for backward compatibility (it used to be a boolean).

8 years agoUpdate copyright notice in --version output
Mikael Magnusson [Tue, 13 Sep 2011 18:39:12 +0000 (20:39 +0200)]
Update copyright notice in --version output

8 years agoFix typo in configure.ac, noticed by hwoarang
Mikael Magnusson [Sat, 3 Sep 2011 10:23:22 +0000 (12:23 +0200)]
Fix typo in configure.ac, noticed by hwoarang

8 years agoConsistency with helper/modal windows and multiple desktops.
Dana Jansens [Wed, 5 Oct 2011 17:25:46 +0000 (13:25 -0400)]
Consistency with helper/modal windows and multiple desktops.

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.

8 years agoFix focus stealing for changing desktops/Use timestamp for user input events
Dana Jansens [Tue, 4 Oct 2011 21:53:54 +0000 (17:53 -0400)]
Fix focus stealing for changing desktops/Use timestamp for user input events

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.

8 years agoFix a memleak introduced by 0dd91ba0e2382a8f6177f501f8a0b26e0daf26a8, some cleanups
Mikael Magnusson [Wed, 3 Aug 2011 21:01:28 +0000 (23:01 +0200)]
Fix a memleak introduced by 0dd91ba0e2382a8f6177f501f8a0b26e0daf26a8, some cleanups

8 years agobe a bit more explicit about what is being copied from one texture to another
Dana Jansens [Tue, 25 Jan 2011 17:02:42 +0000 (12:02 -0500)]
be a bit more explicit about what is being copied from one texture to another

8 years agoSeparate theme options for osd prompt buttons.
Carlos Pita [Wed, 12 Jan 2011 23:49:45 +0000 (20:49 -0300)]
Separate theme options for osd prompt buttons.

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.

8 years agoMerge branch 'm4/master'
Mikael Magnusson [Tue, 2 Aug 2011 20:18:14 +0000 (22:18 +0200)]
Merge branch 'm4/master'

8 years agoRevert these two commits temporarily to make the buttons merge easier
Mikael Magnusson [Tue, 2 Aug 2011 20:17:11 +0000 (22:17 +0200)]
Revert these two commits temporarily to make the buttons merge easier

1e427a3358deeadf8abc326e714ee201fddc43d6
2288da0ae3b44c987687e3deeb7864fcb7b23bb9

8 years agoUpdate portuguese translation
Pedro Beja [Sat, 24 Apr 2010 20:21:23 +0000 (22:21 +0200)]
Update portuguese translation

8 years agoUpdate estonian translation
Mikael Magnusson [Thu, 22 Apr 2010 13:55:13 +0000 (15:55 +0200)]
Update estonian translation

8 years agoAdd Plural-Forms header to fi.po and remove fuzzy mark.
Mikael Magnusson [Sat, 13 Mar 2010 20:57:58 +0000 (21:57 +0100)]
Add Plural-Forms header to fi.po and remove fuzzy mark.

8 years agoUpdate polish translation.
Jakub Łojewski [Thu, 11 Mar 2010 13:29:41 +0000 (14:29 +0100)]
Update polish translation.

8 years agoFix some rebase artifacts
Mikael Magnusson [Thu, 14 Oct 2010 14:05:15 +0000 (16:05 +0200)]
Fix some rebase artifacts

8 years agoadd --disable options for x extensions release-3.5.0
Dana Jansens [Mon, 24 Jan 2011 19:06:56 +0000 (14:06 -0500)]
add --disable options for x extensions

so we can test compiling without them present

8 years agoUpdate Brazilian Portuguese translation
Og Maciel [Mon, 1 Aug 2011 19:47:00 +0000 (21:47 +0200)]
Update Brazilian Portuguese translation

8 years agoadd the 3.4.10+ changes to the CHANGELOG
Dana Jansens [Mon, 1 Aug 2011 17:49:40 +0000 (13:49 -0400)]
add the 3.4.10+ changes to the CHANGELOG

8 years agoAdd 3.5.0 changes
Dana Jansens [Mon, 1 Aug 2011 17:41:44 +0000 (13:41 -0400)]
Add 3.5.0 changes

8 years agoUpdate other po files
Mikael Magnusson [Mon, 1 Aug 2011 16:58:03 +0000 (18:58 +0200)]
Update other po files

8 years agoUpdate swedish translation
Mikael Magnusson [Mon, 1 Aug 2011 16:22:16 +0000 (18:22 +0200)]
Update swedish translation

8 years agoFix some translation string markings
Mikael Magnusson [Tue, 10 May 2011 14:03:33 +0000 (16:03 +0200)]
Fix some translation string markings

8 years agoAllow setting icons for submenus
Mikael Magnusson [Fri, 16 Apr 2010 15:58:20 +0000 (17:58 +0200)]
Allow setting icons for submenus

8 years agoFix menu placement to avoid dead xinerama areas, possibly break other stuff
Mikael Magnusson [Tue, 10 May 2011 14:03:33 +0000 (16:03 +0200)]
Fix menu placement to avoid dead xinerama areas, possibly break other stuff

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.

8 years agoLink libraries directly to compile on some systems (debian).
Mikael Magnusson [Sun, 22 May 2011 15:42:34 +0000 (17:42 +0200)]
Link libraries directly to compile on some systems (debian).

If program (A) is linked to library (B) which is linked to library (C),
then A must also link C directly in order to use things from it directly.

8 years agoThe environments are passed in from the openbox-session script so use them.
Dana Jansens [Sun, 24 Jul 2011 23:39:47 +0000 (19:39 -0400)]
The environments are passed in from the openbox-session script so use them.

8 years agoFix bug #4877 (Some harmless code quirks involving booleans)
Dana Jansens [Fri, 28 Jan 2011 18:25:32 +0000 (13:25 -0500)]
Fix bug #4877 (Some harmless code quirks involving booleans)

8 years agobe a bit more explicit about what is being copied from one texture to another
Dana Jansens [Tue, 25 Jan 2011 17:02:42 +0000 (12:02 -0500)]
be a bit more explicit about what is being copied from one texture to another

8 years agoSeparate theme options for osd prompt buttons.
Carlos Pita [Wed, 12 Jan 2011 23:49:45 +0000 (20:49 -0300)]
Separate theme options for osd prompt buttons.

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.

8 years agomove Imlib to the option deps in the git readme
Dana Jansens [Mon, 1 Aug 2011 15:41:34 +0000 (11:41 -0400)]
move Imlib to the option deps in the git readme

8 years agoUpdate note on dependencies wrt autopoint
Mikael Magnusson [Sat, 5 Mar 2011 16:44:26 +0000 (17:44 +0100)]
Update note on dependencies wrt autopoint

8 years agoUpdate README.GIT to the packages in current ubuntu distribution and include imlib2
Dana Jansens [Sat, 23 Jul 2011 22:51:38 +0000 (18:51 -0400)]
Update README.GIT to the packages in current ubuntu distribution and include imlib2

8 years agoComment fix
Dana Jansens [Tue, 26 Jul 2011 19:08:35 +0000 (15:08 -0400)]
Comment fix

8 years agobump version to 3.5.0 and library versions
Dana Jansens [Mon, 1 Aug 2011 15:25:55 +0000 (11:25 -0400)]
bump version to 3.5.0 and library versions

8 years agoFix Java apps always appearing on desktop 0.
Dana Jansens [Fri, 13 May 2011 19:48:53 +0000 (15:48 -0400)]
Fix Java apps always appearing on desktop 0.

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.

8 years agodon't re-run the startup command on reconfigure
Dana Jansens [Wed, 30 Mar 2011 15:23:11 +0000 (11:23 -0400)]
don't re-run the startup command on reconfigure

8 years agofix global autostart installation, and the pointer to it so it is run
Dana Jansens [Wed, 30 Mar 2011 15:13:06 +0000 (11:13 -0400)]
fix global autostart installation, and the pointer to it so it is run

8 years agoResizing removes maximization now, so don't only snap "grow to edge" to screen edges.
Dana Jansens [Tue, 4 Jan 2011 20:13:07 +0000 (15:13 -0500)]
Resizing removes maximization now, so don't only snap "grow to edge" to 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.

8 years agoFix compiling without sync extension present.
Dana Jansens [Wed, 15 Dec 2010 20:11:33 +0000 (15:11 -0500)]
Fix compiling without sync extension present.

Make waiting_for_sync always present, but it is set to 0 (not waiting) if we aren't using sync.

8 years agoFix regression: hitting a key accel in a menu didn't move focus to the submenu
Dana Jansens [Tue, 9 Nov 2010 01:20:36 +0000 (20:20 -0500)]
Fix regression: hitting a key accel in a menu didn't move focus to the submenu

8 years agoShow the submenu and move focus there with the enter key when the submenu isn't shown...
Dana Jansens [Mon, 8 Nov 2010 18:07:02 +0000 (13:07 -0500)]
Show the submenu and move focus there with the enter key when the submenu isn't shown yet.

8 years agodon't free the XIC if it wasn't created. this appears to cause a crash
Dana Jansens [Thu, 4 Nov 2010 14:12:42 +0000 (10:12 -0400)]
don't free the XIC if it wasn't created.  this appears to cause a crash

8 years agocap the client (and frame) window's dimensions at the range of an unsigned short...
Dana Jansens [Wed, 20 Oct 2010 19:30:29 +0000 (15:30 -0400)]
cap the client (and frame) window's dimensions at the range of an unsigned short (bug #4596)

8 years agoextra \n in debug output
Dana Jansens [Sun, 17 Oct 2010 00:16:35 +0000 (20:16 -0400)]
extra \n in debug output

8 years agoMove focus to a window when the mouse enters a window during a pointer grab, if using...
Dana Jansens [Sat, 16 Oct 2010 22:51:09 +0000 (18:51 -0400)]
Move focus to a window when the mouse enters a window during a pointer grab, if using "focus under mouse" (Fixes bug #4617)

8 years agowhen focus=yes in the per-app settings, then the focus request for the new window...
Dana Jansens [Sat, 16 Oct 2010 21:36:46 +0000 (17:36 -0400)]
when focus=yes in the per-app settings, then the focus request for the new window is from a user.  also if allow_other_desktops is false, then always disallow other desktops (Fixes bug #4752)

8 years agoMake NET_ACTIVE messages always treated as from the user. Loosen up focus stealing...
Dana Jansens [Sat, 16 Oct 2010 21:19:24 +0000 (17:19 -0400)]
Make NET_ACTIVE messages always treated as from the user.  Loosen up focus 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).

8 years agodon't use -Wextra unless --enable-super-warnings
Dana Jansens [Sat, 16 Oct 2010 21:13:27 +0000 (17:13 -0400)]
don't use -Wextra unless --enable-super-warnings

8 years agosetenv and unsetenv dont exist in Solaris 9. (Fixes bug #4663)
Philip Brown [Sat, 16 Oct 2010 20:16:51 +0000 (16:16 -0400)]
setenv and unsetenv dont exist in Solaris 9.  (Fixes bug #4663)

Seeing as how you already use glib, I just substituted g_setenv and g_unsetenv
as appropriate, and it now works for me.

8 years agoSome versions of X, have the Shape extension, but apparently not "ShapeInput" (Fixes...
Philip Brown [Sat, 16 Oct 2010 20:13:36 +0000 (16:13 -0400)]
Some versions of X, have the Shape extension, but apparently not "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

8 years agomake the default drag threshold 1. it is smooth and feels and looks nice.
Dana Jansens [Sat, 16 Oct 2010 19:47:33 +0000 (15:47 -0400)]
make the default drag threshold 1.  it is smooth and feels and looks nice.

(also macos has it and i liked it.)

8 years agoXML_PARSE_XINCLUDE flag seems to do nothing. Use xmlXIncludeProcessFlags() instead
Dana Jansens [Sat, 16 Oct 2010 19:32:35 +0000 (15:32 -0400)]
XML_PARSE_XINCLUDE flag seems to do nothing. Use xmlXIncludeProcessFlags() instead

8 years agoif no launch time is provided for an application, make one up.
Dana Jansens [Fri, 15 Oct 2010 19:06:16 +0000 (15:06 -0400)]
if no launch time is provided for an application, make one up.

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.

8 years agofix segfault for placing windows without a group
Dana Jansens [Fri, 15 Oct 2010 18:43:56 +0000 (14:43 -0400)]
fix segfault for placing windows without a group

8 years agoadd primary monitor stuff to rc.xsd
Dana Jansens [Fri, 15 Oct 2010 15:47:32 +0000 (11:47 -0400)]
add primary monitor stuff to rc.xsd

8 years agoFix small leak in If action option parsing
Mikael Magnusson [Sat, 9 Oct 2010 22:51:36 +0000 (00:51 +0200)]
Fix small leak in If action option parsing

8 years agoBig changes to placement across multiple monitors.
Dana Jansens [Thu, 14 Oct 2010 23:40:41 +0000 (19:40 -0400)]
Big changes to placement across multiple monitors.

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.

8 years agoadd function screen_compare_desktops()
Dana Jansens [Thu, 14 Oct 2010 23:39:34 +0000 (19:39 -0400)]
add function screen_compare_desktops()

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.

8 years agodon't steal focus if someone used a window within 1 second ago
Dana Jansens [Thu, 14 Oct 2010 23:38:46 +0000 (19:38 -0400)]
don't steal focus if someone used a window within 1 second ago

(instead of 0.5 seconds)

8 years agoFixing commit 066a15d7aa64eaa0. Don't ever use CurrentTime as event_curtime.
Dana Jansens [Thu, 14 Oct 2010 23:37:36 +0000 (19:37 -0400)]
Fixing commit 066a15d7aa64eaa0.  Don't ever use CurrentTime as event_curtime.

Force event_curtime to be some valid timestamp.

8 years agoAllow XIncludes in xml documents we read.
Dana Jansens [Sun, 10 Oct 2010 00:11:28 +0000 (20:11 -0400)]
Allow XIncludes in xml documents we read.

Add the XInclude namespace in the default config file (named "xi")

8 years agouse top_builddir, not builddir variable in Makefile. seems builddir doesn't always...
Dana Jansens [Sun, 10 Oct 2010 00:21:16 +0000 (20:21 -0400)]
use top_builddir, not builddir variable in Makefile.  seems builddir doesn't always exist/anymore

8 years agoadd some more warning flags for debug builds
Dana Jansens [Mon, 4 Oct 2010 22:46:32 +0000 (18:46 -0400)]
add some more warning flags for debug builds

-Wno-write-strings so that "foo" is treated as a const char* not a char*.
-Wextra for more fun

8 years agoFix icons.c test for 64-bit platforms
Hiltjo Posthuma [Mon, 27 Sep 2010 18:12:50 +0000 (14:12 -0400)]
Fix icons.c test for 64-bit platforms

8 years agoupdate the last user interaction timestamp during a move/resize of the focused window
Dana Jansens [Wed, 29 Sep 2010 20:15:01 +0000 (16:15 -0400)]
update the last user interaction timestamp during a move/resize of the focused window