1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-18 12:00:31 +01:00
Commit Graph

3609 Commits

Author SHA1 Message Date
3617e4c20c Removed trailing whitespaces from readme files. 2017-02-25 10:19:51 +00:00
f3fdf0b8dd Refactoring handleMaximize() function
Simplify handleMaximize function for "not effective" case, where there
was couple of duplicate code, now there is one indentation level less
and readability increased.
2017-02-21 19:24:36 +00:00
9328ba5b3c Implementation for moving mouse pointer within the maximized window.
Mouse pointer can be now moved together with window if keyboard was used
for arrange maximized windows on screen. This feature can be turned on
in WPrefs.app in Expert tab by selecting "Move mouse pointer with half
MAXIMIZED windows.", or setting "PointerWithHalfMaxWindows" to "Yes" on
~/GNUstep/Defaults/WindowMaker file.
2017-02-21 19:24:36 +00:00
c9fbcda0b0 New option for moving mouse pointer along with half-maximized windows.
This option might be usable for using keyboard for moving windows
around. This option will enable moving mouse pointer for such windows.
2017-02-21 19:24:36 +00:00
eadb7f3ab2 Alternative way for traversing half-maximized windows.
Now it is possible for change a bit pattern for changing state between
half-maximized windows. Half maximized windows will become maximized if
there is issued half-maximizing shortcut in opposite direction. Issue
half-maximizing command on same direction on already maximized window,
will have no effect.
2017-02-21 19:24:35 +00:00
9e7987713f New option for enabling alternative half-maximized window movement.
Added new option to Window Maker for enabling alternative way for
half-maximized windows movement. Option can be found on Expert section
in WPrefs app.
2017-02-21 19:24:35 +00:00
62d62eebf1 Bugfix for moving windows between heads.
Previous bugfix introduced another regression. It fixed the issue with
size of the unmaximized window, but break new functionality. Revert back
code for maximizing using mouse, leaving out head detection for keyboard
actions, since it is already calculated.

Mouse actions for maximize also has to be fixed due to different
behaviour in original implementation - movement of the window which is
called in handleMaximize filter out MAX_KEYBOARD from argument passed to
the wMaximizeWindow, so that it will always assume that all the actions
have to be done on the head where mouse pointer resides. For moving
windows between heads feature, calculated head is always passed and
used, regardless of how maximizing was invoked (keyboard or mouse) and
mouse pointer position.
2017-02-21 19:24:35 +00:00
160f879cce Fixed wrong (re)stored dimensions for unmaximized window. 2017-02-13 20:01:53 +00:00
28da4c98e3 Added possibility for half-maximized windows to move across the screens.
Using MoveHalfMaximizedWindowsBetweenScreens option user can enable
ability for moving half-maximized windows not only within current
screen/head/display, but also to other heads, if they exists. Note, that
only vertically or horizontally maximized windows can be transfered to
another display. Quarter-maximized windows are not supported, since it
is ambiguous to predict in which direction such window should be moved.
2017-02-08 07:26:35 +00:00
17a47af160 Added option for ability to move half-maximized between heads.
Added new option to Window Maker preferences to enable half-maximized
windows movement on all available heads. Option can be found in WPrefs
app on Expert section.
2017-02-08 07:26:35 +00:00
014a315f3a Added wGetHeadRelativeToCurrentHead function
A new function for obtaining possible heads (displays) was added. It
allow to query for a head in four directions relative to the current
one.
2017-02-08 07:26:35 +00:00
e2f8525728 Added 'head' parameter to wMaximizeWindow
Additional 'head' parameter will help to select head (display) where
window should be maximized.
2017-02-08 07:26:35 +00:00
002d415d02 Trivial cleanup: Removed unused defines. 2017-02-04 13:06:13 +00:00
Doug Torrance
92bc458fac configure: Use PKG_PROG_PKG_CONFIG macro to allow cross building.
Patch by Helmut Grohne <helmut@subdivi.de> to fix Debian bug #853236 [1]:

> wmaker fails to cross build from source, because it forces the use of
> pkg-config without $ac_tool_prefix. Discovering pkg-config with the
> PKG_PROG_PKG_CONFIG macro considers $ac_tool_prefix and thus makes cross
> compilation succeed. Please consider applying the attached patch after
> stretch is released.
>
> Helmut

[1] https://bugs.debian.org/853236
2017-01-31 01:44:56 +00:00
Doug Torrance
6f3dbfeaba debian: Update with version 0.95.7-7 packaging. 2017-01-29 10:07:59 -05:00
Doug Torrance
3426f8110b Look for plmenu in build directory when creating WMRootMenu.
Previously, plmenu already existed in the source directory, and that's where
make looked for it.  Now, however, it is generated to include the proper
path to WPrefs and therefore is in the build directory.

