| 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: 52e03c09c4d5339085e0306044de8977
darcs-hash:20150313015636-1499c-a5e6a9954f079f1c7e973eee0aa96372b4cab6c1.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: ef0dc68e9b725953e69e7b039fe06e9a
darcs-hash:20130123044038-7d114-7a88df05510284aaddcd86c375894079912ed30f.gz
|
|
Ignore-this: 8e926cebc8d458a06a05f7457ae40b68
darcs-hash:20130123043850-7d114-908a346dd3d8a84cd896fcde1505d41284f01795.gz
|
|
Ignore-this: 989ae20ccc3d5b1392f0694d5c62e759
darcs-hash:20130121061324-7d114-34eccd0ee4c75b38d6203f4a2ee083cbdeab110e.gz
|
|
Ignore-this: 71dcf03f9ff80b645531004f95e9c600
darcs-hash:20150310214314-1499c-46bf6ba10c8800eaaa3677ba94772b49f7126e54.gz
|
|
Ignore-this: 18e74f249b35726acd4b923ecce3085
darcs-hash:20150310214246-1499c-79c35435301e48bf076f95e31ee04d8ac9580aef.gz
|
|
Ignore-this: 2f0a02613780067d324b04a8cdb9c0ed
pass stores its passwords in directories, so the contents of the directory
store needs to be enumerated recursively. Alexander Sulfrian provided this
patch on the mailinglist, which I tested (it works) and cleaned up slightly.
darcs-hash:20150218091816-23c07-6951b0fd1dea96873ec7f7968e5775db8f4520be.gz
|
|
Ignore-this: e637d782c13bed48bafbc1458b3f983f
darcs-hash:20150310192933-1499c-dee75cc95b2719a3245e7ce6c075bfa50fcfb9d2.gz
|
|
Ignore-this: 7cbb2ab0d8f9f606f50253deebcf4163
darcs-hash:20150228162335-8e960-f7e09c023272a44c7faa2be9b4dcfdcfd0c52201.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: 65d74f05e82c66a3ff4f021d19ceb626
darcs-hash:20150310181036-1499c-1b9af832d4eefa7806e03aae86aa72868341e136.gz
|
|
Ignore-this: 891ca1ccca183d6af8e4aa4bf6d843fb
darcs-hash:20150303210143-8e960-aa36510443a7db957524b163230b1e4357d181b5.gz
|
|
Ignore-this: 26d6f1b4cb6d573ccf49e6baeca853e4
darcs-hash:20150124111939-1499c-e2077874b5eede599216f60b2291fd8c6a8c1bf6.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: 1c91505b303e53b94da624230b3c893c
darcs-hash:20141222045306-1499c-3611f1dc7ab875a3d161668102c294954dd3e70a.gz
|
|
Ignore-this: 9f8c14b5aa9d398b3f167da0af1a8650
The current DynamicWorkspaces module only supports adding new workspaces
at the start of the list of workspaces. This means when binding workspaces
to keys based on the position in the list, key bindings can change
as workspaces are added in removed in a far more destructive way than
necessary. Instead, supporting appending and arbitrary insertion allows
the user to determine where the new workspace should be added.
This patch is a straight generalization of the addHiddenWorkspace' function.
Rather than always using `(:)` to insert the new workspace into the list
of workspaces, this patches causes it to use an arbitrary list insertion
function instead. A few new functions are added to prevent breakage of
external code while exported functions are left unchanged.
List of new functions:
appendWorkspace
appendWorkspacePrompt
addWorkspaceAt
addHiddenWorkspaceAt
Existing functions were modified to call their generalized brethren where possible
without changing functionality. This patch should not change behavior for any
existing users of this module.
darcs-hash:20141219002309-8d489-1a2c5cacb9724bd185836691027d1aefb8a799d5.gz
|
|
Ignore-this: 549e519d25080c77e605dc983f0d239e
darcs-hash:20141222033300-1499c-23e5947e976180fd277084f29d4f808474eace25.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: b2e5be31b70e6d31827e76bd8c00d200
darcs-hash:20140815051234-1499c-1f99e6ccdd98f6d8cdac9d08ffe1babde42a434f.gz
|
|
Ignore-this: d4c4da527db6c8affc151dc210631b85
darcs-hash:20140815051214-1499c-9b754c4927d8cc3a7c25dfb02c431c1423690c47.gz
|
|
Ignore-this: 90f855fd72406fb3d2640a133d499188
darcs-hash:20140815051136-1499c-ba127cec9ea6d28bdc8372ab4a506ee74f047fa6.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: 20d6b829b810f48b5e4b4c161b39b312
darcs-hash:20141002075939-541df-8de85c44bff7b35e29159243b6bc7715865d7ecb.gz
|
|
Ignore-this: ed01137f03a531f73315ed503d1eb6ef
1. Added 'additionalNav2DKeys' which adds keybindings for the cartesian product
of direction keys and (modifier, action) pairs given.
2. Added 'navigation2D' which combines that with 'withNavigation2DConfig'.
3. Added 'additionalNav2DKeysP' and 'navigation2DP' which do the same, but use
the 'additionalKeysP' syntax.
darcs-hash:20141002075757-541df-56008528a95cd2865c31673db77e6e251a55e323.gz
|
|
Ignore-this: dbbe00791b04df61dcd595c50333fba
darcs-hash:20141001075855-c7120-f61a9682f795dc8783820050ac75ee35fa07a51a.gz
|
|
Ignore-this: eba37b1ff3da265a4dcc509f538fce4d
The screen equivalent of 'withWorkspaces' lets you more easily define keys that
move/swap between screens.
Also, rename wsKeyspecs to wsKeys, and make a couple of doc tweaks.
darcs-hash:20141001075250-c7120-b04f2d41fea234317ad90e1da250f73183ddc64f.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: 51204c1a9f2e6ed21228d2910417fd21
darcs-hash:20140925203037-c7120-92903fc781c20e31345ff47c4ba3f758d5d4e078.gz
|
|
Ignore-this: 65f691270110cc5de13c950d9dcb0c17
This allows easier configuration of workspaces and their keybindings. Required
generalizing the 'Prime' type, so lots of other lines changed in rather trivial
ways.
darcs-hash:20140925203034-c7120-ade74542ae6f9c059d2967e000e948b52e45323a.gz
|
|
Ignore-this: ae775c418c27301b9c12d2a233502cec
This is necessary for if-then-else support in the user's config.
darcs-hash:20140924191509-c7120-7e3ce81753c191843eb74426292db3af31197abe.gz
|
|
Ignore-this: 15e3c445a99d3b2d3a235aa76119797
darcs-hash:20140915080601-c7120-85fa97c7a8b5ae09fc092930f313c7ab050a7f4b.gz
|
|
Ignore-this: a1de1d81a5f140ab7d90edbf393e9bda
darcs-hash:20140914075352-c7120-88dac442b73a2700de15a064f36692bfd90c5e99.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: bdd385a9142ed039a917d135e76293fe
darcs-hash:20130317115516-32aff-6d1a30508489d3a81c3a073ae704605eb7b9cd8d.gz
|
|
the focus to the screen that was focused at group creation time
Ignore-this: b74c02b1892159694827e35122c2d517
darcs-hash:20140913174118-b769b-3fcb56b59a635c397828b6dd1e35e7c01a55693e.gz
|
|
Ignore-this: 11e85dfe3d24cef88d8d89f4e7b1ec0b
This module provides 3 <XMonad.Prompt> to ease passwords manipulation (generate, read, remove):
- one to lookup passwords in the password-storage.
- one to generate a password for a given password label that the user inputs.
- one to delete a stored password for a given password label that the user inputs.
All those prompts benefit from the completion system provided by the module <XMonad.Prompt>.
The password store is setuped through an environment variable PASSWORD_STORE_DIR.
If this is set, use the content of the variable.
Otherwise, the password store is located on user's home @$HOME\/.password-store@.
Source:
- The password storage implementation is <http://git.zx2c4.com/password-store the password-store cli>.
- Inspired from <http://babushk.in/posts/combining-xmonad-and-pass.html>
darcs-hash:20140829131928-ab0f9-201583ab1cebfed0b77492c080b8a70f7b389eeb.gz
|
|
Ignore-this: 436d18657d8499f4ce57311e84503d9f
darcs-hash:20140815043141-1499c-b2cddf6361798f38a96268718fbdd0810cd1fc43.gz
|
|
Ignore-this: d5de258c0a28cd5ba64a59cf37cd480a
Initial support for the Mate desktop environment (http://mate-desktop.org).
Based on existing Gnome 2 support, since Mate is a maintained fork of
Gnome 2.
darcs-hash:20140803020659-181ff-928c8525cae12676dc77ca7cb299f86421969a40.gz
|
|
Ignore-this: 51f9255b496cca79e4a53e274c400ecc
A set of hooks, and convenience combinators, to help with ManageHook debugging.
Ordinary users may well want to use debugManageHookOn in normal configs,
specifying a key sequence which can be pressed before running a command in
order to capture debug information just for that command's main window.
This is especially useful when trying to diagnose issues such as programs
that do not play well with SpawnOn, or ManageHook matching on 'title' when
the program does not set the window title until after it is mapped.
darcs-hash:20140803020601-181ff-78e3735233c7af1d65d1aa3b2b6dbfead1a987b7.gz
|
|
Ignore-this: cbb2b1d99293e3a4d02a256c2733aeb0
Various fixes and enhancements to DebugWindow and DebugStack. ManageDebug
requires these fixes, but some of them are significant even if not using
ManageDebug.
darcs-hash:20140803020530-181ff-f11b9446cddb31d970d1e227e63ec6ec5a45a0d2.gz
|
|
Ignore-this: c2110d07bccc61462c3fbf73c900aaa1
darcs-hash:20140710163950-1499c-ee7151d0314d7c5f154782c2099a02377311aaf3.gz
|