or USE_X11BASE set, but don't include mk/x11.buildlink3.mk directly or
via buildlink3.mks
- introduce BUILDLINK_PREFIX.libXpm as alias for BUILDLINK_PREFIX.xpm
in the !modular case
- fix some cases where the check for libX11 couldn't work at all by using
C++ for compilation without including the proper headers
Verified using a full X11_TYPE=xorg bulk build without additional
breakage. Discussed with salo@, wiz@ and send to packages@ for feedback.
packages with the modular Xorg equivalent. Those are falling back
to the old location by default, so this commmit doesn't change
dependencies.
graphics/xpm ==> x11/libXpm
fonts/Xft2 ==> x11/libXft
x11/Xfixes ==> x11/libXfixes
x11/xcursor ==> x11/libXcursor
x11/Xrender ==> x11/libXrender
x11/Xrandr ==> libXrandr
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
Several changes are involved since they are all interrelated. These
changes affect about 1000 files.
The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk. bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files. Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred. This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.
The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages. Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc. This modification is a nod toward LOCALBASE=/usr. The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.
The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc. The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.
The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files. Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories. These files are used as input
to imake since imake can't use stdin for that purpose.
The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead. This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed. Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries. Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.
wmi-10:
* cycling workspaces focusses the last focussed client
* toggle-statusbar-mode for displaying client title instead of
workspace pager and detached-clients, useful for long client
names
* renamed startup-action.name to startup.chain, now you can provide
arbitrary action names in a comma separated list for the startup.chain,
default is single "rehash" action
* removed groups
* renamed ex-floatbar into clientbar
* renamed toggle-status-mode into toggle-clientbar-mode
* improved mode pager button on client bar, filled means that there're
clients attached, unfilled means, no clients attached
* removed statusbar.status-width option which is calculated now
automatically
* renamed toggle-focus-mode into toggle-mode
* new menu button on new clientbar
* new menu for fast selection of clients and fast attaching detached
clients, also for fast action invocation
* new common.conf option 'menu.actions' for actions definition
within menu
* applied several patches by Dr. Pfefferl
* fixed BUG-24 (label overlapping)
* fixed toggle-max issues
* removed cycle-frame-*
* fixed bar and button sizes
* new theme colors for focus requests
color.focusreq.background
color.focusreq.text
color.focusreq.shine
color.focusreq.shadow
* changed default theme to zahod's industrial theme contribution
* implemented race prevention for EnterNotify's of sloppy focus stuff
with floating clients
* fixed broken destroy-* actions
* improved sticky handling, now sticky does not mean raised on top
* detached clients will get attached again after restart
* fixed following BUGS
BUG-51 (detaching firefox crashed wmi)
BUG-50 (endless resizing due to missing increment hint handling)
BUG-49 (destroy action have been broken)
BUG-39 (don't run startup.chain on restart) -> invalid, no bug
* implemented new actions 'hook-client' and 'unhook-client' which
make it possible to hook clients to specific workspaces
* Eliminated several BadWindow and BadMatch occurences
* autocompletion.mode option of common.conf reappeared, now
with two possibilities - 'default' and 'regex'
* improved menu with missing button functions, especially right click
on workspace items or clients (middle button click now inserts cut
buffer into client)
* new action 'toggle-sloppy-mode' which toggles the sloppy focussing
on the fly
* removed resize-move.info option, because bar is not supported anymore,
be a fan of pseudo resize info centered within pseudo client borders
* implemented meters controlled by wmiremote with special syntax -
wmiremote -m #,#,...
* Marcel implemented regexp support for input mode, just compile wmi
with --with-posix-regex and set autocompletion.mode=regex in
common.conf to enable it
* new slot.tabs entry for common.conf to create several slot tabs, use
this option like slot.tabs=default,icq,dockapps
* renamed toggle-client-bar into toggle-clientbar
* renamed toggle-status-bar into toggle-statusbar
* renamed toggle-inputmode into inputmode
* each workspace remembers the last focussed slot tab now
* removed --with-stacked-tabbing compile option, use cycle.mode= option
in common.conf instead
* improved clientbar illumination
* fixed toggle-slot brokeness after snap 558
* now using Container for slot tabs also
* using CClient and CFrame (Container types) for workspace/monitor stuff,
to also support stacked tabbing for frames, detached, floating and sticky
clients
* slot raises on every mode change action
* shortcut handling is now improved
* new widget class for menu, slot and bar with default methods
* WM_TRANSIENT_FOR is taken into account now when setting maximized/float
settings for new windows through a patch by Ryan Sorensen
* new default.transient-mode={float,max} for default placement of
transients
* some general transient fixes
* sloppy focus focusses windows only, not raising them (raise with
click instead)
* slot improvements finished now - new cycle-slot-tab-prev/next
actions, implemented focus for slot, now you can easily focus an
slot app through mouse-over (enter) events
* toggle-mode now validates if senseful (if no client is attached
within the specific mode, toggle-mode is invalid)
* new colors for meters -
color.meter.background
color.meter.figure
color.meter.border.shine
color.meter.border.shadow
* new default.bar-mode={show,hide} and default.border-mode={show,hide}
options for common.conf to show hide borders/bars of
clients/frames by default
* implemented slot.mode={overlap,non-overlap} to get a
(non-)overlapping slot
* implemented '~' expansion for input mode
* new kill-slot-client action for killing focussed slot client
* new regex-mode for the input-line. compile with '--with-posix-regex'
and turn it on in common.conf with 'autocompletion.mode=regex'
* WMI shows a special box now when awaiting more keystrokes
(e.g. in sequential shortcut chains)
* implemented raise action, this fits better with current focussing
model (to prevent FocusOnClick if a client is already focused)
* mouse shortcuts are only allowed in single shortcuts or shortcut
chain prefixes but not in chain shortcuts
* improved shortcut handling with following ratpoison-alike
behavior - if you press same keystroke of a shortcut chain twice,
it'll send to the client (instead processed), this works only with
shortcut chains, not with simple shortcuts
* fixed several bogus window occurances
* removed slot.adjustment property - slot now always is adjusted
top-down (because of new overlap mode this is needed/simplified)
* renamed bind-keys action to bind-shortcut
* new action toggle-shortcuts implemented which ungrabs all
keybindings, except itself and inputmode keybinding until next
toggle-shortcuts action
* slot now takes only the height it needs (especially useful for
overlap mode of slot)
* implemented new select-monitor action for multihead configurations
* renamed attach-client to attach-last-client
* new attach-client action which provides a list of all detached
clients in input mode
* splitted color.meter.figure into three new colors as follows -
color.meter.figure.high (>66)
color.meter.figure.normal (<33)
color.meter.figure.low (else)
* improved wmiremote -m syntax, now wmi understands
wmiremote -m '!80#apm' as color negation from high to low or
vice versa
* applied Johann Pfefferl's patch which fixes
BUG-03 (if frame is resized over boundaries it gets obscured)
* fixed slot toggling bug reported by Kathryn Andersen
* lower has reappeared as Kathryn requested
* improved select-frame-* policy which prefers last directional
focussed frame before lowest distance policy (was a feature
request by grayrest)
* IconicState apps are started detached now
* reenabled slot solid filling till down bar when slot.style=solid
and slot.mode=non-overlap options are given in this specific way
* hook-client now works also for slot-tabs (you've to explicitly
focus the slot'ed client to hook it to a specific tab)
* action grab-move implemented which is bound by default to
mod1+Button1 to grab floating clients for moving (useful if
titlebars/borders are hidden)
* normalized the meter syntax from NN# to NN% (% is new
delimeter)
* frame.colwidth option for tiled mode (1..99)
* frame.autodestroy option for autodestroying frames (empty
frames are allowed now) ('yes' or 'no')
* frame.mode option which takes 'tabbed' or 'tiled' as argument
* toggle-tiled and zoom-client actions for tiled mode
* fixed slot persistence bug
* fixed frame resize related problems on workspace change
* new colors for tiled definitions
color.tiled.shine.focussed
color.tiled.shadow.focussed
color.tiled.shine.normal
color.tiled.shadow.normal
* closed open bugs, most are fixed, some multihead issues and some
fullscreen issues still exist
* updated manual pages
More at: http://wmi.modprobe.de/ChangeLog
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
Noted by Jean PEYROUX in private mail.
The WMI Team is proud to announce the long awaited wmi-8 release which comes
with many improvements, code refactorings and bug fixes.
Note: If you're user of gcc-2.95 make sure to add:
bar.buttons=no
to your $HOME/.wmi/common.conf file in order to get WMI up and running.
Changes:
========
+ select-client action for monitor-wide fast focussing of clients
+ cycle-frame action readded for cycling frames
+ toggle-frames action added for toggling frames
(older raise-all-frames has been removed)
+ cycle-group action added for group based cycling
- cycle-prev/next removed
+ attach-all-clients action implemented which attaches all detached
clients to the current workspace
+ changed tab colorization of unfocussed clients of the active group
to a different default than unfocussed clients of inactive groups
+ dynamic border width configuration for frames and clients
+ toggle-border(s) actions for toggling the border on the fly
+ new stacking order remebering of all WMI objects (clients,
frames, groups, workspaces) implemented
+ unfocussed-groups.mode option for common.conf implemented (this
option has two modes (show/hide) which is used for default hiding
other (unfocussed) groups
+ toggle-unfocussed-groups action which toggles the visibility of
unfocussed groups implemented
+ lock implemented using lock.password common.conf property
+ sticky group (monitor-wide) implemented with new actions
+ sticky-client action implemented which makes a client sticky
+ unsticky-client action implemented which resets a sticky client
to normal floating state
+ added frame.buttons option to common.conf for frame button visibility
+ applied Marcin Pawliks control keys patch for input mode
+ applied Markus Lindorfers patch for Solaris support
+ implemented Xft support
+ implemented new shortcut handling with abstract syntax
{extern,intern,chain}..keys=[+::]*+
+ implemented new option 'default.client-mode' to common.conf
which sets the default mode for unknown apps.
+ wmiremote -p pretty prints current key bindungs of running WMI
session as ASCII art to the terminal
+ implemented mouse-wheel based workspace and group cycling
+ eliminated various compiler warnings (mostly unserious ones)
+ destroy-action for self-defined chain and extern actions implemented
+ implemented select-frames action
- removed autowarping the pointer
+ drastic code size optimizations (removed useless inlines,
made unsigned to explicit unsigned int, etc.)
+ renamed toggle-frames to toggle-focus-mode
+ renamed toggle-client-state to toggle-client-mode
+ new default key bindings only using alt+<...>, shift+alt+<...> and
ctrl+alt+<...>
- removed detachAllButton from floatbar (consistency reasons)
- removed all left frame buttons
+ close button now scales better by big fonts (only 3 pixel center)
+ toggle-focus-mode button in floatbar now gives feedback about
active mode like (overlapping=floating/non-overlapping=maximized)
+ implemented bigger tolerance for diagonal resize pointer
+ new slot behavior for NeXTish dockapps (gkrellm experimental)
removed slot.width and slot.justification, fast invocation menu
not implemented yet, cause this should be done externally
- removed autoraising of grouped clients if a floating client
is attached/focussed
+ ICCCM overwork (should solve most known BUGs)
+ focus clients through click into client area with alt key pressed
+ written welcome section in wmi(1) manual page for newbies
+ pop up manual page wmi(1) within xterm when wmi is started first
+ moved actions detail description to actions.conf file
really have big information value for those who don't know neither B nor C.
s/minimalistic/minimalist/ in DESCR, the former is not really an english word.
WMI is a new window manager for X11, which combines the best features of
LarsWM, Ion, TrsWM, evilwm and ratpoison into one window manager.
WMI is new: it is developed from scratch wit h C++ without any ancient code
and design dependencies to antiquated window managers.
WMI is minimalistic: it has no build- or runtime dependencies except the C++
Standard Template Library (STL) and the X11 Library (XLib).
WMI is highly customizable: it is designed with keyboard users in mind. Each
action (e.g. resizing the frame, creating a new workspace, launching an app,
note that WMI provides hundreds of actions) can be bind to a shortcut. So say
good-bye to the rodent :)