See
https://www.gnu.org/software/make/manual/html_node/Makefile-Basics.html
for more about this distinction.
2017-01-29 10:07:59 -05:00
Doug Torrance
f9b2cf9747 Don't try and add removed file mkMakefile to distribution tarball. 2017-01-20 21:01:42 -05:00
Doug Torrance
ad590811f6 Remove WindowMaker/mkMakefile script.
It was used to generate WindowMaker/Makefile.am, but hasn't been touched
since 1999.  Meanwhile, WindowMaker/Makefile.am has been changed manually
a number of times.
2017-01-20 19:51:12 -05:00
Doug Torrance
d48a37060c Use wprefs_bindir output variable to set WPrefs path in menus.
The path to WPrefs has been hardcoded in many of the menu files to
/usr/local/GNUstep/Applications/WPrefs.app/WPrefs, which would only actually
work if the user ran something like:
     ./configure --with-gnustepdir=/usr/local/GNUstep
during build.

Instead, we add a .in extension to all menu files with this issue and use sed
to use the actual WPrefs path (given by the wprefs_bindir output variable) and
generate a new menu file.

A very similar idea is already used to generate the WMState file, which sets
WPrefs as the command for the Window Maker logo tile in the dock.

This patch fixes Debian bug #851737:
https://bugs.debian.org/851737
2017-01-19 18:40:13 -05:00
Doug Torrance
23417d9934 WPrefs: Update path for Debian menu 2016-11-13 15:52:06 +00:00
Bjørn Mork
5561199c87 wmaker: allow alt+tabbed windows over fullscreen
Fullscreen windows should only be on top when they are in focus. Change
the stacking level temporarily back to WMNormalLevel if the fullscreen
window loses focus due to an alt+tab operation.

Change the stacking level back to WMFullscreenLevel if the fullscreen
window receives the focus again.

Cc: Amadeusz Sławiński <amade@asmblr.net>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
2016-07-12 23:21:00 +01:00
Bjørn Mork
6429847494 wmaker: fix stacking order of dock and fullscreen
This reverts the commits:
 311ab6b08c ("Raise fullscreened window")
 a504370f3b ("Remove WMFullscreenLevel")

Removing WMFullscreenLevel had the side effect that a dock or panel
having the _NET_WM_WINDOW_TYPE_DOCK type would stack on top of
fullscreen windows, obscuring part of them.  This is unwanted. No
other window should cover a focused fullscreen window:.
https://specifications.freedesktop.org/wm-spec/latest/ar01s09.html#STACKINGORDER

Simply raising the fullscreen window to the top of the stack of normal
windows is not sufficient if there are windows with higher stacking
levels present.  The separate WMFullscreenLevel is needed.

Cc: Amadeusz Sławiński <amade@asmblr.net>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
2016-07-12 23:21:00 +01:00
Alexandru Lazar
b7a1528833 getstyle: fix wcopy_file paths
Some (presumably stale) calls to wcopy_file used what appears to
be an incorrect destination which did not always exist. This patch
forces assets to be copied under <themedir>/<asset>, rather than
<themedir><absolute path of asset>. It works by first getting the
"new" path (i.e. the one that will be inserted in the property
list), which is relative to <themedir> (and appears to be always
in the root directory, too); it then copies the file to that path.

This *may* have been the original intended behaviour, as the one
it replaces clutters the path and leaks configuration data. In
addition, the style file seems to store only the file's name, not
the path relative to <themedir>, even when the file is copied with
its full hierarchy.

Signed-off-by: Alexandru Lazar <alazar@startmail.com>
2016-04-24 19:11:08 -04:00
Doug Torrance
2ea6162629 wmmenugen: Fix segfault; argv[argc] doesn't exist. 2016-04-24 19:05:34 -04:00
Doug Torrance
5a730d63b2 debian: Update with version 0.95.7-6 packaging. 2016-03-24 16:17:44 -04:00
Doug Torrance
fd31b29d0d debian: Update with version 0.95.7-5 packaging. 2016-03-09 15:27:04 -05:00
Doug Torrance
ebf2801f4a debian: Update with version 0.95.7-4 packaging.
Note that the patch 57_ignore_with-aix-soname.diff, mentioned in
debian/changelog, is not included as it has already been applied to the next
branch.
2016-02-15 13:37:34 -05:00
Doug Torrance
8b46f16205 debian: Update with version 0.95.7-3 packaging. 2016-02-10 07:52:54 +05:30
Doug Torrance
2da2045efa debian: Remove 56_ignore_runstatedir.diff.
This patch has now been applied in next, so its presence among the Debian
patches would cause quilt to fail for those trying to build packages from
next.
2016-02-10 07:52:54 +05:30
Doug Torrance
67e9e7e554 check-doc: Ignore with-aix-soname in check-cmdline-options-doc.sh
Control: tags -1 forwarded wmaker-dev@lists.windowmaker.org

