| Commit message (Collapse) | Author | Files | Lines |
|
mouse resize support
Ignore-this: 31b5d7bf38e5b391df266906deb5e382
darcs-hash:20150312145220-8e960-c72823501fda2fa7a60ec99e5eecb01c5e2f200c.gz
|
|
Ignore-this: a1507e9eda6e6cabd679c2c3b50d9a38
This adds three layouts: Spiral is a reimplementation of X.L.Spiral.spiral
with a (to me) more intuitive splitting policy. Dwindle is similar but pushes
the smaller windows into a corner rather than into the center. Squeeze just
stacks windows vertically or horizontally using geometrically decreasing sizes.
darcs-hash:20150315130913-c6b6b-e00f15f5ec778d8856693d5655d2cafda8fc61a2.gz
|
|
Ignore-this: af6535bace9219619858751eeeff6520
Changed default settings with the simple layout modifier. Instead of asking for a bool indicating if all windows should be avoided, no such bool is asked for. No windows are avoided by default. I think this will be a more useful default setting since it would be annoying if dialogue windows are avoided. The same functionality is possible with the advanced constructor. This will be easier for new users.
This will break configurations using the old module, but this will not be much of an issue since the module has not been added to the repo as of this writing.
darcs-hash:20150310212022-3948e-381395bd216296de1739fd5c2c22ed0bdfc85c9d.gz
|
|
Ignore-this: 3722d7787dd2429313f92f85f3ae1251
Checks for floating windows within the layout area and finds a maximum area
rectangle within that does not overlap with any of the floating windows.
This rectangle is used for all non-floating windows.
This new functionality introduced problems with the recommended configuration
of one of my other modules (X.A.FloatSnap.) A new and more reliable method of
distinguishing between clicks and drags where therefore introduced in the new
module X.A.AfterDrag.
This does not break any prior use of FloatSnap, but will require changes in
configuration if used together with AvoidFloats. (This is mentioned in the
docs for AvoidFloats and I recommend using the new configuration method even if
AvoidFloats is not in use.)
darcs-hash:20150306171702-3948e-a8b8c75ba49306a33d87c9414117f8a49c536dbf.gz
|
|
Ignore-this: 69d718d0d044ee59a877fa0e63edc474
Make sure that the active layout area is placed on top of all other areas when placing windows. This makes overlapping areas usable.
darcs-hash:20150306164200-3948e-03994d77db63c13c1d7b308a40f2568d4f085215.gz
|
|
Ignore-this: 72f67dd2cb1cc6900269383124844c2b
darcs-hash:20150310182403-1499c-46007f2a3223f96cdd19ae807a171791098401c0.gz
|
|
Ignore-this: f0830d6483d30d643e7e182e310ec042
I should have just applied Anton Pirogov March 4 patch.
darcs-hash:20150310182046-1499c-b23bcf058b68fb1a6f63d390269a038679be3b2a.gz
|
|
Ignore-this: 52b590c820db765796de41f38fffdf3c
darcs-hash:20150304082520-8e960-4aa7b967ae23a4c135283449ddc7c46630a3b8d3.gz
|
|
Ignore-this: d6b2b76fddbd9ad066e7cb39933f055a
darcs-hash:20150310181248-1499c-d6d6a82acda00608554c80efe067162f7ea9dba4.gz
|
|
Ignore-this: 891ca1ccca183d6af8e4aa4bf6d843fb
darcs-hash:20150303210143-8e960-aa36510443a7db957524b163230b1e4357d181b5.gz
|
|
Ignore-this: 42ecc2b07388ba0c7b3eac980256c17b
Pulled in changes from my repo for this layout on github (https://github.com/benweitzman/BinarySpacePartition)
Includes a new mode for resizing windows in a more intuitive way, also contains a bug fix that was preventing users from
resiving a window up.
Includes changes from github users egasimus (Adam Avramov) and SolitaryCipher (Nick)
darcs-hash:20141110202259-9f2e8-06c64eec2a4a139a350b8f729af818d07506b18d.gz
|
|
Ignore-this: 82e9736853287f753248af41843ceb6b
This layout modifier is useful for the case if you desire to add a master
pane that has fixed width (it's fixed even if there is just one window
opened). Especially nice feature if you don't want to have too wide
terminal in a master pane.
The layout is implemented as an addition to Master layout, so it reuses
most of the code.
darcs-hash:20141220011339-1836e-543b0c692297779d51fd6f3f71e820366c977721.gz
|
|
Ignore-this: 61363e97939fe857876c8252ac5f0302
Layout.Spacing applies a customizable amount of space around the outside of each
window. At window edges where two windows meet, the total distance between them
is therefore twice the customized value (one space value from each window). At
the edge of the screen, however, the spacing is only applied once. This results
in uneven amounts of spacing and differently-sized gaps on the screen.
This patch extends the Spacing layout to include a further gap all around the
edge of the screen, thus making all spaces around windows equal in size.
darcs-hash:20141219223646-7cf82-41539353bf5af7c54809bb7a9ff1c6a52320aa10.gz
|
|
Ignore-this: 2aeac6d2161e666d40cda6a09f78b208
The module implements a proper way of finding out whether the window is
remote or local.
Just checking for a hostname and WM_CLIENT_MACHINE being equal is often
not enough because the hostname is a changing subject (without any
established notification mechanisms), and thus WM_CLIENT_MACHINE and the
hostname can diverge even for a local window.
This module solves the problem. As soon as there is a new window created,
we check the hostname and WM_CLIENT_MACHINE, and then we cache the result
into the XMONAD_REMOTE property.
Notice that XMonad itself does not know anything about hostnames, nor does
it have any dependency on Network.* modules. For this module it is not a
problem: you can provide a mean to get the hostname through your config
file (see usage). Or, if you don't like the hassle of handling dynamic
hostnames (suppose your hostname never changes), it is also fine: this
module will fallback to using environment variables.
darcs-hash:20140901072158-1836e-fa2b05c79ec3217d5024b7e050b2239dcf7de4b4.gz
|
|
Ignore-this: a52805d9f3095cd7af48507847ed2fe3
This module implements a special kind of layout modifier, which when
applied to a layout, causes xmonad to stop all non-visible processes. In a
way, this is a sledge-hammer for applications that drain power. For
example, given a web browser on a stoppable workspace, once the workspace
is hidden the web browser will be stopped.
Note that the stopped application won't be able to communicate with X11
clipboard. For this, the module actually stops applications after a
certain delay, giving a chance for a user to complete copy-paste sequence.
By default, the delay equals to 15 seconds, it is configurable via
'Stoppable' constructor.
The stoppable modifier prepends a mark (by default equals to "Stoppable")
to the layout description (alternatively, you can choose your own mark and
use it with 'Stoppable' constructor). The stoppable layout (identified by
a mark) spans to multiple workspaces, letting you to create groups of
stoppable workspaces that only stop processes when none of the workspaces
are visible, and conversely, unfreezing all processes even if one of the
stoppable workspaces are visible.
To stop the process we use signals, which works for most cases. For
processes that tinker with signal handling (debuggers), another
(Linux-centric) approach may be used. See
https://www.kernel.org/doc/Documentation/cgroups/freezer-subsystem.txt
darcs-hash:20140901072141-1836e-f65c7bdad9b87883e41a526f496d93f0171ed149.gz
|
|
Ignore-this: f7397aa6e6efe5d76acebfa22c567baa
Note that the use of RebindableSyntax is because of the need to vary the
layoutHook type throughout the config. The alternative, using the existential
Layout type, was rejected because it required TemplateHaskell in order to look
nice, and TemplateHaskell is not portable.
I've tried to make a version of (>>) that also worked on normal monads, but
have had no luck as of yet. Maybe some intrepid soul can add it later.
darcs-hash:20140914064828-c7120-fbf2746080bb2410b2b70da290fd50eefd49435d.gz
|
|
Ignore-this: 8dd677978992e0854801b8f254463dc2
darcs-hash:20140501011943-1499c-6536a0f80c5157465587cc7a98d165119586357d.gz
|
|
Ignore-this: b1f1c256aba07f70918fe1d693c8087b
darcs-hash:20140501011540-1499c-a4630752cc7fcb87bbbdbd5b909c7b5316b14a31.gz
|
|
Ignore-this: a4962486b2aa3980536bff19a537451e
darcs-hash:20140501011455-1499c-8f485a327700c52b5b62206325034f9d92e2c05e.gz
|
|
Ignore-this: a85d1dc51bf54c59ae2bd9d948cc1088
darcs-hash:20140430205848-9f2e8-c9fc6988cf24f404bff77042f1ad11d2165f6193.gz
|
|
Ignore-this: 3b8ac316f56df6a84420754db769fb0
Extra constraints on instances are about as useful as -XDataTypeContexts
darcs-hash:20140422221105-1499c-beddf2399e373128b44faa1ffba7dfe9b68b76f7.gz
|
|
Ignore-this: edabeec973b4e0d61515818367689843
darcs-hash:20140219200811-8d489-7e1afa9668bda0a6a4cafab8cde96e50cb32f1ed.gz
|
|
Ignore-this: f81bafe9cb75a30ed6bbbe68cf5d66c0
darcs-hash:20140213215247-8d489-b1ce41f14a76281985109b933dcf9481619a7d58.gz
|
|
Ignore-this: 90c1437c6ffe1dbd8f4a4ed192097ec
darcs-hash:20140128212844-76d51-ade7eabfc1a759b5b97409835c54e705d0a727bd.gz
|
|
Ignore-this: dac53f2a0505e740f05fdf03f1db0c21
This adds a new ("conditional") layout, IfMax, which simply runs one layout, if there are <
darcs-hash:20131201072634-c5067-1caf5f9de962285cf1b656266e78a0c46979f9c7.gz
|
|
Ignore-this: 3374a62b6c63dcc152dbf843cd0577f0
darcs-hash:20130730071007-3269f-c93d34a65590e3252ad43902e6eb499e2ba51b12.gz
|
|
Ignore-this: 898458b1d2868a70dfb09faf473dc7aa
darcs-hash:20130528013909-76d51-863278165b6f149c47b08b31b34e85ddcab19f1f.gz
|
|
Ignore-this: 37ae613e4b943e99c5200915b9d95e58
darcs-hash:20130528005825-76d51-89eaf6f1aeeb02086371f9c4ae2afade984f62e0.gz
|
|
data-default patch
Ignore-this: 291e4f6cd74fc2b808062e0369665170
darcs-hash:20130528001040-76d51-2e9df581701c8b6f3fc39c57bf16de7d54743db6.gz
|
|
Ignore-this: 4d107c680572eff464c8f6ed9fabdd41
darcs-hash:20130517153341-08c78-20776b879b34f1bdb3ddc2d54049105d90e18a33.gz
|
|
Ignore-this: cb5cf18c301c5daf5e1a2527da1ef6bf
darcs-hash:20130514215727-1499c-f6c8e7e5a2699db37eebc86abeff5e399e17b622.gz
|
|
Ignore-this: 6b0e413d8c3a58f62088c32a96c57c51
darcs-hash:20130217163356-1499c-49328ff9588901c49e7b84a80ef079d2b7514268.gz
|
|
Ignore-this: 28c7dc1f6216bb1ebdffef5434ccbcbd
modWorkspace already was capable of modifying the layout with an arbitrary
layout -> layout function, but its original type restricted it such that it
could only apply a single LayoutModifier; this was often inconvenient, as for
example it was not possible simply to compose LayoutModifiers for use with
modWorkspace.
This patch also reimplements onWorkspaces in terms of modWorkspaces, since with
the latter's less restrictive type this is now possible.
darcs-hash:20130501151425-1e6bb-1fc7e26a39fab65bb2bf387db0052f19e7c619fc.gz
|
|
Ignore-this: ae7412ac77c57492a7ad6c5f8f50b9eb
darcs-hash:20130502012700-76d51-e3a9d6a50623cbd06b8ea65630e17f055408306a.gz
|
|
Ignore-this: 7402161579fd2e191b60a057d955e5ea
darcs-hash:20130502012132-76d51-db5a8296f28a2d9e16e5961bf8a235c8a0d078ed.gz
|
|
Ignore-this: b6a139aa43fdb39fc1b86566c0c34c7a
darcs-hash:20130411193849-76d51-f8b1e55d644f0f17b8b3757cf0aa5d3d13a3d857.gz
|
|
Ignore-this: ceea3d391f270abc9ed8e52ce19fb1ac
darcs-hash:20130408225251-76d51-9000eed38173684de773c3bb70099020a8a3973c.gz
|
|
Ignore-this: 31596d918d0050e36ce3f64f56205a64
darcs-hash:20130222072232-52607-94c6527828fc9414be84cae7839889ccd656cd03.gz
|
|
Ignore-this: e4e31cf1db742778c1d59d52fdbeed7a
Suggest useTransient goes to the right of trackFloating which is the
configuration actually tested.
darcs-hash:20130112041239-1499c-bd81bd9833241f0b202c05585577b8b6ee4f5155.gz
|
|
Ignore-this: d54d27b71b97144ef0660f910fd464aa
darcs-hash:20130112035701-1499c-44f401aad97e60d9a2680a7b7619190c4f64d078.gz
|
|
Ignore-this: 72e3afb6e6df47c51262006601765365
darcs-hash:20121109014156-1499c-45797b245e25e966e4ca337ee224b593aaac63a0.gz
|
|
Ignore-this: 2cebdfe604c581f2b4a644e9aed726c7
The base that comes with ghc-7.6.1 no longer includes Prelude.catch;
so these modules were changed so that there is no warning for
import Prelude hiding (catch)
At the same time these changes should be compatible with older GHCs,
since the catch being has never been the one in the Prelude.
darcs-hash:20121109013506-1499c-c593662b0780eb49287efcbfe0e9796f7dd57c73.gz
|
|
Ignore-this: cd063d632412f758ca9fed6393521c8f
XMonad core re-exports Control.Monad.State, which includes
a function "state" if you happen to use mtl-2. Since there's
a chance xmonad still works with mtl-1 avoid imports like:
import XMonad hiding (state)
darcs-hash:20121109012316-1499c-539514f4cd97ba8b18a8fbfd1a15333b46d962e1.gz
|
|
Ignore-this: b46d3e8e0d4106cea6966116be386677
This "state" is new with a newer mtl.
darcs-hash:20121109003410-1499c-5a2ac6463df763768818a9dae5c2721c3eaede76.gz
|
|
Ignore-this: 9104bc8feb832f63f2f18998c0f7ba92
Added smart spacing to the spacing module, which adds spacing to all windows,
except to windows on singleton workspaces.
darcs-hash:20120923034527-6243b-e3036a0e7e350648026148a4ff0d25db40358e52.gz
|
|
in X.L.Fullscreen documentation
Ignore-this: bd3b26c758cf3993d5a93957bb6f3663
darcs-hash:20120618181003-76d51-01c94d2bf810031fbe070a087108b8ab75e8b9be.gz
|
|
Ignore-this: 843ec567e249cc96d51ca931f1e36514
darcs-hash:20120428194552-1499c-86afac9105d38cb89e72661bdb2c177b0f3baf1f.gz
|
|
Ignore-this: d61584110954e84d3611ef3497a29725
darcs-hash:20120428194048-1499c-b4fab8db7cd56d5ca8496e1d3c9c2147a985cf55.gz
|
|
Ignore-this: 4c0d5580e805ff9f40918308914f3bf9
is otherwise very difficult to do. Similarly to X.L.PerWorkspace, it provides
onHost, onHosts, modHost, and modHosts layout modifiers. It attempts to do
smart hostname comparison, such that short names will be matched with short
names and FQDNs with FQDNs.
This module currently requires that $HOST be set in the environment.
You can use System.Posix.Env.setEnv to do so in xmonad.hs if need be.
(Properly, this should be done via the network library, but I'm trying to
avoid adding that dependency.) An alternative would be to shell out to
get the name, but that has considerable portability hurdles.
darcs-hash:20120320030912-181ff-ac823f07d94265c3e745e623f6da79eeead4d121.gz
|
|
Ignore-this: 3a43bbdb7f2317d702edafb231f58802
Change the border resize rectangles to be narrower and only extend
inside the window not outside. Most window managers just seem to use
the border decoration area for starting resizes which is often just 1 pixel
wide but as a compromise the width is now 2 pixels (before it was 10!).
The rectangles are now placed symmetrically within the border and window.
This seems to work ok with PositionStoreFloat for the Bluetile config.
darcs-hash:20120314064703-2376b-7c0f261c543d9855567e5187d224eb04a0c115bd.gz
|