aboutsummaryrefslogtreecommitdiffstats
path: root/XMonad/Layout (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-03-12Improved BinarySpacePartition, added Equalize,Balance and FocusParent and ↵anton.pirogov1-118/+425
mouse resize support Ignore-this: 31b5d7bf38e5b391df266906deb5e382 darcs-hash:20150312145220-8e960-c72823501fda2fa7a60ec99e5eecb01c5e2f200c.gz
2015-03-15New layout module X.L.Dwindlenzeh1-0/+210
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
2015-03-10X.L.AvoidFloats more useful default settingsankaan1-6/+6
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
2015-03-06X.L.AvoidFloats, like avoidStruts but for floatsankaan1-0/+239
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
2015-03-06X.L.LayoutBuilder place active on topankaan1-13/+32
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
2015-03-10adjust an import to fix the buildAdam Vogt1-1/+1
Ignore-this: 72f67dd2cb1cc6900269383124844c2b darcs-hash:20150310182403-1499c-46007f2a3223f96cdd19ae807a171791098401c0.gz
2015-03-10merge conflicts in X.L.SpacingAdam Vogt1-3/+25
Ignore-this: f0830d6483d30d643e7e182e310ec042 I should have just applied Anton Pirogov March 4 patch. darcs-hash:20150310182046-1499c-b23bcf058b68fb1a6f63d390269a038679be3b2a.gz
2015-03-04Added messages to adjust the gap dynamicallyanton.pirogov1-18/+3
Ignore-this: 52b590c820db765796de41f38fffdf3c darcs-hash:20150304082520-8e960-4aa7b967ae23a4c135283449ddc7c46630a3b8d3.gz
2015-03-10X.L.Spacing needs -XPatternGuards nowAdam Vogt1-0/+1
Ignore-this: d6b2b76fddbd9ad066e7cb39933f055a darcs-hash:20150310181248-1499c-d6d6a82acda00608554c80efe067162f7ea9dba4.gz
2015-03-03Added messages to adjust the gap dynamicallyanton.pirogov1-3/+17
Ignore-this: 891ca1ccca183d6af8e4aa4bf6d843fb darcs-hash:20150303210143-8e960-aa36510443a7db957524b163230b1e4357d181b5.gz
2014-11-10BinarySpacePartition downstream changesbenweitzman1-18/+116
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
2014-12-20X.L.Master: Add FixMaster layout modifierAnton Vorontsov1-5/+25
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
2014-12-19Layout.Spacing: Outer window edges now get as much spacing as inner onesFelix Crux1-0/+38
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
2014-09-01Implement proper handling of dynamically changing hostnameAnton Vorontsov1-9/+6
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
2014-09-01Add Stoppable layout for power savingAnton Vorontsov1-0/+130
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
2014-09-14XMonad.Config.Prime, a do-notation for configDevin Mullins1-2/+17
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
2014-05-01remove trailing whitespace in L.BinarySpacePartitionAdam Vogt1-50/+50
Ignore-this: 8dd677978992e0854801b8f254463dc2 darcs-hash:20140501011943-1499c-6536a0f80c5157465587cc7a98d165119586357d.gz
2014-05-01replace Bound with the equivalent Direction2DAdam Vogt1-28/+27
Ignore-this: b1f1c256aba07f70918fe1d693c8087b darcs-hash:20140501011540-1499c-a4630752cc7fcb87bbbdbd5b909c7b5316b14a31.gz
2014-05-01remove unused extension in BSPAdam Vogt1-1/+1
Ignore-this: a4962486b2aa3980536bff19a537451e darcs-hash:20140501011455-1499c-8f485a327700c52b5b62206325034f9d92e2c05e.gz
2014-04-30Add BinarySpacePartition layoutbenweitzman1-0/+304
Ignore-this: a85d1dc51bf54c59ae2bd9d948cc1088 darcs-hash:20140430205848-9f2e8-c9fc6988cf24f404bff77042f1ad11d2165f6193.gz
2014-04-23Remove unneeded context with the IfMax layout instanceAdam Vogt1-2/+1
Ignore-this: 3b8ac316f56df6a84420754db769fb0 Extra constraints on instances are about as useful as -XDataTypeContexts darcs-hash:20140422221105-1499c-beddf2399e373128b44faa1ffba7dfe9b68b76f7.gz
2014-02-19Adding side tabs and replacing TabbarLocation with Direction2D.nrujac1-25/+24
Ignore-this: edabeec973b4e0d61515818367689843 darcs-hash:20140219200811-8d489-7e1afa9668bda0a6a4cafab8cde96e50cb32f1ed.gz
2014-02-13Add side tabs to the tabbed layout.nrujac1-9/+62
Ignore-this: f81bafe9cb75a30ed6bbbe68cf5d66c0 darcs-hash:20140213215247-8d489-b1ce41f14a76281985109b933dcf9481619a7d58.gz
2014-01-28expose and document X.L.IndependentScreens.marshallSortDaniel Wagner1-1/+2
Ignore-this: 90c1437c6ffe1dbd8f4a4ed192097ec darcs-hash:20140128212844-76d51-ade7eabfc1a759b5b97409835c54e705d0a727bd.gz
2013-12-01IfMax-LayoutIlya Portnov1-0/+77
Ignore-this: dac53f2a0505e740f05fdf03f1db0c21 This adds a new ("conditional") layout, IfMax, which simply runs one layout, if there are < darcs-hash:20131201072634-c5067-1caf5f9de962285cf1b656266e78a0c46979f9c7.gz
2013-07-30XMonad.Actions.UpdatePointer: generalise updatePointerLiyang HU1-8/+8
Ignore-this: 3374a62b6c63dcc152dbf843cd0577f0 darcs-hash:20130730071007-3269f-c93d34a65590e3252ad43902e6eb499e2ba51b12.gz
2013-05-28use Data.Default wherever possible, and deprecate the things it replacesDaniel Wagner20-75/+93
Ignore-this: 898458b1d2868a70dfb09faf473dc7aa darcs-hash:20130528013909-76d51-863278165b6f149c47b08b31b34e85ddcab19f1f.gz
2013-05-28eliminate references to defaultConfigDaniel Wagner54-79/+79
Ignore-this: 37ae613e4b943e99c5200915b9d95e58 darcs-hash:20130528005825-76d51-89eaf6f1aeeb02086371f9c4ae2afade984f62e0.gz
2013-05-28minimal change needed to get xmonad-contrib to build with xmonad's ↵Daniel Wagner1-1/+1
data-default patch Ignore-this: 291e4f6cd74fc2b808062e0369665170 darcs-hash:20130528001040-76d51-2e9df581701c8b6f3fc39c57bf16de7d54743db6.gz
2013-05-17Remove unneeded XSync call in Layout.ShowWNameFrancesco Ariis1-1/+0
Ignore-this: 4d107c680572eff464c8f6ed9fabdd41 darcs-hash:20130517153341-08c78-20776b879b34f1bdb3ddc2d54049105d90e18a33.gz
2013-05-14Fix module name in comment of X.L.FullscreenAdam Vogt1-1/+1
Ignore-this: cb5cf18c301c5daf5e1a2527da1ef6bf darcs-hash:20130514215727-1499c-f6c8e7e5a2699db37eebc86abeff5e399e17b622.gz
2013-02-17Remove unnecessary contexts from L.MultiToggleAdam Vogt1-2/+2
Ignore-this: 6b0e413d8c3a58f62088c32a96c57c51 darcs-hash:20130217163356-1499c-49328ff9588901c49e7b84a80ef079d2b7514268.gz
2013-05-01Generalises modWorkspace to take any layout-transforming functiongopsychonauts1-12/+13
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
2013-05-02warning policeDaniel Wagner1-4/+4
Ignore-this: ae7412ac77c57492a7ad6c5f8f50b9eb darcs-hash:20130502012700-76d51-e3a9d6a50623cbd06b8ea65630e17f055408306a.gz
2013-05-02XMonad.Config.DmwitDaniel Wagner1-0/+3
Ignore-this: 7402161579fd2e191b60a057d955e5ea darcs-hash:20130502012132-76d51-db5a8296f28a2d9e16e5961bf8a235c8a0d078ed.gz
2013-04-11minor fixes to the haddock markup in X.L.IndependentScreensDaniel Wagner1-1/+2
Ignore-this: b6a139aa43fdb39fc1b86566c0c34c7a darcs-hash:20130411193849-76d51-f8b1e55d644f0f17b8b3757cf0aa5d3d13a3d857.gz
2013-04-09add whenCurrentOn to X.L.IndependentScreensDaniel Wagner1-0/+35
Ignore-this: ceea3d391f270abc9ed8e52ce19fb1ac darcs-hash:20130408225251-76d51-9000eed38173684de773c3bb70099020a8a3973c.gz
2013-02-22Allow to specify the initial gaps' states in X.L.GapsPaul Fertser1-1/+6
Ignore-this: 31596d918d0050e36ce3f64f56205a64 darcs-hash:20130222072232-52607-94c6527828fc9414be84cae7839889ccd656cd03.gz
2013-01-12Update L.TrackFloating.useTransient example codeAdam Vogt1-2/+2
Ignore-this: e4e31cf1db742778c1d59d52fdbeed7a Suggest useTransient goes to the right of trackFloating which is the configuration actually tested. darcs-hash:20130112041239-1499c-bd81bd9833241f0b202c05585577b8b6ee4f5155.gz
2013-01-12Adapt ideas of issue 306 patch to a new modifier in L.TrackFloatingAdam Vogt1-5/+67
Ignore-this: d54d27b71b97144ef0660f910fd464aa darcs-hash:20130112035701-1499c-44f401aad97e60d9a2680a7b7619190c4f64d078.gz
2012-11-09Remove trailing whitespace.Adam Vogt8-52/+52
Ignore-this: 72e3afb6e6df47c51262006601765365 darcs-hash:20121109014156-1499c-45797b245e25e966e4ca337ee224b593aaac63a0.gz
2012-11-09Use Control.Exception.catch explitly to avoid warningsAdam Vogt1-1/+0
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
2012-11-09Rename variables "state" to avoid warnings about shadowingAdam Vogt3-49/+49
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
2012-11-09Rename variable in L.Minimize to avoid shadowing.Adam Vogt1-3/+3
Ignore-this: b46d3e8e0d4106cea6966116be386677 This "state" is new with a newer mtl. darcs-hash:20121109003410-1499c-5a2ac6463df763768818a9dae5c2721c3eaede76.gz
2012-09-23Added smart spacing to the spacing moduledaedalusinfinity1-0/+15
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
2012-06-18refer to the new name 'handleEventHook' instead of the old name 'eventHook' ↵Daniel Wagner1-1/+1
in X.L.Fullscreen documentation Ignore-this: bd3b26c758cf3993d5a93957bb6f3663 darcs-hash:20120618181003-76d51-01c94d2bf810031fbe070a087108b8ab75e8b9be.gz
2012-04-28Minor haddock formatting for X.L.OnHost and X.A.DynamicWorkspaceOrderAdam Vogt1-6/+6
Ignore-this: 843ec567e249cc96d51ca931f1e36514 darcs-hash:20120428194552-1499c-86afac9105d38cb89e72661bdb2c177b0f3baf1f.gz
2012-04-28Remove trailing whitespace.Adam Vogt1-1/+1
Ignore-this: d61584110954e84d3611ef3497a29725 darcs-hash:20120428194048-1499c-b4fab8db7cd56d5ca8496e1d3c9c2147a985cf55.gz
2012-03-20XMonad.Layout.OnHost allows host-specific modifications to a layout, whichallbery.b1-0/+155
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
2012-03-14narrower BorderResize rectangles placed within border edgesJens Petersen1-7/+5
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