libtool 2.4.4 will add a --with-aix-soname option.  Ignore it when checking
whether INSTALL-WMAKER is up to date.

Fixes Debian bug #814213 [1].  Proposed fix to Debian package at [2].

   From: Chris Lamb <lamby@debian.org>
   Subject: wmaker: FTBFS: Error: program option '--with-aix-soname' is not in
     the documentation './INSTALL-WMAKER'
   Date: Tue, 09 Feb 2016 09:59:14 +0100

   Dear Maintainer,

   wmaker fails to build from source in unstable/amd64:

     [..]

     make  check-local
     make[4]: Entering directory '/home/lamby/temp/
       cdt.20160209093619.fGSQWYa4PE/wmaker-0.95.7'
     ./script/check-cmdline-options-doc.sh \
     	--program "./configure" --text-doc "./INSTALL-WMAKER" \
     	--ignore-prg 'with-PACKAGE,without-PACKAGE # only template names from
	  Autoconf' \
     	--ignore-prg 'program-prefix,program-suffix,program-transform-name
	  # in INSTALL' \
     	--ignore-prg 'version,quiet,srcdir,build,host,cache-file,no-create
	  # in INSTALL' \
     	--ignore-prg 'enable-silent-rules,disable-silent-rules # should be in
	  INSTALL' \
     	--ignore-prg 'enable-dependency-tracking,disable-dependency-tracking
	  # in INSTALL' \
     	--ignore-prg 'enable-shared,enable-static # should be in INSTALL' \
     	--ignore-prg 'disable-option-checking,enable-fast-install # should be
	  in INSTALL' \
     	--ignore-prg 'disable-libtool-lock,with-pic,with-gnu-ld,with-sysroot
	  # for libtool' \
     	--ignore-prg 'runstatedir #new in autoconf 2.70, backported in Debian' \
     	--ignore-prg 'with-x # no use, it would not work without X'
     Error: program option '--with-aix-soname' is not in the documentation
       './INSTALL-WMAKER'
     Makefile:951: recipe for target 'configure-documentation' failed
     make[4]: *** [configure-documentation] Error 1

     [..]

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=814213
[2] http://anonscm.debian.org/cgit/pkg-wmaker/wmaker.git/commit/?id=dd955a7
2016-02-09 23:21:42 +05:30
Doug Torrance
4f18b3e1f4 check-doc: Ignore runstatedir in check-cmdline-options-doc.sh
autoconf 2.70 will add a --runstatedir option, Debian has backported it.
Ignore it when checking whether INSTALL-WMAKER is up to date.

Patch by Andreas Metzler from Debian package [1].

[1] https://sources.debian.net/src/wmaker/0.95.7-3/debian/patches/
    56_ignore_runstatedir.diff/
2016-02-09 23:21:42 +05:30
Doug Torrance
cb1760dc0b WPrefs: Add support for fpixmap ("fillscale") texture. 2016-01-24 08:53:21 -05:00
Doug Torrance
9f7e51e66d WPrefs: Code formatting in TexturePanel.c; minimizes checkpatch.pl warnings. 2016-01-24 08:53:21 -05:00
Doug Torrance
bf6f81434b wmlib: Remove install-exec-local target.
This was made redundant by defining pkgconfigdir and pkgconfig_DATA.  On
some systems (with automake < 1.15), this caused a build failure, e.g., [1]:

/usr/bin/install -c -m 644 wmlib.pc /«BUILDDIR»/wmaker-0.95.7+201601230517/
 debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig/
/usr/bin/install -c -m 644 wmlib.pc '/«BUILDDIR»/wmaker-0.95.7+201601230517/
 debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig'
/usr/bin/install: cannot create regular file '/«BUILDDIR»/
 wmaker-0.95.7+201601230517/debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig/
 wmlib.pc': File exists

Also change the definition of DISTCLEANFILES to pkgconfig_DATA to match
the Makefiles for WINGs and wrlib.

[1] https://launchpadlibrarian.net/234989800/
 buildlog_ubuntu-precise-amd64.wmaker_0.95.7+201601230517-0ppa201601211606~
 ubuntu12.04.1_BUILDING.txt.gz
