aboutsummaryrefslogtreecommitdiffstats
path: root/XMonad/Layout (follow)
Commit message (Collapse)AuthorAgeFilesLines
* X.L.AvoidFloats, like avoidStruts but for floatsankaan2015-03-061-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
* X.L.LayoutBuilder place active on topankaan2015-03-061-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
* adjust an import to fix the buildAdam Vogt2015-03-101-1/+1
| | | | | | Ignore-this: 72f67dd2cb1cc6900269383124844c2b darcs-hash:20150310182403-1499c-46007f2a3223f96cdd19ae807a171791098401c0.gz
* merge conflicts in X.L.SpacingAdam Vogt2015-03-101-3/+25
| | | | | | | | Ignore-this: f0830d6483d30d643e7e182e310ec042 I should have just applied Anton Pirogov March 4 patch. darcs-hash:20150310182046-1499c-b23bcf058b68fb1a6f63d390269a038679be3b2a.gz
* Added messages to adjust the gap dynamicallyanton.pirogov2015-03-041-18/+3
| | | | | | Ignore-this: 52b590c820db765796de41f38fffdf3c darcs-hash:20150304082520-8e960-4aa7b967ae23a4c135283449ddc7c46630a3b8d3.gz
* X.L.Spacing needs -XPatternGuards nowAdam Vogt2015-03-101-0/+1
| | | | | | Ignore-this: d6b2b76fddbd9ad066e7cb39933f055a darcs-hash:20150310181248-1499c-d6d6a82acda00608554c80efe067162f7ea9dba4.gz
* Added messages to adjust the gap dynamicallyanton.pirogov2015-03-031-3/+17
| | | | | | Ignore-this: 891ca1ccca183d6af8e4aa4bf6d843fb darcs-hash:20150303210143-8e960-aa36510443a7db957524b163230b1e4357d181b5.gz
* BinarySpacePartition downstream changesbenweitzman2014-11-101-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
* X.L.Master: Add FixMaster layout modifierAnton Vorontsov2014-12-201-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
* Layout.Spacing: Outer window edges now get as much spacing as inner onesFelix Crux2014-12-191-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
* Implement proper handling of dynamically changing hostnameAnton Vorontsov2014-09-011-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
* Add Stoppable layout for power savingAnton Vorontsov2014-09-011-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
* XMonad.Config.Prime, a do-notation for configDevin Mullins2014-09-141-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
* remove trailing whitespace in L.BinarySpacePartitionAdam Vogt2014-05-011-50/+50
| | | | | | Ignore-this: 8dd677978992e0854801b8f254463dc2 darcs-hash:20140501011943-1499c-6536a0f80c5157465587cc7a98d165119586357d.gz
* replace Bound with the equivalent Direction2DAdam Vogt2014-05-011-28/+27
| | | | | | Ignore-this: b1f1c256aba07f70918fe1d693c8087b darcs-hash:20140501011540-1499c-a4630752cc7fcb87bbbdbd5b909c7b5316b14a31.gz
* remove unused extension in BSPAdam Vogt2014-05-011-1/+1
| | | | | | Ignore-this: a4962486b2aa3980536bff19a537451e darcs-hash:20140501011455-1499c-8f485a327700c52b5b62206325034f9d92e2c05e.gz
* Add BinarySpacePartition layoutbenweitzman2014-04-301-0/+304
| | | | | | Ignore-this: a85d1dc51bf54c59ae2bd9d948cc1088 darcs-hash:20140430205848-9f2e8-c9fc6988cf24f404bff77042f1ad11d2165f6193.gz
* Remove unneeded context with the IfMax layout instanceAdam Vogt2014-04-231-2/+1
| | | | | | | | Ignore-this: 3b8ac316f56df6a84420754db769fb0 Extra constraints on instances are about as useful as -XDataTypeContexts darcs-hash:20140422221105-1499c-beddf2399e373128b44faa1ffba7dfe9b68b76f7.gz
* Adding side tabs and replacing TabbarLocation with Direction2D.nrujac2014-02-191-25/+24
| | | | | | Ignore-this: edabeec973b4e0d61515818367689843 darcs-hash:20140219200811-8d489-7e1afa9668bda0a6a4cafab8cde96e50cb32f1ed.gz
* Add side tabs to the tabbed layout.nrujac2014-02-131-9/+62
| | | | | | Ignore-this: f81bafe9cb75a30ed6bbbe68cf5d66c0 darcs-hash:20140213215247-8d489-b1ce41f14a76281985109b933dcf9481619a7d58.gz
* expose and document X.L.IndependentScreens.marshallSortDaniel Wagner2014-01-281-1/+2
| | | | | | Ignore-this: 90c1437c6ffe1dbd8f4a4ed192097ec darcs-hash:20140128212844-76d51-ade7eabfc1a759b5b97409835c54e705d0a727bd.gz
* IfMax-LayoutIlya Portnov2013-12-011-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
* XMonad.Actions.UpdatePointer: generalise updatePointerLiyang HU2013-07-301-8/+8
| | | | | | Ignore-this: 3374a62b6c63dcc152dbf843cd0577f0 darcs-hash:20130730071007-3269f-c93d34a65590e3252ad43902e6eb499e2ba51b12.gz
* use Data.Default wherever possible, and deprecate the things it replacesDaniel Wagner2013-05-2820-75/+93
| | | | | | Ignore-this: 898458b1d2868a70dfb09faf473dc7aa darcs-hash:20130528013909-76d51-863278165b6f149c47b08b31b34e85ddcab19f1f.gz
* eliminate references to defaultConfigDaniel Wagner2013-05-2854-79/+79
| | | | | | Ignore-this: 37ae613e4b943e99c5200915b9d95e58 darcs-hash:20130528005825-76d51-89eaf6f1aeeb02086371f9c4ae2afade984f62e0.gz
* minimal change needed to get xmonad-contrib to build with xmonad's ↵Daniel Wagner2013-05-281-1/+1
| | | | | | | | data-default patch Ignore-this: 291e4f6cd74fc2b808062e0369665170 darcs-hash:20130528001040-76d51-2e9df581701c8b6f3fc39c57bf16de7d54743db6.gz
* Remove unneeded XSync call in Layout.ShowWNameFrancesco Ariis2013-05-171-1/+0
| | | | | | Ignore-this: 4d107c680572eff464c8f6ed9fabdd41 darcs-hash:20130517153341-08c78-20776b879b34f1bdb3ddc2d54049105d90e18a33.gz
* Fix module name in comment of X.L.FullscreenAdam Vogt2013-05-141-1/+1
| | | | | | Ignore-this: cb5cf18c301c5daf5e1a2527da1ef6bf darcs-hash:20130514215727-1499c-f6c8e7e5a2699db37eebc86abeff5e399e17b622.gz
* Remove unnecessary contexts from L.MultiToggleAdam Vogt2013-02-171-2/+2
| | | | | | Ignore-this: 6b0e413d8c3a58f62088c32a96c57c51 darcs-hash:20130217163356-1499c-49328ff9588901c49e7b84a80ef079d2b7514268.gz
* Generalises modWorkspace to take any layout-transforming functiongopsychonauts2013-05-011-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
* warning policeDaniel Wagner2013-05-021-4/+4
| | | | | | Ignore-this: ae7412ac77c57492a7ad6c5f8f50b9eb darcs-hash:20130502012700-76d51-e3a9d6a50623cbd06b8ea65630e17f055408306a.gz
* XMonad.Config.DmwitDaniel Wagner2013-05-021-0/+3
| | | | | | Ignore-this: 7402161579fd2e191b60a057d955e5ea darcs-hash:20130502012132-76d51-db5a8296f28a2d9e16e5961bf8a235c8a0d078ed.gz
* minor fixes to the haddock markup in X.L.IndependentScreensDaniel Wagner2013-04-111-1/+2
| | | | | | Ignore-this: b6a139aa43fdb39fc1b86566c0c34c7a darcs-hash:20130411193849-76d51-f8b1e55d644f0f17b8b3757cf0aa5d3d13a3d857.gz
* add whenCurrentOn to X.L.IndependentScreensDaniel Wagner2013-04-091-0/+35
| | | | | | Ignore-this: ceea3d391f270abc9ed8e52ce19fb1ac darcs-hash:20130408225251-76d51-9000eed38173684de773c3bb70099020a8a3973c.gz
* Allow to specify the initial gaps' states in X.L.GapsPaul Fertser2013-02-221-1/+6
| | | | | | Ignore-this: 31596d918d0050e36ce3f64f56205a64 darcs-hash:20130222072232-52607-94c6527828fc9414be84cae7839889ccd656cd03.gz
* Update L.TrackFloating.useTransient example codeAdam Vogt2013-01-121-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
* Adapt ideas of issue 306 patch to a new modifier in L.TrackFloatingAdam Vogt2013-01-121-5/+67
| | | | | | Ignore-this: d54d27b71b97144ef0660f910fd464aa darcs-hash:20130112035701-1499c-44f401aad97e60d9a2680a7b7619190c4f64d078.gz
* Remove trailing whitespace.Adam Vogt2012-11-098-52/+52
| | | | | | Ignore-this: 72e3afb6e6df47c51262006601765365 darcs-hash:20121109014156-1499c-45797b245e25e966e4ca337ee224b593aaac63a0.gz
* Use Control.Exception.catch explitly to avoid warningsAdam Vogt2012-11-091-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
* Rename variables "state" to avoid warnings about shadowingAdam Vogt2012-11-093-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
* Rename variable in L.Minimize to avoid shadowing.Adam Vogt2012-11-091-3/+3
| | | | | | | | Ignore-this: b46d3e8e0d4106cea6966116be386677 This "state" is new with a newer mtl. darcs-hash:20121109003410-1499c-5a2ac6463df763768818a9dae5c2721c3eaede76.gz
* Added smart spacing to the spacing moduledaedalusinfinity2012-09-231-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
* refer to the new name 'handleEventHook' instead of the old name 'eventHook' ↵Daniel Wagner2012-06-181-1/+1
| | | | | | | | in X.L.Fullscreen documentation Ignore-this: bd3b26c758cf3993d5a93957bb6f3663 darcs-hash:20120618181003-76d51-01c94d2bf810031fbe070a087108b8ab75e8b9be.gz
* Minor haddock formatting for X.L.OnHost and X.A.DynamicWorkspaceOrderAdam Vogt2012-04-281-6/+6
| | | | | | Ignore-this: 843ec567e249cc96d51ca931f1e36514 darcs-hash:20120428194552-1499c-86afac9105d38cb89e72661bdb2c177b0f3baf1f.gz
* Remove trailing whitespace.Adam Vogt2012-04-281-1/+1
| | | | | | Ignore-this: d61584110954e84d3611ef3497a29725 darcs-hash:20120428194048-1499c-b4fab8db7cd56d5ca8496e1d3c9c2147a985cf55.gz
* XMonad.Layout.OnHost allows host-specific modifications to a layout, whichallbery.b2012-03-201-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
* narrower BorderResize rectangles placed within border edgesJens Petersen2012-03-141-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
* bump X11 dependency so that noModMask is availableDaniel Wagner2012-03-161-1/+1
| | | | | | Ignore-this: 971a75dcad25f66848eef4174cd4ddd1 darcs-hash:20120316000302-76d51-db444dc2801d3b03900ce47429fe22571f03d4ad.gz
* ShowWName: Increase horizontal padding for flashcrodjer2012-03-051-1/+1
| | | | | | | | | Ignore-this: de5fd30fad2630875c5c78091f07c324 Currently the flash window width leaves a very small amount of padding. This patch adds some extra horizontal width, governed by text width and length. darcs-hash:20120305164517-fbbbc-062a4f1dae25cfcc8f9e20b1feaea20de92cb738.gz
* ShowWName flash window background colorRohan Jain2012-03-061-1/+1
| | | | | | | | | | | | | | Ignore-this: 9cd8fcfc13cc326b9dcc79ef3cc21b26 While calling paintAndWrite for flash window, the background color from config should also be passed on as window background in addition to as text background color. Otherwise the window color gets set to the default black which shows up when text cannot span whole of the window. This issue becomes visible when the font size is considerably large or even in small size with truetype fonts. darcs-hash:20120306065224-afc14-c5ec054c5448ed3e68a302ad23126163b525f225.gz