Commit graph

7564 commits

Author SHA1 Message Date
Dana Jansens
db2c229552 add the 3.4.10+ changes to the CHANGELOG 2011-08-01 13:49:40 -04:00
Dana Jansens
979f3b131b Add 3.5.0 changes 2011-08-01 13:41:44 -04:00
Mikael Magnusson
a71c4a0f5d Update other po files 2011-08-01 18:58:03 +02:00
Mikael Magnusson
a54d02df8c Update swedish translation 2011-08-01 18:22:16 +02:00
Mikael Magnusson
5f5880dccd Fix some translation string markings 2011-08-01 18:18:16 +02:00
Mikael Magnusson
588aa0790a Allow setting icons for submenus 2011-08-01 11:53:29 -04:00
Mikael Magnusson
6ad5f085fa 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.
2011-08-01 11:52:31 -04:00
Mikael Magnusson
cc4e44e837 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.
2011-08-01 11:51:50 -04:00
Dana Jansens
65315ca437 The environments are passed in from the openbox-session script so use them. 2011-08-01 11:51:38 -04:00
Dana Jansens
5b2ed63cb4 Fix bug #4877 (Some harmless code quirks involving booleans) 2011-08-01 11:50:16 -04:00
Dana Jansens
2288da0ae3 be a bit more explicit about what is being copied from one texture to another 2011-08-01 11:49:43 -04:00
Carlos Pita
1e427a3358 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.
2011-08-01 11:49:39 -04:00
Dana Jansens
a5a91b3298 move Imlib to the option deps in the git readme 2011-08-01 11:46:40 -04:00
Mikael Magnusson
b913191d85 Update note on dependencies wrt autopoint 2011-08-01 11:46:38 -04:00
Dana Jansens
d80edf6a2f Update README.GIT to the packages in current ubuntu distribution and include imlib2 2011-08-01 11:46:35 -04:00
Dana Jansens
79911e3381 Comment fix 2011-08-01 11:44:56 -04:00
Dana Jansens
be626ad7cf bump version to 3.5.0 and library versions 2011-08-01 11:25:55 -04:00
Dana Jansens
cf276fafd8 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.
2011-05-13 15:52:17 -04:00
Dana Jansens
823997f001 don't re-run the startup command on reconfigure 2011-04-11 17:25:51 -04:00
Dana Jansens
6624d06dd1 fix global autostart installation, and the pointer to it so it is run 2011-04-11 17:25:45 -04:00
Dana Jansens
007f0917b8 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.
2011-01-24 14:19:23 -05:00
Dana Jansens
805f42e1d9 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.
2011-01-24 14:19:23 -05:00
Dana Jansens
99ec7f6f7b Fix regression: hitting a key accel in a menu didn't move focus to the submenu 2011-01-24 14:19:23 -05:00
Dana Jansens
2e82715a4a Show the submenu and move focus there with the enter key when the submenu isn't shown yet. 2011-01-24 14:19:23 -05:00
Dana Jansens
f14bf9cac2 don't free the XIC if it wasn't created. this appears to cause a crash 2011-01-24 14:19:23 -05:00
Dana Jansens
4e3ffbfc28 cap the client (and frame) window's dimensions at the range of an unsigned short (bug #4596) 2011-01-24 14:19:23 -05:00
Dana Jansens
9c4ef9aa4a extra \n in debug output 2011-01-24 14:19:23 -05:00
Dana Jansens
2acbf04cb4 Move focus to a window when the mouse enters a window during a pointer grab, if using "focus under mouse" (Fixes bug #4617) 2011-01-24 14:19:23 -05:00
Dana Jansens
29d595b178 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) 2011-01-24 14:19:23 -05:00
Dana Jansens
385967b552 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).
2011-01-24 14:19:23 -05:00
Dana Jansens
d291a9c7aa don't use -Wextra unless --enable-super-warnings 2011-01-24 14:19:23 -05:00
Philip Brown
d082572b17 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.
2011-01-24 14:19:23 -05:00
Philip Brown
9c356d370a 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
2011-01-24 14:19:23 -05:00
Dana Jansens
7c33f45e09 make the default drag threshold 1. it is smooth and feels and looks nice.
(also macos has it and i liked it.)
2011-01-24 14:19:23 -05:00
Dana Jansens
80b6d4ac5d XML_PARSE_XINCLUDE flag seems to do nothing. Use xmlXIncludeProcessFlags() instead 2011-01-24 14:19:23 -05:00
Dana Jansens
c5c34cca1c 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.
2011-01-24 14:19:23 -05:00
Dana Jansens
5e38690d65 fix segfault for placing windows without a group 2011-01-24 14:19:23 -05:00
Dana Jansens
a8dbf2e74e add primary monitor stuff to rc.xsd 2011-01-24 14:19:22 -05:00
Mikael Magnusson
74f7f35b59 Fix small leak in If action option parsing 2011-01-24 14:19:22 -05:00
Dana Jansens
95535e8623 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.
2011-01-24 14:19:22 -05:00
Dana Jansens
76ae19924d 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.
2011-01-24 14:19:22 -05:00
Dana Jansens
4ce98ecf02 don't steal focus if someone used a window within 1 second ago
(instead of 0.5 seconds)
2011-01-24 14:19:22 -05:00
Dana Jansens
8ac60401e9 Fixing commit 066a15d7aa64eaa0. Don't ever use CurrentTime as event_curtime.
Force event_curtime to be some valid timestamp.
2011-01-24 14:19:22 -05:00
Dana Jansens
4f8503c2c5 Allow XIncludes in xml documents we read.
Add the XInclude namespace in the default config file (named "xi")
2011-01-24 14:19:22 -05:00
Dana Jansens
6dedf8f37e use top_builddir, not builddir variable in Makefile. seems builddir doesn't always exist/anymore 2011-01-24 14:19:22 -05:00
Dana Jansens
a21e9c9cc5 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
2011-01-24 14:19:22 -05:00
Hiltjo Posthuma
6e5de3b57e Fix icons.c test for 64-bit platforms 2011-01-24 14:19:22 -05:00
Dana Jansens
a8843b58c5 update the last user interaction timestamp during a move/resize of the focused window 2011-01-24 14:19:22 -05:00
Dana Jansens
5ff0d07aba update the user-interaction timestamp when running a (non-interactive) action on the focused window
update it at the end of running actions instead of multiple times (once for
 each action)
2011-01-24 14:19:22 -05:00
Dana Jansens
d614bebf6a don't steal focus from a window if it was used very recently, when someone uses _NET_ACTIVE request. 2011-01-24 14:19:22 -05:00