2016-01-23 09:36:53 -05:00
Doug Torrance
af892d7dd6 wmlib: Add pkg-config file. 2016-01-23 00:17:05 -05:00
Alwin
7fa14a0137 Translations: Frisian language files updated
New entries were translated, and a lot improved.
2016-01-21 13:10:43 -05:00
Alwin
51d36afc8f Translations: Dutch language files updated
New entries were translated, a few improved.
2016-01-21 13:10:43 -05:00
Doug Torrance
84727563f9 wmaker: Implement basic menu shading.
Menus may now be shaded like other windows by double clicking on their title
bars.  Note that, even if animations are enabled, the shade animation seen
with other windows does not work for menus.

This fixes Debian bug #72038 [1]:

  From: Chris Pimlott <pimlottc@null.net>
  Subject: wmaker: Persistant menus should be shade-able
  Date: Tue, 19 Sep 2000 14:04:41 -0400

  One of the many little things that makes me appreciate Window
  Maker is that by clicking on the title bar of a menu, it can be made
  "persistant" so it stays on screen and doesn't dissappear after click or
  mouseout like normal.  I find it useful if I need to run a number of
  commands in a submenu, or for keeping a list of open windows on
  screen.

  The usefulness of this feature could be extended by allowing menus
  to be shaded (by double-clicking the title) like normal windows, thus
  collapsing them to take up less space when not needed but still be
  persistant.  Perhaps other commands of windows (like maximizing/
  minimizing, resizing) might be considered as well, although
  personally only shading stands out as particularly useful for menus.

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=72038
2016-01-21 08:52:36 -05:00
Doug Torrance
c7c0b43629 wmaker: Fix whitespace in menu.h; passes checkpatch.pl inspection. 2016-01-21 08:52:36 -05:00
Doug Torrance
ac33bb9d1b wmaker: Display keyboard shortcuts for remaining options in window menu.
In particular, Keep on top, Keep at bottom, and Omnipresent.
2016-01-20 08:27:07 -05:00
Doug Torrance
563cda28d3 wmaker: Add keyboard shortcuts for keeping window on top or at bottom.
This closes Debian bug #306808 [1].

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=306808
2016-01-20 08:27:07 -05:00
Doug Torrance
65802d3402 wmaker: Use window placement settings on other workspaces.
Previously, if a window was placed on a workspace other than the current one,
the window placement settings (given by WindowPlacement) were ignored and
the window was drawn in the upper left hand corner.  This is Debian
bug #181735, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=181735

Part of the bug report by Andrew Gorcester from the link above
is reproduced here:

"When placing a window in a non-active workspace (which usually happens
if the user asks for a program to be started when wmaker is launched,
and defines an initial workspace in the window's attributes dialog),
Windowmaker doesn't follow specified rules on window placement.

All windows of programs that don't manage their own window placement
(Gaim manages placement itself, for instance) are placed in the far
upper-left corner.  Usually windows originate from 64, 64, because the
clip occupies the upper-left corner by default."
2016-01-20 08:14:48 -05:00
Doug Torrance
9de5a27dbc wmaker: Add option for window snap to top edge to maximize to full screen.
This is a common behavior in a number of other environments, e.g., Unity
and Windows.
2016-01-17 22:54:49 -05:00
Doug Torrance
42e4069541 wmaker: Fix typos (used codespell). 2016-01-17 22:54:49 -05:00
Doug Torrance
e5632a9120 wmaker: Remove prototype for unused get_right_position_on_screen function. 2016-01-17 22:54:49 -05:00
Doug Torrance
c3ad2513a9 wmaker: Update copyright years in info panel. 2016-01-17 22:54:49 -05:00
Doug Torrance
7277787110 debian: Update with version 0.95.7-2 packaging. 2016-01-16 15:16:46 -05:00
Doug Torrance
2f33b3c2bc wmaker: Maintain sorting of windows by workspace in switch menu.
Previously, this sorting failed when one window was moved to another
workspace.

This fixes Debian bug #280851 [1].

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=280851
2016-01-16 01:13:20 -05:00
Doug Torrance
fd19456d66 debian: Update with final version of 0.95.7-1 packaging.
For those interested, the official Debian packaging repository is at:
https://anonscm.debian.org/git/pkg-wmaker/wmaker.git
2016-01-10 14:23:25 -05:00
Doug Torrance
688c2277d7 debian: Add version 0.95.6-1.2 entry to changelog. 2016-01-06 07:51:06 -05:00