From javran.c at gmail.com Sun Dec 1 04:09:16 2013 From: javran.c at gmail.com (Javran Cheng) Date: Sat, 30 Nov 2013 23:09:16 -0500 Subject: [xmonad] how to handle "request focus" events properly Message-ID: Hi there, I'm wondering what is the proper way of handling some "request focus" events, I have some scenario here: scenario #1: - I have multiple firefox windows running. one of which has opened a " twitter.com". - I open another firefox window in another workspace, as I'm typing in " twitter.com", firefox gives me an option to "Switch to tab", but when I press enter on it, nothing happens. scenario #2: - I have a pidgin running, I want to click the icon from system tray(for example, trayer) and open the buddy list. - If the buddy list has been opened in somewhere else, nothing will happen as well. I'm not familar with Xlib but I think they might have some events to tell xmonad that a window is requesting the focus, that would be great if I can modify my conf to handle these messages. I'll appreciate it if you can give me some hints. Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From allbery.b at gmail.com Sun Dec 1 04:30:42 2013 From: allbery.b at gmail.com (Brandon Allbery) Date: Sat, 30 Nov 2013 23:30:42 -0500 Subject: [xmonad] how to handle "request focus" events properly In-Reply-To: References: Message-ID: On Sat, Nov 30, 2013 at 11:09 PM, Javran Cheng wrote: > I'm wondering what is the proper way of handling some "request focus" > events, I have some scenario here: > If you have EwmhDesktops configured (including by using XMonad.Config.Desktop as your base config, or one of its descendants such as XMonad.Config.Xfce or XMonad.Config.Gnome) then we handle the EWMH focus request message. Many people do not like it when their browser demands focus (Firefox and Chrome are both happy to demand focus when some other program has focus, instead of only when they are switching focus from one of their windows to another), so we do not force support for the EWMH focus change message by default as this would make it very difficult to turn off. -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From portnov84 at rambler.ru Sun Dec 1 16:59:36 2013 From: portnov84 at rambler.ru (Ilya Portnov) Date: Sun, 01 Dec 2013 22:59:36 +0600 Subject: [xmonad] Two patches for xmonad-contrib: new layout modifier and new "conditional" layout Message-ID: <529B6AF8.2010705@rambler.ru> Hello XMonad world. There are two patches for xmonad-contrib. InRegion is a layout modifier. It runs underlying layout in restricted rectangle region. You specify that region with X,Y coordinates of top-left corner, and width, height of rectangle. All numbers are specified as parts of whole region (e.g., screen dimensions). So, "inRegion 0 0 1 1 someLayout" will just run someLayout as is. "inRegion 0.15 0 0.7 1 Full" will give you 15% margins at left and at right. IfMax layout is a "conditional layout". It runs one layout, if there are as maximum N windows, and otherwise it runs another layout. Example: > ifMax 2 Full (Tall ...) In this example, if there are 1 or 2 windows, Full layout will be used; otherwise, Tall layout will be used. With best regards, Ilya Portnov. -------------- next part -------------- 1 patch for repository http://code.haskell.org/XMonadContrib: Sun Dec 1 13:26:34 YEKT 2013 Ilya Portnov * IfMax-Layout This adds a new ("conditional") layout, IfMax, which simply runs one layout, if there are <= N windows, and else runs another layout. New patches: [IfMax-Layout Ilya Portnov **20131201072634 Ignore-this: dac53f2a0505e740f05fdf03f1db0c21 This adds a new ("conditional") layout, IfMax, which simply runs one layout, if there are <= N windows, and else runs another layout. ] { addfile ./XMonad/Layout/IfMax.hs hunk ./XMonad/Layout/IfMax.hs 1 +----------------------------------------------------------------------------- +-- | +-- Module : XMonad.Layout.IfMax +-- Copyright : (c) 2013 Ilya Portnov +-- License : BSD3-style (see LICENSE) +-- +-- Maintainer : Ilya Portnov +-- Stability : unstable +-- Portability : unportable +-- +-- Provides IfMax layout, which will run one layout if there are maximum N +-- windows on workspace, and another layout, when number of windows is greater +-- than N. +-- +----------------------------------------------------------------------------- + +{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses #-} + +module XMonad.Layout.IfMax + ( -- * Usage + -- $usage + IfMax (..) + , ifMax + ) where + +import Data.Maybe + +import XMonad +import qualified XMonad.StackSet as W + +-- $usage +-- IfMax layout will run one layout if number of windows on workspace is as +-- maximum N, and else will run another layout. +-- +-- You can use this module by adding folowing in your @xmonad.hs@: +-- +-- > import XMonad.Layout.IfMax +-- +-- Then add layouts to your layoutHook: +-- +-- > myLayoutHook = IfMax 2 Full (Tall ...) ||| ... +-- +-- In this example, if there are 1 or 2 windows, Full layout will be used; +-- otherwise, Tall layout will be used. +-- + +data IfMax l1 l2 w = IfMax Int (l1 w) (l2 w) + deriving (Read, Show) + +instance (LayoutClass l1 a, LayoutClass l2 a, Read a, Show a, Eq a, Typeable a) + => LayoutClass (IfMax l1 l2) a where + + runLayout (W.Workspace _ (IfMax n l1 l2) s) rect = arrange (W.integrate' s) + where + arrange [] = do l1' <- maybe l1 id `fmap` handleMessage l1 (SomeMessage ReleaseResources) + l2' <- maybe l2 id `fmap` handleMessage l2 (SomeMessage ReleaseResources) + return ([], Just $ IfMax n l1' l2') + arrange ws | length ws <= n = do + (wrs, ml1') <- runLayout (W.Workspace "" l1 s) rect + let l1' = fromMaybe l1 ml1' + return (wrs, Just $ IfMax n l1' l2) + | otherwise = do + (wrs, ml2') <- runLayout (W.Workspace "" l2 s) rect + let l2' = fromMaybe l2 ml2' + return (wrs, Just $ IfMax n l1 l2') + + description (IfMax n l1 l2) = "If number of windows is <= " ++ show n ++ ", then " ++ + description l1 ++ ", else " ++ description l2 + +-- | Layout itself +ifMax :: (LayoutClass l1 w, LayoutClass l2 w) + => Int -- ^ Maximum number of windows for the first layout + -> l1 w -- ^ First layout + -> l2 w -- ^ Second layout + -> IfMax l1 l2 w +ifMax n l1 l2 = IfMax n l1 l2 + hunk ./xmonad-contrib.cabal 220 XMonad.Layout.Groups.Wmii XMonad.Layout.HintedGrid XMonad.Layout.HintedTile + XMonad.Layout.IfMax XMonad.Layout.IM XMonad.Layout.ImageButtonDecoration XMonad.Layout.IndependentScreens } Context: [fix UrgencyHook and add filterUrgencyHook Adam Vogt **20130924224738 Ignore-this: 3b7c62275701e6758397977c5c09b744 ] [export XMonad.Hooks.UrgencyHook.clearUrgency (issue 533) Adam Vogt **20130923031349 Ignore-this: dafe5763d9abcfa606f5c1a8cf5c57d6 ] [minor documentation fix: manageDocks doesn't do anything with struts, so don't claim it does Daniel Wagner **20130814125106 Ignore-this: a2610d6c1318ac0977abfc21d1b91632 ] [don't pretend to be LG3D in X.C.Dmwit because this confuses modern GTK Daniel Wagner **20130813211636 Ignore-this: 8f728dc1b4bf5e472d99419cc5920e51 ] [XMonad.Actions.UpdatePointer: generalise updatePointer Liyang HU **20130730071007 Ignore-this: 3374a62b6c63dcc152dbf843cd0577f0 ] [XMonad.Actions.UpdatePointer: document TowardsCentre Liyang HU **20130730053746 Ignore-this: 2d684b12e4fff0ebec254bea4a4546a3 ] [Haddock formatting in H.Minimize Adam Vogt **20130723155658 Ignore-this: 5db3186a51dec58f78954466ded339cb ] [Bump version (and xmonad dependency) to 0.12 Adam Vogt **20130720205857 Ignore-this: ce165178ca916223501f266339f1de39 This makes a breakage due to missing patches in core a bit more obvious. Previously you would have a build failure regarding some missing identifiers (def re-exported by XMonad from Data.Default), while after applying this patch it will be clear that xmonad-core needs to be updated. ] [Fix issue 551 by also getting manpath without -g flag. Adam Vogt **20130716030536 Ignore-this: ded2d51eb7b7697c0fdfaa8158d612df Instead of taking Ondrej's approach of figuring out which man (man-db or http://primates.ximian.com/~flucifredi/man/) is used by the system, just try both sets of flags. ] [Escape dzen markup and remove xmobar tags from window titles by default. Adam Vogt **20130708144813 Ignore-this: cf56bff752fbf78ea06d5c0cb755f615 The issue was that window titles, such as those set by, for example a browser, could set the window title to display something like normal title Which could be executed by xmobar (or dzen). This adds a ppTitleSanitize which does the above functions. This way when users override ppTitle, the benefits are not lost. Thanks to Ra?l Benencia and Joachim Breitner for bringing this to my attention. ] [DynamicBars-use-ExtensibleState gopsychonauts at gmail.com**20130618074755 Ignore-this: afacba51af2be8ede65b9bcf9b002a7 Hooks.DynamicBars was previously using an MVar and the unsafePerformIO hack ( http://www.haskell.org/haskellwiki/Top_level_mutable_state ) to store bar state. Since ExtensibleState exists to solve these sorts of problems, I've switched the file over to use unsafePerformIO instead. Some functions' types had to be changed to allow access to XState, but the public API is unchanged. ] [Catch exceptions when finding commands on PATH in Prompt.Shell Thomas Tuegel **20130616230219 Ignore-this: 5a4d08c80301864bc14ed784f1054c3f ] [Fix haddock parse error in X.A.LinkWorkspaces Adam Vogt **20130528133448 Ignore-this: 42f05cf8ca9e6d1ffae3bd20666d87ab ] [use Data.Default wherever possible, and deprecate the things it replaces Daniel Wagner **20130528013909 Ignore-this: 898458b1d2868a70dfb09faf473dc7aa ] [eliminate references to defaultConfig Daniel Wagner **20130528005825 Ignore-this: 37ae613e4b943e99c5200915b9d95e58 ] [minimal change needed to get xmonad-contrib to build with xmonad's data-default patch Daniel Wagner **20130528001040 Ignore-this: 291e4f6cd74fc2b808062e0369665170 ] [Remove unneeded XSync call in Layout.ShowWName Francesco Ariis **20130517153341 Ignore-this: 4d107c680572eff464c8f6ed9fabdd41 ] [Remove misleading comment: we definitely don't support ghc-6.6 anymore Adam Vogt **20130514215851 Ignore-this: 2d071cb05709a16763d039222264b426 ] [Fix module name in comment of X.L.Fullscreen Adam Vogt **20130514215727 Ignore-this: cb5cf18c301c5daf5e1a2527da1ef6bf ] [Minor update to cabal file (adding modules & maintainership) Adam Vogt **20130514215632 Ignore-this: 82785e02e544e1f797799bed5b5d9be2 ] [Remove trailing whitespace in X.A.LinkWorkspaces Adam Vogt **20130514215421 Ignore-this: 5015ab4468e7931876eb66b019af804c ] [Update documentation of LinkWorkspaces Module quesel at informatik.uni-oldenburg.de**20110328072813 Ignore-this: da863534931181f551c9c54bc4076c05 ] [Added a module for linking workspaces quesel at informatik.uni-oldenburg.de**20110210165018 Ignore-this: 1dba2164cc3387409873d33099596d91 This module provides a way to link certain workspaces in a multihead setup. That way, when switching to the first one the other heads display the linked workspaces. ] [Cache results from calcGap in ManageDocks Adam Vogt **20130425155811 Ignore-this: e5076fdbdfc68bc159424dd4e0f14456 http://www.haskell.org/pipermail/xmonad/2013-April/013670.html ] [Remove unnecessary contexts from L.MultiToggle Adam Vogt **20130217163356 Ignore-this: 6b0e413d8c3a58f62088c32a96c57c51 ] [Generalises modWorkspace to take any layout-transforming function gopsychonauts at gmail.com**20130501151425 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. ] [since XMonad.Config.Dmwit mentions xmobar, we should include the associated .xmobarrc file Daniel Wagner **20130503194055 Ignore-this: 2f6d7536df81eb767262b79b60eb1b86 ] [warning police Daniel Wagner **20130502012700 Ignore-this: ae7412ac77c57492a7ad6c5f8f50b9eb ] [XMonad.Config.Dmwit Daniel Wagner **20130502012132 Ignore-this: 7402161579fd2e191b60a057d955e5ea ] [minor fixes to the haddock markup in X.L.IndependentScreens Daniel Wagner **20130411193849 Ignore-this: b6a139aa43fdb39fc1b86566c0c34c7a ] [add whenCurrentOn to X.L.IndependentScreens Daniel Wagner **20130408225251 Ignore-this: ceea3d391f270abc9ed8e52ce19fb1ac ] [Allow to specify the initial gaps' states in X.L.Gaps Paul Fertser **20130222072232 Ignore-this: 31596d918d0050e36ce3f64f56205a64 ] [should bump X11 dependency, too, to make sure we have getAtomName Daniel Wagner **20130225180527 Ignore-this: 260711f27551f18cc66afeb7b4846b9f ] [getAtomName is now defined in the X11 library Daniel Wagner **20130225180323 Ignore-this: 3b9e17c234679e98752a47c37132ee4e ] [Allow to limit maximum row count in X.Prompt completion window Paul Fertser **20130221122050 Ignore-this: 923656f02996f2de2b1336275392c5f9 On a keyboard-less device (such as a smartphone), where one has to use an on-screen keyboard, the maximum completion window height must be limited to avoid overlapping the keyboard. ] [Note in U.NameActions that xmonad core can list default keys now Adam Vogt **20130217233026 Ignore-this: 937bff636fa88171932d5192fe8e290b ] [Export U.NamedActions.addDescrKeys per evaryont's request. Adam Vogt **20130217232619 Ignore-this: a694a0a3ece70b52fba6e8f688d86344 ] [Add EWMH DEMANDS_ATTENTION support to UrgencyHook. Maarten de Vries **20130212181229 Ignore-this: 5a4b314d137676758fad9ec8f85ce422 Add support for the _NET_WM_STATE_DEMANDS_ATTENTION atom by treating it the same way as the WM_HINTS urgency flag. ] [Unconditionally set _NET_WORKAREA in ManageDocks Adam Vogt **20130117180851 Ignore-this: 9f57e53fba9573d8a92cf153beb7fe7a ] [spawn command when no completion is available (if alwaysHighlight is True); changes commandToComplete in Prompt/Shell to complete the whole word instead of using getLastWord c.lopez at kmels.net**20130209190456 Ignore-this: ca7d354bb301b555b64d5e76e31d10e8 ] [order-unindexed-ws-last matthewhague at zoho.com**20120703222726 Ignore-this: 4af8162ee8b16a60e8fd62fbc915d3c0 Changes the WorkspaceCompare module's comparison by index to put workspaces without an index last (rather than first). ] [SpawnOn modification for issue 523 Adam Vogt **20130114014642 Ignore-this: 703f7dc0f800366b752f0ec1cecb52e5 This moves the function to help clean up the `Spawner' to the ManageHook rather than in functions like spawnOn. Probably it makes no difference, the reason is because there's one manageSpawn function but many different so this way there are less functions to write. ] [Update L.TrackFloating.useTransient example code Adam Vogt **20130112041239 Ignore-this: e4e31cf1db742778c1d59d52fdbeed7a Suggest useTransient goes to the right of trackFloating which is the configuration actually tested. ] [Adapt ideas of issue 306 patch to a new modifier in L.TrackFloating Adam Vogt **20130112035701 Ignore-this: d54d27b71b97144ef0660f910fd464aa ] [Make X.A.CycleWS not rely on hidden WS order Dmitri Iouchtchenko **20130109023328 Ignore-this: 8717a154b33253c5df4e9a0ada4c2c3e ] [Add X.H.WorkspaceHistory Dmitri Iouchtchenko **20130109023307 Ignore-this: c9e7ce33a944facc27481dde52c7cc80 ] [Allow removing arbitrary workspaces Dmitri Iouchtchenko **20121231214343 Ignore-this: 6fce4bd3d0c5337e5122158583138e74 ] [Remove first-hidden restriction from X.A.DynamicWorkspaces.removeWorkspace' Dmitri Iouchtchenko **20121231214148 Ignore-this: 55fb0859e9a5f476a834ecbdb774aac8 ] [Add authorspellings file for `darcs show authors'. Adam Vogt **20130101040031 Ignore-this: c3198072ebc6a71d635bec4d8e2c78fd This authorspellings file includes a couple people who've contributed to xmonad (not XMonadContrib). When people have multiple addresses, the most recent one has been picked. ] [TAG 0.11 Adam Vogt **20130101014231 Ignore-this: 57cf32412fd1ce912811cb7fafe930f5 ] [bump cabal-version to satsify hackage Adam Vogt **20130101014159 Ignore-this: 1dd69577a60bae63362a42022764e5fd ] [bump version to 0.11 Adam Vogt **20121231104252 Ignore-this: 8c57d0f366509655d0473adf802eb1ce ] [Add more metadata to cabal file Adam Vogt **20121231184513 Ignore-this: b7767194e905f2bbd918bb0d371f281 ] [X.A.Workscreen make the whole module description show up for haddock Adam Vogt **20121231024600 Ignore-this: a2ac895989090322a849695068f812b5 ] [Note that an alternative to XMonad.Actions.ShowText is X.U.Dzen Adam Vogt **20121231023042 Ignore-this: ae6476e5d33a559fd8503c44413311b8 ] [Add X.A.DynamicWorkspaces.renameWorkspaceByName. Dmitri Iouchtchenko **20121227063531 Ignore-this: 4b8aa0405de3969000b1a78eb12992 ] [Change type of X.A.ShowText.handleTimerEvent so example code typechecks. Adam Vogt **20121226013841 Ignore-this: 3c58a9ff124ab02325df6f38e0eaec05 ] [Describe arguments for X.A.ShowText.flashText Adam Vogt **20121226013725 Ignore-this: 7f00a11196115ebf814c616aaf8e96f ] [Add XMonad.Actions.ShowText pastorelli.mario at gmail.com**20121225202635 Ignore-this: 5f4818f7ec9ad37df58e73d4bb8b5590 ] [Record polachok's fix for issue 507 Adam Vogt **20121216182724 Ignore-this: 13743d035e50f642de017c3304f914e ] [Removes unused function spawnWithActions and redundant imports in XMonad.Actions.Launcher c.lopez at kmels.net**20121215223714 Ignore-this: 76d7ac195e186b491968a548a13889c ] [A.Launcher markup identifiers for haddock links Adam Vogt **20121215165914 Ignore-this: 2fd3fa1dd4e00d573dd359a4b6a7291b ] [Address warnings from Debug modules Adam Vogt **20121215165525 Ignore-this: f97416ae4feffe4e5f9916d14d9e1524 The warnings were related to ghc-7.6 removing Prelude.catch (triggering warnings regarding the import hiding it), as well as defaulting of some numeric types. ] [Removes LocateMode and LocateRegexMode from XMonad.Actions.Launcher c.lopez at kmels.net**20121214211230 Ignore-this: b8ad32f23f15368a94202f9ad73995f2 ] [debug-hooks allbery.b at gmail.com**20120813223821 Ignore-this: 7f41c93fdd6643c687598d2fe07aad5d Hooks to print diagnostic information to stderr (usually .xsession-errors) to help debug complex issues involving the StackSet and received events. ] [Remove trailing whitespace. Adam Vogt **20121109014156 Ignore-this: 72e3afb6e6df47c51262006601765365 ] [Use Control.Exception.catch explitly to avoid warnings Adam Vogt **20121109013506 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. ] [Add missing type signatures. Adam Vogt **20121109012752 Ignore-this: f54f5d9907ae48d58c98de7f8eb1f8a For whatever reason, some patches applied were missing these signatures. While haddock has been able to include inferred signatures for a while, including type signatures makes it easier to see if and when types have been changed. ] [Rename variables "state" to avoid warnings about shadowing Adam Vogt **20121109012316 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) ] [Rename variable in L.Minimize to avoid shadowing. Adam Vogt **20121109003410 Ignore-this: b46d3e8e0d4106cea6966116be386677 This "state" is new with a newer mtl. ] [Gut H.ICCCMFocus: issue 177 has been merged in core. Adam Vogt **20121108225716 Ignore-this: 937fe7f514ea6e36ee529e055e100e7f Keep the module for now: the LG3D bit might still be useful and there's no need to break configs unnecessarily. ] [ewmh-eventhook-custom pastorelli.mario at gmail.com**20120816153032 Ignore-this: 95176f6d955d74321c28caafda63faa0 Add ewmhDesktopsEventHookCustom, a generalized version of ewmhDesktopsEventHook that takes a sort function as argument. This sort function should be the same used by the LogHook. ] [Added smart spacing to the spacing module daedalusinfinity at gmail.com**20120923034527 Ignore-this: 9104bc8feb832f63f2f18998c0f7ba92 Added smart spacing to the spacing module, which adds spacing to all windows, except to windows on singleton workspaces. ] [Improves haddock documentation c.lopez at kmels.net**20120826091716 Ignore-this: a0ce4838652acfff7922c111e4d879bb ] [Improve comments, add an error throw that shouldn't happen c.lopez at kmels.net**20120826085426 Ignore-this: 7675070826b3c53499e4352e692d6036 ] [fix a bug when ncompletions = nrows c.lopez at kmels.net**20120826083137 Ignore-this: 5f573028318473c333809217c271a81d ] [Fixes typos in Actions.Launcher haddock documentation c.lopez at kmels.net**20120811112502 Ignore-this: f8152c0ad59d2b0cc9a6c9061e83aaf0 ] [Correctly get the autocompletion item when alwaysHighlight in XMonad.Prompt is True c.lopez at kmels.net**20120811104805 Ignore-this: fa2600df210c7d3472a797f19fb31a7 ] [Removes warnings, adds a browser value for LauncherConfig in haddock comments c.lopez at kmels.net**20120628114533 Ignore-this: 2610cf63594db3df61bac52f3d8f5836 ] [Changes on XPrompt: c.lopez at kmels.net**20120628101749 Ignore-this: 2384f5c1b886716b3d9785877c2e32f9 * Adds mkPromptWithModes, creates a prompt given a list of modes (list of XPType). * Adds Setting `alwaysHighlight` to defaultXPConfig. When set to true, autocompletion always highlight the first result if it is not highlighted. Adds module XMonad.Actions.Launcher. This module allows to combine and switch between instances of XPrompt. It includes a default set of modes which require the programs `hoogle`, `locate` and `calc` to be installed to work properly. ] [accept more windows as docks Daniel Wagner **20120823124153 Ignore-this: 21d9b406c7e39cca2cc60331aab04873 ] [strip newlines from dmenu's returns to be compatible with the newest version of dmenu longpoke at gmail.com**20120723212807 Ignore-this: 3b11a35125d0bc23b33e0b926562f85a ] [A workscreen permits to display a set of workspaces on several kedals0 at gmail.com**20120706093308 Ignore-this: 572ed3c3305205bfbcc17bb3fe2600a3 screens. In xinerama mode, when a workscreen is viewed, workspaces associated to all screens are visible. The first workspace of a workscreen is displayed on first screen, second on second screen, etc. Workspace position can be easily changed. If the current workscreen is called again, workspaces are shifted. This also permits to see all workspaces of a workscreen even if just one screen is present, and to move windows from workspace to workscreen. ] [refer to the new name 'handleEventHook' instead of the old name 'eventHook' in X.L.Fullscreen documentation Daniel Wagner **20120618181003 Ignore-this: bd3b26c758cf3993d5a93957bb6f3663 ] [UrgencyHooks made available as Window -> X () functions gopsychonauts at gmail.com**20120504062339 Ignore-this: 6a57cae1d693109b7e27c6471d04f50f Adds an UrgencyHook instance for the type Window -> X (), allowing any such functions to be used directly as UrgencyHooks. The Show and Read constraints were removed from the UrgencyHook class in order to permit this; these constraints were required only in a historical implementation of the module, which used a layout modifier. All existing configurations using UrgencyHooks should remain fully functional. New configs may make use of this modification by declaring their UrgencyHook as a simple Window -> X () function. ] [updates to XMonad.Prompt re: word-oriented commands Brent Yorgey **20120510174317 Ignore-this: 138b5e8942fe4b55ad7e6ab24f17703f + change killWord and moveWord to have emacs-like behavior: first move past/kill consecutive whitespace, then move past/kill consecutive non-whitespace. + create variants killWord' and moveWord' which take a predicate specifying non-word characters. + create variants defaultXPKeymap' and emacsLikeXPKeymap' which take the same sort of predicate, which is applied to all keybindings with word-oriented commands. ] [Added isUnfocusedOnCurrentWS and fadeInactiveCurrentWSLogHook for better support of fading/opacity on multi monitor setups Jesper Reenberg **20120329141818 Ignore-this: d001a8aafbcdedae21ccd1d18f019185 ] [Fixed X.A.GridSelect to be consistent in the way it (now) sorts the shown Jesper Reenberg **20120501180415 Ignore-this: 1d0991f9fb44e42f5d1c5a4f427ea661 elements when modifying the searchString. The implemented ordering sorts based on how "deep the needle is in the haystack", meaning that searching for "st" in the elements "Install" and "Study" will order them as "Study" and "Install". Previously there was no ordering and when using GridSelect to select workspaces, the ordering was not consistent, as the list of workspaces (if not modified manually) is ordered by last used. In this case either "Study" or "Install" would come first depending on which workspace was last visited. ] [Use getXMonadDir to get the default xmonad directory. Julia Jomantaite **20120501121427 Ignore-this: a075433761488b76a58a193aeb4e4a25 ] [Minor haddock formatting for X.L.OnHost and X.A.DynamicWorkspaceOrder Adam Vogt **20120428194552 Ignore-this: 843ec567e249cc96d51ca931f1e36514 ] [Remove trailing whitespace. Adam Vogt **20120428194048 Ignore-this: d61584110954e84d3611ef3497a29725 ] [Add emacs-like keys to browse history in XMonad.Prompt Carlos Lopez-Camey **20120421110737 Ignore-this: b90345f72007d09a6b732b974c0faf79 ] [Adds an emacs-like Keymap in XMonad.Prompt Carlos Lopez-Camey **20120421012335 Ignore-this: f281b8ad01f3d21055e2d6de79af2d79 ] [add 'withNthWorkspace' to DynamicWorkspaceOrder. jakob at pipefour.org**20120407184640 Ignore-this: f5f87ffe9ddf1a12fab775e6fb8e856f Note this is very similar to the function of the same name exported by DynamicWorkspaces. Ultimately it would probably be cleaner to generalize the one in DynamicWorkspaces to accept an arbitrary workspace sort as a parameter; this is left as an exercise for future hackers. ] [XMonad.Layout.OnHost allows host-specific modifications to a layout, which allbery.b at gmail.com**20120320030912 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. ] [Bump version to 0.10.1 Adam Vogt **20120320005311 Ignore-this: f0608ffaa877f605eaa86c45a107a14d Raising the X11 dependency while keeping the xmonad version the same leads to problems where cabal install uses the dependency versions following hackage, not what is installed. ] [narrower BorderResize rectangles placed within border edges Jens Petersen **20120314064703 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. ] [add-dynamic-bars-module Ben Boeckel **20120316002204 Ignore-this: 41347c8f894d8d0b5095dfad86784cf4 This adds the X.H.DynamicBars module. It allows per-screen status bars to be easily managed and dynamically handles the number of screens changing. ] [bump X11 dependency so that noModMask is available Daniel Wagner **20120316000302 Ignore-this: 971a75dcad25f66848eef4174cd4ddd1 ] [Paste.hs: rm noModMask, shifted definition to X11 binding (see previous email) gwern0 at gmail.com**20111203203038 Ignore-this: dcd164ff8f8f135c8fdef08f42f9244d ] [GroupNavigation: fix import typo in usage Jens Petersen **20120312103349 Ignore-this: 65367218ca50a33a37813469b4616f34 ] [add sendToEmptyWorkspace to FindEmptyWorkspace Jens Petersen **20120312102331 Ignore-this: 50e7992d80d2db43e4d0adf5c95e964f sendToEmptyWorkspace is like tagToEmptyWorkspace except it does not change workspace after moving the window. ] [xmonad-contrib.cabal: simplify xmonad dependency to >=0.10 && < 0.11 Jens Petersen **20120312101800 Ignore-this: 1ff5a0caa2a1e3487e9a0831e385b3d2 Unless there is a particular reason for listing the lower and upper bounds separately then this seems simpler and cleaner. ] [ShowWName: Increase horizontal padding for flash crodjer at gmail.com**20120305164517 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. ] [persist-togglehook-options Ben Boeckel **20120311050143 Ignore-this: 580bacb35b617c1198f01c5a7c0d3fef Save the state of ToggleHook options over a restart. ] [ShowWName flash window background color Rohan Jain **20120306065224 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. ] [ShowWName: Fix flash location by screen rectangle crodjer at gmail.com**20120305161240 Ignore-this: 83ec4cce2297efc6736a1fe55f44ee73 In case of using this hook with multiple monitors, the Tag flash was not following the screen's coordinates. This patch shifts the new window created for flash according to the Rectangle defined by the screen. ] [Fix typo in tabbed layout link for font utils docs crodjer at gmail.com**20120229070022 Ignore-this: 2f7e90269e08ce08264d7b1d05bb16f9 ] [L.WorkspaceDir: cleanup redundant {definitions,imports} Steffen Schuldenzucker **20120229112124 Ignore-this: 7a796b18a64e693e071e9ea3a6a01aa3 ] [fix L.WorkspaceDir special char handling: remove "echo -n" processing Steffen Schuldenzucker **20120227122004 Ignore-this: ab48687eb4c9018312089a13fd25ecd8 ] [Add BorderUrgencyHook to XMonad.Hooks.UrgencyHook allbery.b at gmail.com**20120225082616 Ignore-this: 9fac77914ff28a6e9eb830e8c9c7e21e BorderUrgencyHook is a new UrgencyHook usable with withUrgencyHook or withUrgencyHookC; it allows an urgent window to be given a different border color. This may not always work as intended, since UrgencyHook likes to assume that a window being visible is sufficient to disable urgency notification; but with suppressWhen = Never it may work well enough. There is a report that if a new window is created at the wrong time, the wrong window may be marked urgent somehow. I seem to once again be revealing bugs in underlying packages, although a quick examination of X.H.UrgencyHook doesn't seem to show any way for the wrong window to be selected. ] [Adding use case for namedScratchpad. nicolas.dudebout at gatech.edu**20120122235843 Ignore-this: 44201e82bcd708cd7098f060345400f1 ] [Actions.WindowGo: typo fix - trim 's' per cub.uanic https://code.google.com/p/xmonad/issues/detail?id=491 gwern0 at gmail.com**20120116224244 Ignore-this: fb1d55c1b4609069c55f13523c091260 ] [XMonad.Actions.PhysicalScreens: fix typo spotted by Chris Pick gwern0 at gmail.com**20120115223013 Ignore-this: eb73b33b07dc58a36d3aa00bc8ac31c2 ] [roll back previous incorrect fix Daniel Wagner **20120111214133 Ignore-this: 91496faef411e6ae3442498b528d119b ] [Extending: fix http://code.google.com/p/xmonad/issues/detail?id=490 gwern0 at gmail.com**20120111211907 Ignore-this: 515afbed507c070d60ab547e98682f12 ] [another documentation patch: XMonadContrib.UpdatePointer -> XMonad.Actions.UpdatePointer Daniel Wagner **20120111211226 Ignore-this: 1444e4a3f20ba442602ef1811d0b32c7 ] [documentation patch, fixes issue 490 Daniel Wagner **20120111210832 Ignore-this: 8d899e15f9d1a657e9fc687e2f649f45 ] [X.H.EwmhDesktops note that fullscreenEventHook is not included in ewmh Adam Vogt **20120102211404 Ignore-this: 92f15fa93877c165158c8fbd24aa2360 Just a documentation fix (nomeata's suggestion at issue 339). ] [X.H.EwmhDesktops haddock formatting. Adam Vogt **20120102211203 Ignore-this: cfff985e4034e06a0fe27c52c9971901 ] [X.A.Navigation2D Norbert Zeh **20111208205842 Ignore-this: 3860cc71bfc08d99bd8279c2e0945186 This is a new module to support directional navigation across multiple screens. As such it is related to X.A.WindowNavigation and X.L.WindowNavigation, but it is more general. For a detailed discussion of the differences, see http://www.cs.dal.ca/~nzeh/xmonad/Navigation2D.pdf. ] [documentation patch: mention PostfixOperators Daniel Wagner **20111210234820 Ignore-this: 20a05b1f396f18a742346d6e3daea9a8 ] [P.Shell documentation and add missing unsafePrompt export Adam Vogt **20111207163951 Ignore-this: a03992ffdc9c1a0f5bfa6dafc453b587 Haddock (version 2.9.2 at least) does not attach documentation to any of a b or c when given: -- | documentation a,b,c :: X ] [Paste: 3 more escaped characters from alistra gwern0 at gmail.com**20111129160335 Ignore-this: 46f5b86a25bcd2b26d2e07ed33ffad68 ] [unfuck X.U.Paste Daniel Wagner **20111129032331 Ignore-this: d450e23ca026143bb6ca9d744dcdd906 ] [XMonad.Util.Paste: +alistra's patch for fixing his pasting of things like email address (@) gwern0 at gmail.com**20111128215648 Ignore-this: 4af1af27637fe056792aa4f3bb0403eb ] [XMonad.Util.Paste: rm myself from maintainer field; I don't know how to fix any of it even if I wanted gwern0 at gmail.com**20111128213001 Ignore-this: 87a4996aaa5241428ccb13851c5eb455 ] [XMonad.Prompt.Shell: improve 'env' documentation to cover goodgrue's problem gwern0 at gmail.com**20111127231507 Ignore-this: 7b652a280960cbdf99c236496ca091b0 ] [Fix spelling 'prefered' -> 'preferred'. Erik de Castro Lopo **20111125010229 Ignore-this: f2eac1728b5e023399188becf867a14d ] [Restore TrackFloating behavior to an earlier version. Adam Vogt **20111120045538 Ignore-this: 1a1367b4171c3ad23b0553766021629f Thanks for liskni_si for pressing the matter: without this change it is very broken, with the patch it is still not perfect but still useful. ] [Explicitly list test files in .cabal Adam Vogt **20111118232511 Ignore-this: ac48a0d388293cc6c771d676aaf142e3 In the future, require Cabal >= 1.6 to be able to just write tests/*.hs ] [TAG 0.10 Adam Vogt **20111118225640 Ignore-this: 8f81b175b902e985d584160fc41ab7d1 ] [Export types to improve haddock links. Adam Vogt **20111118190642 Ignore-this: 254c5a6941009701dc444043b0eeace5 ] [Better control over GridVariants geometry nzeh at cs.dal.ca**20110907133304 Ignore-this: 59da789a28f702595159eeb6ddd30fd9 Added new messages the layout understands to allow changing the grid aspect ratio and setting the fraction of the master to a given value rather than changing it relative to the current value. ] [Support for scratchpad applications with multiple windows Norbert Zeh **20110406140213 Ignore-this: 4c7d5f2ff95292438464e0b1060ab324 I recently found that I use xpad to add sticky notes to my desktop. I wanted to be able to show/hide these in the same fashion as regular scratchpads. This patch adds a function that allows to do this while reusing most of the existing NamedScratchpad code. ] [Additional messages for SplitGrid layout Norbert Zeh **20091215192142 Ignore-this: eb945168d1c420e5a9ed87da12a7acf8 This patch introduces two new message SetMasterRows and SetMasterCols for the X.GridVariants.SplitGrid layout, which set the number of rows/columns in the master grid to the given value. This is useful when setting the number of rows and/or columns non-incrementally using an interface such as GridSelect. ] [Be consistent with core utf8-string usage. Adam Vogt **20111118184745 Ignore-this: 9de0599d0fb888c58e11598d4de9599e Now that spawn assumes executeFile takes a String containing utf8 codepoints (and takes an actual String as input) adjust Prompt.Shell to avoid double encoding. U.Run functions are updated to be consistent with spawn. ] [Export types to reduce haddock warnings. Adam Vogt **20101023195755 Ignore-this: 1cac9202784711ce0fc902d14543bab0 ] [documentation patch: note the drawbacks of X.U.Dmenu Daniel Wagner **20111115022726 Ignore-this: 97f9676ca075a6f96e090045886083ca ] [get ready for GHC 7.4: Num a no longer implies (Eq a, Show a) Daniel Wagner **20111115022650 Ignore-this: faa34d69ddd27b98c6507740b42c9e97 ] [Correct completions of utf8-named file in X.P.Shell Adam Vogt **20111111215655 Ignore-this: 9aa10143f313b06afdb11e61777a7d20 ] [Expose X.L.Groups.Helpers and Groups.Wmii in xmonad-contrib.cabal Wirt Wolff **20111104053703 Ignore-this: fd50e32f61af64b9e53701787cebcd97 They provide many useful exports and are linked from X.L.Groups so promote them from other-modules or missing status. ] [Small bugfix to XMonad.Layout.Fullscreen Audun Skaugen **20111023102940 Ignore-this: adcfedf11b40be2cdd61f615551e0ae Fixed a small bug in the layout modifers where windows entering fullscreen were not refreshed. Also fixed some funny whitespace characters. ] [documentation patch: add a bit more context to the code snippets in X.L.IndependentScreens Daniel Wagner **20111011204619 Ignore-this: cbb03927204aa3c01aa9bea067d37bce ] [U.EZConfig allow removing more than one mouse binding. Adam Vogt **20110923123907 Ignore-this: 6f32ef805566f03977ea5c0fe0ace958 ] [Remove X.A.GroupNavigation.currentWindow Norbert Zeh **20110920083922 Ignore-this: 4b202a9c9e3a13c5e34862784ea4acfa This function does the same as X.StackSet.peek and all its uses have been replaced with X.StackSet.peek. ] [Fix typo in NoBorders example code. Adam Vogt **20110814195314 Ignore-this: 3ad6aaf287962bfce707b2324de91eec ] [Add XF86TouchpadToggle to the list of multimedia keys in X.U.EZConfig Daniel Schoepe **20110917151419 Ignore-this: 84986d5b16c54199a589ed68842f5191 ] [documentation patch to XMonad.Doc.Extending Daniel Wagner **20110916202845 Ignore-this: 77998915c337590f127fd4a4b6029029 ] [fix warnings in X.U.EZConfig Brent Yorgey **20110908133246 Ignore-this: 5322d61eaf30b13e68a5674f8ac7084d ] [X.A.CycleWS Refactor and add toggleWS' that excludes listed tags Wirt Wolff **20110907232730 Ignore-this: bec03fcb6aa16452d3a0425d156823a4 ] [X.A.FlexibleManipulate: Set expected fixities for Pnt math operators Wirt Wolff **20110904221247 Ignore-this: 9ae239c4120eae866983ecfe5cc59894 Restores broken mouseWindow discrete linear and resize to 0.9.1 behavior ] [GHC 7 compat Daniel Wagner **20110731170850 Ignore-this: 17a43a709e70ebccc925e016d7057399 * true error: more modules export foldl/foldl'/foldr, so explicitly use the Data.Foldable one * -Werror error: transition from Control.OldException to Control.Exception, assuming everything was IOException ] [Correct H.DynamicLog.dynamicLogXinerama comment. Wuzzeb's patch at issue 466. Adam Vogt **20110714231741 Ignore-this: 8434fe4c740fc06b5b17f016e28e0376 Slight changes to the patch to 1. work with haddock, and 2. remove ppOutput which distracts from the formatting and is covered elsewhere. ] [ungrab-keyboard-before-action Ben Boeckel **20110515210312 Ignore-this: 5b8f3c286e8231a4d7ade2acbb2ae84a If an action that requires the keyboard to be grabbed (e.g., launching dmenu), it is a race when submapping the action as to whether the action will have access to the keyboard or not. To fix this, the keyboard should be ungrabbed before executing the action. ] [add-movenext-moveprev-bindings Ben Boeckel **20110515193326 Ignore-this: 2ad1ce1de0c2954b2946551dd62e6b3b Adds default bindings to GridSelect for the moveNext and movePrev motions. ] [X.L.LayoutHints: refresh only if hints are not satisfied Tomas Janousek **20110615150333 Ignore-this: e081f5fbd6a721e260212548d830ff6b ] [L.Spacing use imported fi Adam Vogt **20110612192339 Ignore-this: ac3b405e8c43d1b1db58ecf80fafab8e ] [Use a phantom type instead of undefined in L.LayoutBuilderP Adam Vogt **20110609051858 Ignore-this: f9009c339ac20245ca0b1dc8154b673f This better expresses the idea that the argument to alwaysTrue is just there to select an instance. Another option could be to do use a fundep, which seems to be compatible with the two instances so far. class Predicate p w | p -> w ] [Add more L.LayoutBuilderP documentation Adam Vogt **20110609050922 Ignore-this: 1441d917c84b165f30711e572e239392 ] [Correct L.LayoutBuilderP module name in haddock. Adam Vogt **20110609043940 Ignore-this: 3c322c0767969fa42b1e2c32cf3f8a1a ] [Extend script for generating the code which runs tests Adam Vogt **20110609040722 Ignore-this: 44ebbee2683f50bc0728458f4babcce Now the number of runs each can be set, and the failures and successes are summarized in the same way as the core Properties.hs. There is some duplicated code which could be avoided by modifying Properties.hs. ] [Move tests from ManageDocks to tests/ Adam Vogt **20110609040220 Ignore-this: 31d51fae83d88e15cdb69f29da003bf7 The change to use a newtype for RectC is kind of ugly, but this way instances are less likely to conflict in the tests. ] [Export X.A.CycleWS.screenBy (issue 439) Adam Vogt **20110607002053 Ignore-this: 2eaa2a852a3356f6163c4d38f72e730f ] [X.H.FloatNext: export X.H.ToggleHook.runLogHook Tomas Janousek **20110528191700 Ignore-this: 5fd923e800a1a3f0977f126df7882c54 Otherwise the user has to import XMonad.Hooks.ToggleHook as well, which he didn't have to in earlier versions. ] [Documentation fix (issue 445) Adam Vogt **20110527033521 Ignore-this: c73b88f9567af86bd560b911e33da301 Daniel's change which broke -Wall (adding an import for haddock only) was somehow removed. Instead we can just modify the sample code to add the import. ] [X.A.AppendFile documentation fix. Adam Vogt **20110527032854 Ignore-this: 1ee126ddba1b06d07fba86ca43f74ab8 Forgotten > means haddock complained (and generated incorrect output). More controversially I reworded a sentence and use do notation. ] [add-willhook-function Ben Boeckel **20110515191718 Ignore-this: 9db50eec5b91baa973b4a92c72aeceaf Adds a function that hooks into whether the hook will be triggered on the next request. ] [use-map-in-toggle-hook Ben Boeckel **20110515191418 Ignore-this: 2bf69aa1a875e7ef1748a5ab51b33daa Use "Data.Map String (Bool, Bool)" instead of "[(String, (Bool, Bool))]" in X.H.ToggleHook. ] [Extend GridSelect navigation Ilya Portnov **20110515154246 Ignore-this: f2d279b8e46e6eaf3477fdc5cf77be63 Add moveNext and movePrev, which move selection to next/previous item. ] [Generalize X.L.AutoMaster modifier Ilya Portnov **20110514132549 Ignore-this: 481c35dd721405bab8b085c45cb983ce Enable it to work not only with Windows, but with any (Eq) type. ] [Cleanup in X.L.LayoutBuilderP. Ilya Portnov **20110514132232 Ignore-this: 59d9ce37218424e1bc225a42d71982ab Remove unused datatype declaration and export usefull typeclass. ] [Aesthetics on Flexiblemanipulate Mats Rauhala **20110506094431 Ignore-this: 8864c1ba9723ebcc3b183ea9d636a203 Based on Adam Vogts recommendation on the mailing list. I had to give explicit type signatures to get rid of warnings, but nearly verbatim to his version. ] [Compile with ghc7 Mats Rauhala **20110504192455 Ignore-this: 218d2e19835f1e4315c01bd6214899ce ] [Add new layout combinator: LayoutBuilderP. Ilya Portnov **20110511154010 Ignore-this: 377b748cb6b84ef7c9f7cde1d4ebd535 LayoutBuilderP is similar to LayoutBuilder (and is based on it), but LayoutBuilderP places windows matching given X.U.WindowProperties.Property (or any other predicate) into one rectangle, instead of fixed number of windows. ] [Action search autocomplete based on whole line Mats Rauhala **20110504215201 Ignore-this: 869cf6954be97ea05cbcf7457ab430b7 The previous version autocompleted based on words, but when searching from web sites, it makes more sense to autocomplete based on the entire search. ] [documentation: tell where to find a few auxiliary functions that might be useful in conjunction with X.A.DynamicWorkspaces Daniel Wagner **20110415224846 Ignore-this: 1bd2232081ba045582d230b632c5bd08 ] [Typo in window-properties.sh Brandon S Allbery KF8NH **20110413053002 Ignore-this: 4b3d4ef6ba7229f11d93b3cf66055698 Somewhere between my creating the original version of this script and adding it to the tree, a backslash got lost. It appears to have been lost in the version I put on the wiki, so I suspect a copy-paste problem at that point. ] [XMonad.Hooks.FadeWindows: A generalized window fading hook Brandon S Allbery KF8NH **20110226002436 Ignore-this: f21d1085ecca26602631f46c45bc198b ] [Script to simplify getting ManageHook information from a window Brandon S Allbery KF8NH **20110224024937 Ignore-this: ef0e0089dca94c7c2321f791d5d7ffe ] [XMonad/Hooks/DebugKeyEvents - debug helper to see what keys xmonad sees Brandon S Allbery KF8NH **20110224023613 Ignore-this: 5a6a99b7fcc31236152a82aa9c2cda16 ] [Prevent non-default XUtils windows from being composited Brandon S Allbery KF8NH **20110224003224 Ignore-this: 41a67b8504c412e2754085eb0038f416 ] [XMonad.Hooks.FloatNext: issue #406, make FloatNext use ToggleHook gwern0 at gmail.com**20110412015217 Ignore-this: d06aecd03be0cbd507d3738dfde6eee7 ] [issue #406: ben boeckel +XMonad.Hooks.ToggleHook gwern0 at gmail.com**20110412015127 Ignore-this: 125891614da94a5ac0e66e39932aa17e ] [Fix xinerama workspace swapping with A.CopyWindow.killAllOtherCopies Adam Vogt **20110301033736 Ignore-this: de5727d1248d94447c4634a05a90d1cc Spotted by arlinius in #xmonad, and this only shows up for xinerama setups. Using an algorithm that scales better with number of workspaces would probably be shorter too (visiting them in turn, rather than doing random access), but probably not worth the effort. ] [XMonad.Util.Run: resolve issue #441 gwern0 at gmail.com**20110411163740 Ignore-this: 9e3da81df65f6750c822a5044952f1a1 See > I have run into programs that fail when run by safeSpawn but succeed with spawn. > I tracked it down in one (python) and it seems to be due to uninstallSignalHandlers. > When run by safeSpawn, the program reports errors from wait. dylan did not supply a patch and his version doesn't match the declared type signature; since I don't want to break every `safeSpawn` user, I tossed a `>> return ()` in to make the type right, although I'm troubled at removing the exception functions. ] [AppendFile: additional example of usage gwern0 at gmail.com**20110126201018 Ignore-this: 2ba40977463ff15140067ef73947785c ] [Fix A.Gridselect image links (thanks dobblego) Adam Vogt **20110119230113 Ignore-this: e2b334e13c5900a72daff866270b13db ] [Bump version to 0.10 to help keep the correct contrib/core versions together. Adam Vogt **20110115180553 Ignore-this: c3f3bf382225ec14477ed9298aea89af ] [H.ICCCMFocus had atom_WM_TAKE_FOCUS incorrectly removed Adam Vogt **20110106192052 Ignore-this: c566320f252d9fe717080e2da37ff262 It is possible that this atom should be defined in the X11 library, but fix the build of contrib for now. In any case, this would have to wait for a change and release of the X11 binding. rolling back: Wed Jan 5 22:38:39 EST 2011 Adam Vogt * Remove accidental atom_WM_TAKE_FOCUS from H.ICCCMFocus The XMonad module exports this already M ./XMonad/Hooks/ICCCMFocus.hs -7 +1 ] [Remove accidental atom_WM_TAKE_FOCUS from H.ICCCMFocus Adam Vogt **20110106033839 Ignore-this: 318d60c8cf4ae4f22a7500948a40ebaf The XMonad module exports this already ] [Java swing application focus patch haskell at tmorris.net**20110105032535 Ignore-this: 301805eb559489d34d984dc13c0fa5d0 ] [fix X.L.Gaps documentation, thanks to Carl Mueller for the report Brent Yorgey **20101223010744 Ignore-this: d60b64676668d5b82efb9215ac5605f6 ] [Fix A.OnScreen example code typo Adam Vogt **20101212161850 Ignore-this: 486bfc9edc38913c8863e2d5581359eb ] [fix up funny unicode whitespace in Fullscreen Brent Yorgey **20101212142241 Ignore-this: 406c4eec83838923edfbf0dfc554cbb7 ] [Add X.L.Fullscreen Audun Skaugen **20101115232654 Ignore-this: 4fb7f279365992fe9e73388b0f4001ac ] [Rename state in A.Gridselect to avoid name shadowing (mtl-2) Adam Vogt **20101115232222 Ignore-this: cd81e11ae9f5372ddd71f0c2b60675d5 ] [Substring search support for X.A.GridSelect. As keymaps get more complicated to support different styles, the gs_navigate element is fundamentially changed. Clemens Fruhwirth **20101102211213 Ignore-this: 95610ac8eb781cd74f6c3ce9e36ec039 ] [Make substring search case insensitive Clemens Fruhwirth **20101016212904 Ignore-this: dce1ae9e4164c24447ae9c79c4557f11 ] [Introduce grayoutAllElements in X.A.GridSelect Clemens Fruhwirth **20101016212559 Ignore-this: 78ca0416b12a49965db876c77e02387f ] [Add substring filter to td_elementmap Clemens Fruhwirth **20101016183644 Ignore-this: d28b7173095c504ae0e9209303e4468a ] [Refactor for ad-hoc element and position matching turning td_elementmap into a function using the new td_availSlot and td_elements fields Clemens Fruhwirth **20101016183554 Ignore-this: 85e644a27395e97315efd1ed7a926da8 ] [Remove nub from diamondLayer in X.A.GridSelect Clemens Fruhwirth **20101016183132 Ignore-this: fe290f3712fa1e122e0123d3f87f418b ] [Convert access of td_elementmap from field styled to function call styled in X.A.GridSelect Clemens Fruhwirth **20101016164757 Ignore-this: b46942bf7ca0bd451b0b402ea8b01bf7 ] [Make use of field names when constructing TwoDState in X.A.GridSelect Clemens Fruhwirth **20101016164151 Ignore-this: 17d947c11e6cb4c64e04fd4754568337 ] [Pointfree and -XRank2Types don't mix in X.L.Groups.Helpers Adam Vogt **20101113022839 Ignore-this: 21aa9b687179c5622dc6fae749c7872 It used to work with ghc-6.12 (and earlier?), but ghc-7RC2 type inference doesn't work with . instead of it's definition. ] [Restrict dependencies, since mtl-2 is incompatible Adam Vogt **20101113022204 Ignore-this: d6565f9033cc40fd177a20d1688f3ed7 A couple removed constructors need to be replaced by the lowercase versions (ex. State = StateT Identity now). But it isn't clear that mtl-1 should be dropped. ] [X.L.TrackFloating docs and help nested layouts Adam Vogt **20101030175615 Ignore-this: a4362384ff8baab896715226772edf62 Now TrackFloating remembers focus for the given layout when the other window is also tiled, but not fed to the given layout: this helps with X.L.IM, among others. ] [X.L.Maximize: Make layout forget maximized window when it is closed Norbert Zeh **20101029221551 Ignore-this: 9e8bfacce7f90634532078584c82940a The X.L.Maximize layout modifier does not track whether the window it stores as maximized does still exist. The X server reuses window IDs. As a result, I was able to reproduce the following behaviour (e.g., by opening and closing xpdf windows): Create a window, maximize it, close it without restoring it to its normal state. Open a new window with the same window ID (e.g., an xpdf window after just closing an xpdf window). The new window will open maximized, which is not what one would expect. This patch addresses this problem, removing the ID of the maximized window from the layout when the maximized window is closed. ] [Fix bug in L.TrackFloating Adam Vogt **20101030000620 Ignore-this: 2c3902ea9f1d70a7043965c8aa99891d Addresses the comment that: If the focus goes from the floating layer to tiling by deleting a floating window, it's again the master window that gets focus, not the remembered window. ] [Add X.L.Groups.Helpers to other-modules Daniel Schoepe **20101024191850 Ignore-this: eb000855e28c39140762f09ce02dd35 Not listing aforementioned module can cause build failures in libaries that depend on xmonad-contrib. ] [windowbringer-menu-choice mathstuf at gmail.com**20100905013522 Ignore-this: 3f57b88d725b04f07ce6a43b8d0f56ff Add functions to allow users to use a menu other than dmenu and pass arguments to the menu. ] [Add X.L.TrackFloating for tiled-floating focus issues (#4) Adam Vogt **20101016165536 Ignore-this: 19a4a81601c23900d78d85bd0627d5bb ] [minor documentation fixes Daniel Wagner **20101007011957 Ignore-this: c5c046933f318f5a14f063ca387601b9 ] [Minor documentation fixes in X.U.ExtensibleState Daniel Schoepe **20101004120509 Ignore-this: 36a36d6e38f812744f8ec3df9bb56ffe ] [Clarify the note on -XRank2Types in L.Groups Adam Vogt **20101002020841 Ignore-this: 4ffe5d2d0be1e8b8a8c151b134e963f2 ] [Mention X.L.Groups.ModifySpec's rank-2 type in the doc quentin.moser at unifr.ch**20100117115601 Ignore-this: 2061238abf835cb20579a4899655cec2 ] [Orphan my modules moserq at gmail.com**20101001104300 Ignore-this: 781ebf36f25a94df96fde5f7bb7bc53e ] [Split X.L.Groups.Examples moserq at gmail.com**20101001104142 Ignore-this: 4d3bc3c44b1c0233d59c6ce5eefcc587 X.L.G.Examples : rowOfColumns and tiled tabs layouts X.L.G.Helpers : helper actions X.L.G.Wmii : wmii layout ] [X.L.G.Examples: improve the tabs of tiledTabs moserq at gmail.com**20100120103240 Ignore-this: 58a449c35e1d4a30ecfdf80f015d2dee ] [X.L.G.Examples: improve the tabs of wmiiLike moserq at gmail.com**20100120101746 Ignore-this: 1519338158025fb580cac523e4a41b88 ] [X.L.Groups: Always keep one group, even if empty. quentin.moser at unifr.ch**20100118021526 Ignore-this: 22d7f9b92484c3411ecba66b06f69821 ] [Do not duplicate layouts in X.L.Groups quentin.moser at unifr.ch**20100117114708 Ignore-this: 100f8ccfbbcda9e8f5cc2b1470772928 I liked the idea, but it completey messes up Decoration layouts. ] [Add missing module re-export (issue 366) Adam Vogt **20100930002046 Ignore-this: ecd6e4ff54d41f37a75be72f3d0e4a59 ] [X.H.ManageDocks: event hook to refresh on new docks Tomas Janousek **20100706185834 Ignore-this: 96f931aa19c45acd28bdc2319c6a0cb6 ] [This patch adds support for multiple master windows to X.L.Master quesel at informatik.uni-oldenburg.de**20100518060557 Ignore-this: 5c62202575966ee65e9b41ef41c30f94 ] [X.L.LayoutHints: event hook to refresh on hints change Tomas Janousek **20100706185925 Ignore-this: 54eba739c76db176cbb4ef66e30c201f ] [Remove last excess definition of `fi' (fromIntegral) Adam Vogt **20100913233850 Ignore-this: 42d9282697573b361d763d980b816465 ] [Explain fields added for "XMonad.Layout.ImageButtonDecoration" Adam Vogt **20100913232720 Ignore-this: 8eae99afb2857a91aabbf3b7f27c784e ] [Adjust X.C.Desktop documentation content. Adam Vogt **20100803141117 Ignore-this: 9c2616514be4dbb722958bc5a11357b1 Correct errors regarding a description of `mappend' for X Use <+> more often since that's `consistent', and there is no difference since it's the same as >> when all arguments have the same type (which they do... otherwise people aren't just combining valid values for that field of the config). ] [Minimize: Replaced calls to 'sendMessage' (BW.focusDown) and 'windows' with alternative methods Jan Vornberger **20100727224841 Ignore-this: 67257480b7b93181967a806fedf6fbc5 Calling these functions during message handling results in the loss of layout state. This fixes a number of bugs related to the combination of X.L.Minimize with a decoration. ] [CurrentWorkspaceOnTop: proper reimplementation of XMonad.Operation Jan Vornberger **20100727194154 Ignore-this: 101f55913bf836d1d87863b4c05d0665 Fixes bugs in combination with stateful layouts and floating windows ] [A hook to handle minimize/restore window manager hints. Justin Bogner **20100616051124 Ignore-this: c562ce1df81bce9a7dc5e7fe2dc67a43 XMonad.Hooks.Minimize handles both minimize and restore messages. Handling restore messages was already done in RestoreMinimized, which this module intends to replace. ] [WindowGo: bulk up 'runOrRaise' doc to point to 'raiseMaybe' for shell scripting gwern0 at gmail.com**20100712045632 Ignore-this: f8f2b04fe7c49827b935ada1345d2ce8 ] [WindowGo: fmt & sp gwern0 at gmail.com**20100712042915 Ignore-this: dc733961f0308815fa2ec0afe118f9cb ] [Note that Simplest works well with BoringWindows Adam Vogt **20100622030850 Ignore-this: b9b6060842651c0df47b23dddb3bf54a ] [XMonad.Util.Run: improve linking and rearrange docs gwern0 at gmail.com**20100620175215 Ignore-this: d7b76532309237ddfa22c31a1f1ef5a4 ] [XMonad.Util.Run: correct broken example gwern0 at gmail.com**20100620175158 Ignore-this: b390fa0e36b0bd629e7016797e316760 ] [XMonad.Util.Run: fix unicode char gwern0 at gmail.com**20100620175140 Ignore-this: 3e524f9d8a96cb47c2c8c7c265d8e649 ] [XSelection.hs: update docs w/r/t unicode gwern0 at gmail.com**20100615000902 Ignore-this: 26042b8d27bed602c1844181036a9bb see http://code.google.com/p/xmonad/issues/detail?id=348 ] [encode string of bytes not list of chars Khudyakov Alexey **20100613113341 Ignore-this: bd03772f1e1ab303646f36c28944b43 ] [GroupNavigation.hs: clean up imports gwern0 at gmail.com**20100608203832 Ignore-this: 166ad0b78d8be8453339c7dd5e5cc266 ] [remove decodeInput/encodeOutput gwern0 at gmail.com**20100614232300 Ignore-this: 2ed6a014130dba95c6b0a6fcac055110 see http://code.google.com/p/xmonad/issues/detail?id=348 they are just synonyms for 2 utf8-string functions, and don't really help ] [Developing: be good to mention hlint in a hacking guide gwern0 at gmail.com**20100506160535 Ignore-this: d86ab58539dd6c09a43789b9a549aa9d ] [Fix bug in history maintenance of X.A.GroupNavigation Norbert Zeh **20100604081431 Ignore-this: 84a22797ec1b76a9b9805af3272911b0 When the focused window was closed without a new window receiving focus, the closed window was not removed from the history database, making for example "nextMatch History (return True)" misbehave. This patch fixes this. ] [PositionStoreHook: take decoration into account Jan Vornberger **20100602223015 Ignore-this: 72192c7cabeaeb744711b651ac3ffc65 ] [PositionStoreHook: take docks into account Jan Vornberger **20100602215048 Ignore-this: 6ffa63f22e9b511a9d28bc1c04195a08 ] [TopicSpace: +reverseLastFocusedTopics Nicolas Pouillard **20100520072844 Ignore-this: 97c860fb139269cd592beab275f78d57 ] [TopicSpace: improve the lastFocusedTopic handling Nicolas Pouillard **20091220212813 Ignore-this: 9ad30b815e8a9cf002c8b17c07f05dc2 Now the list of last topics is internally kept but only visually truncated. ] [X.A.GroupNavigation with containers < 0.3.0.0 compatibility Norbert Zeh **20100514222153 Ignore-this: e0cf2a784ff02829ad10962863fd50ed This patch replaces the use of Seq.filter and Seq.breakl with two functions flt and brkl that do the same. This is necessary to keep compatibility with containers < 0.3.0.0 because Seq.filter and Seq.breakl were introduced only in containers 0.3.0.0. ] [New module XMonad.Actions.GroupNavigation Norbert Zeh **20100510081412 Ignore-this: c286dbd1b365326fa25a9c5c0e564af7 This module adds two related facilities. The first one allows cycling through the windows in a window group. A group is defined as the set of windows for which a given Boolean Query returns True. The second one keeps track of the history of focused windows and allows returning to the most recently focused window in a given window group before the currently focused window. ] [Add a way to update the modifier in X.L.LayoutModifier Daniel Schoepe **20090822213958 Ignore-this: f257a376bef57689287b68ed21ec903d This patch adds the possibility to update the state of a layout modifier when modifying the underlying layout before it is run(i.e. using modifyLayout). The modified state is also passed to the subsequent call of redoLayout, whose return takes precedence if both functions return modified states of the layout modifier. ] [Remove trailing whitespace in A.KeyRemap Adam Vogt **20100503153258 Ignore-this: 59d38be8462d50c298f590d55ebda910 ] [Adding XMonad.Actions.KeyRemap for mapping single keys stettberger at dokucode.de**20100502152322 Ignore-this: 113f6ef92fd31134fb6752a8b8253c3a With KeyRemap it is possible to emit different keys to client windows, when pressing some key. For example having dvorak layout for typing, but us for keybindings. ] [Move Util.Font to .hs, and enable -XCPP Adam Vogt **20100429140744 Ignore-this: 1e60993426bf8e146c9440e2dbb0f764 As the CPP pass was the only feature being used in Font.hsc (no other FFI) it's better to avoid hsc2hs, if only to make the purpose of the module clearer from the filename. ] [A.Search: Remove unnecessary `do' Adam Vogt **20100429134749 Ignore-this: 2fc31d045a57ccd01f3af03cb46440c2 ] [Fix escaping of URI Khudyakov Alexey **20100423204707 Ignore-this: 7dad15752eb106d8bc6cd50ffd2e8d3a ] [Prompt: handle case of historySize=0 better. Adam Vogt **20100421183006 Ignore-this: e4a74e905677649ddde36385a9ed47a2 ] [Rearrange tests. See test/genMain.hs for instructions. Adam Vogt **20100419014946 Ignore-this: 1745e6f1052e84e40153b5b1c0a6e15a ] [Use CPP to add to exports for Selective tests (L.LimitWindows) Adam Vogt **20100419014344 Ignore-this: 74c228892f07bb827e4b419f4efdb04 ] [Use imported `fi' alias for fromIntegral more often. Adam Vogt **20100416212939 Ignore-this: 51040e693066fd7803cc1b108c1a13d5 Also moves `fi' into U.Image to avoid cyclic imports, though XUtils sill exports that definition. ] [Note that mouseResizableTileMirrored may be removed. Adam Vogt **20100416161118 Ignore-this: 2b005aa36abe224f97062f80e8558af7 ] [Structure L.MouseResizableTile documentation. Adam Vogt **20100416160641 Ignore-this: c285ac8a4663bdd2ae957b3c198094da ] [X.L.MouseResizableTile: make everything configurable Tomas Janousek **20100415214609 Ignore-this: f8164dc63242c7e32210c9577a254bf7 ] [X.L.MouseResizableTile: configurable gaps (dragger size and position) Tomas Janousek **20100415213813 Ignore-this: 5803861bbfecbc8c946b817b98909647 (with the option of putting the draggers over window borders with no gaps at all) ] [Remove unnecessary imports. Adam Vogt **20100416160239 Ignore-this: 11beb14b87e294dafb54cc3764393c5b ] [update module imports gwern0 at gmail.com**20100414211947 Ignore-this: 804bee14960064b4e4efd33d07a60a2b ] [tests/test_XPrompt can build now. Adam Vogt **20100414204612 Ignore-this: ded6711134658fe371f19a909037c9cb ] [prettier haddock markup for L.NoBorders Adam Vogt **20100405184020 Ignore-this: 1a9862e6e7ec0e965201a65a68314680 ] [ImageButtonDecoration: new image for menu button Jan Vornberger **20100402174910 Ignore-this: 3977c4bfcb4052e07321ec9e83f917c6 ] [image_buttons trupill at gmail.com**20100331093808 Ignore-this: 418dbf488435c7c803695407557eecfb * Added a XMonad.Util.Image module to manipulate simple images and show them into an X drawable * Added the possibility of using image buttons instead of plain text buttons into the title bar * Added a XMonad.Layout.ImageButtonDecoration as an example of how to use the image buttons ] [WindowMenu: own colorizer that works better with Bluetile's new theme Jan Vornberger **20100402184119 Ignore-this: 708e1ad1654165fc5da5efc943a2a6b9 ] [X.L.Named deprecate and implement using X.L.Renamed Anders Engstrom **20100401212403 Ignore-this: a74963ef4990c9e845b9142b8648cf26 nameTail behaves slightly different if there are whitespace before the first word or the name contains tabs or other such whitespace. But I expect few users are affected since the only usecase where nameTail is actually needed is to remove automatically added prefixes. These prefixes will be removed as they should by the new implementation. ] [X.L.Minimize remove redundant imports Anders Engstrom **20100401204400 Ignore-this: f7bbfe96c8d08955fc845318f918ec86 ] [Correct module header. Adam Vogt **20100330181029 Ignore-this: 53edd88f94f0b7d54fc350c47c38898c ] [minimize_ewmh trupill at gmail.com**20100330183616 Ignore-this: 4d14b74192af503c4b2e28ea877c85f5 ] [Use more monoid instances to clean up U.WorkspaceCompare Adam Vogt **20100222151710 Ignore-this: ab7089175a7486144e01b706de04036e ] [Note that Groups has redundancies and the interface may change. Adam Vogt **20100330175945 Ignore-this: 2f4dc5a2355ace4005dd07fc5d459f1a Refer to: http://www.haskell.org/pipermail/xmonad/2010-January/009585.html ] [X.H.UrgencyHook: performance fix Tomas Janousek **20100330141341 Ignore-this: b626166259858f16bc5051c67b498c68 cleanupUrgents would update the Map in extensible state 2-times the number of visible windows, resulting in excessive memory usage and garbage collection. This seems to make it behave correctly. ] [Update my e-mail address quentin.moser at unifr.ch**20100117011109 Ignore-this: f5efc4d494cb001d3cfbe2b2e169cbe5 ] [New module: X.L.Groups.Examples quentin.moser at unifr.ch**20100117010236 Ignore-this: 8fc40821759d7ed439ecc6726417f52d Utility functions and examples using X.L.Groups. ] [New module: X.L.Groups quentin.moser at unifr.ch**20100117005301 Ignore-this: 167e191d520a36b94cf24121ead67dae The mother of all layout combinators. ] [New module: X.L.ZoomRow quentin.moser at unifr.ch**20100117003939 Ignore-this: c464ae1005679484e364eb6ece31d9fc Row layout with individually resizable elements. ] [New module: X.L.Renamed quentin.moser at unifr.ch**20100117002612 Ignore-this: 38a5c638e36090c746356390c09d3479 ] [New module: X.U.Stack quentin.moser at unifr.ch**20100117002104 Ignore-this: e0c3969042ca5e1e8b9e50436519e52a Utility functions for working with Maybe Stacks, including: - useful conversions to and from lists - insertUp/Down, swapUp/Down, focusUp/Down, etc - maps, filters and folds ] [bugfix: removeKeys should remove all keys in the provided list Daniel Wagner **20100327192541 Ignore-this: 711c776a19d428a2ab4614ee82641de4 ] [fixed argument order to isPrefixOf in a couple of places in X.A.Search Jurgen Doser **20100316122010 Ignore-this: 1a613748778d07de1b459a4268ff8d55 In some places, ((!>), prefixAware, and one place in the documentation), isPrefixOf was used with wrong argument order. In particular, this made combining search engines not work as advertised, for example, the predefined search engine "multi". ] [X.P.Ssh: add entries from .ssh/config to ssh prompt completion Brent Yorgey **20091229171346 Ignore-this: fa638a0af4cb71be91f6c90bdf6d5513 ] [X.H.DynamicLog: let the user of xmonadPropLog choose property name Tomas Janousek **20100319214631 Ignore-this: 17c0cac2a469e0b70b0cea86f3aeed51 ] [Replace.hs: rm trailing whitespace gwern0 at gmail.com**20100314210109 Ignore-this: ee951e62c1de753907f77a8a6bac7cae ] [Workspace.hs: rm trailing whitespace gwern0 at gmail.com**20100314210101 Ignore-this: c2888dc8aa919ce6da706ba8ea1c523a ] [Layout.hs: rm trailing whitespace gwern0 at gmail.com**20100314210054 Ignore-this: 5ad02e9c968bb49773e2bf05310a3754 ] [Directory.hs: rm trailing whitespace gwern0 at gmail.com**20100314210047 Ignore-this: 1e83cd71f6439603b577874317cac8bb ] [MessageControl: rm trailing whitespace gwern0 at gmail.com**20100314210038 Ignore-this: d4dc93a8a68847123918db416080e018 ] [LimitWindows.hs: rm trailing whitespace gwern0 at gmail.com**20100314210030 Ignore-this: 7d138a5903d45ffeeb4e89f1b8923382 ] [LayoutCombinators.hs: rm trailing whitespace gwern0 at gmail.com**20100314210021 Ignore-this: e387bdea6c346fc8a892b06294995442 ] [DecorationAddons.hs: rm trailing whitespace gwern0 at gmail.com**20100314210012 Ignore-this: 2f54649e43ebf11e35bd8764d1a44675 ] [Column.hs: rm whitespace gwern0 at gmail.com**20100314210001 Ignore-this: 6cfd701babde42d5dc61bfbe95305b20 ] [DynamicWorkspaces.hs: rm whitespace gwern0 at gmail.com**20100314205951 Ignore-this: 9d64301708cb1702b9b46f1068efa891 ] [Fix bugs with nested drawers in X.L.Drawer Max Rabkin **20100310170159 Ignore-this: 5c7665f3f3ea2c629deb0cca3715bb8d There were two bugs: 1. The layout modifier assumed the rect's x was zero. 2. The layout modifier assumed that the stackset's focus actually had focus. ] [Correct L.Drawer haddock markup and re-export required module. Adam Vogt **20100308225258 Ignore-this: 1cc5675a68a66cf436817137a478b747 ] [Added X.L.Drawer Max Rabkin **20100308212752 Ignore-this: c7973679b7b2702178ae06fc45396dda X.L.Drawer provides a layout modifier for retracting windows which roll down (like the Quake console) when they gain focus. ] [X.U.WorkspaceCompare xinerama compare with physical order Anders Engstrom **20100308115402 Ignore-this: 49296fb6e09717f38db28beb66bc2c80 Like the old xinerama workspace comparison, but order by physical location just like X.A.PhysicalScreens. Useful if using xinerama sort for statusbar together with physicalscreens. ] [X.U.Dmenu helpers to run dmenu with arguments Anders Engstrom **20100308115022 Ignore-this: 7d582e06d0e393c717f43e0729306fbf ] [X.L.LayoutScreens split current screen Anders Engstrom **20100308114318 Ignore-this: e7bd1ef63aee3f736e12e109cabb839 This patch will allow the user to split the currently focused screen instead of all screens together. This is usefull for multiscreen users who have functioning xinerama, but wish to split one of the screens. ] [X.A.PhysicalScreens cleaning and allow cycling Anders Engstrom **20100308113704 Ignore-this: 3a9a3554cda29f976df646b38b56e8e7 Remove redundant import to supress warning, did some refactoring to use xmonad internal things to find screens instead of using X11-stuff. Also added ability to cycle between screens in physical order. ] [Use imported 'fi' in H.ScreenCorners Adam Vogt **20100222150633 Ignore-this: 45ceb91d6c39f29bb937aa29c0bc2e66 ] [X.H.ScreenCorners typos Nils Schweinsberg **20100222115142 Ignore-this: 805ba06f6215bb83a68631f750743830 ] [X.H.ScreenCorners rewritten to use InputOnly windows instead of waiting for MotionEvents on the root window Nils Schweinsberg **20100222112459 Ignore-this: f9866d3e3f1ea09ff9e9bb593146f0b3 ] [[patch] X.H.ScreenCorners: move the mouse cursor to avoid loops Nils Schweinsberg **20100221231550 Ignore-this: c8d2ece0f6e75aba1b091d5f9de371dc ] [Prevent possible pattern match failure in X.A.UpdateFocus Daniel Schoepe **20100221234735 Ignore-this: fe132d248db01076a1038e9e8acbdf42 ] [New extension: XMonad.Hooks.ScreenCorners Nils Schweinsberg **20100221230259 Ignore-this: c3a715e2590ed094ed5908bd225b185e ] [documentation for marshallPP daniel at wagner-home.com**20100215000731 Ignore-this: efa38829b40dc1586f5f18c4bab21f7d ] [DynamicLog support for IndependentScreens Daniel Wagner **20100104054251 Ignore-this: 16fe32f1d66abf4a79f8670131663a60 ] [minor style changes Daniel Wagner **20091228173016 Ignore-this: 605de753d6a5007751de9d7b9f8ab9ca ] [XMonad.Prompt: remove white border from greenXPConfig gwern0 at gmail.com**20100211163641 Ignore-this: 1cd9a6de02419b7747eab98eb4e84c35 ] [Fixed reversed history searching direction in X.P.history(Up|Down)Matching Daniel Schoepe **20100208162901 Ignore-this: 61b9907318d18ef2fb5bc633048d3afc ] [Compatibility for rename of XMonad.numlockMask Adam Vogt **20100124201955 Ignore-this: 765c58a8b77ca0b54f05fd69a9bba714 ] [Use extensible-exceptions to allow base-3 or base-4 Adam Vogt **20100124203324 Ignore-this: 136f35fcc0f3a824b96eea0f4e04f276 ] [suppress some warnings under ghc 6.12.1 and clean up redundant imports to get rid of some others. Brent Yorgey **20100112172507 Ignore-this: bf3487b27036b02797d9f528a078d006 ] [Corrected documentation in X.Prompt Daniel Schoepe **20100201204522 Ignore-this: 98f9889a4844bc765cbb9e43bd83bc05 ] [Use Stack instead of list in X.Prompt.history*Matching Daniel Schoepe **20100201202839 Ignore-this: 45d03c7096949bd250dd1c5c2d3646d4 ] [BluetileConfig: Fullscreen tweaks and border color change Jan Vornberger **20100131233347 Ignore-this: 2a10959bed0f3fb9985e3dd1010f123b ] [A.CycleWindows replace partial rotUp and rotDown with safer versions Wirt Wolff **20100123231912 Ignore-this: 6b4e40c15b66fc53096910e85e736c23 Rather than throw exceptions, handle null and singleton lists, i.e. f [] gives [] and f [x] gives [x]. ] [Use <+> instead of explicit M.union to merge keybindings in X.C.* Adam Vogt **20100124202136 Ignore-this: e7bfd99eb4d3e6735153d1d5ec00a885 ] [Fix incorrect import suggestion in L.Tabbed (issue 362) Adam Vogt **20100121182501 Ignore-this: 5e46f140a7e8c2abf0ac75b3262a7da4 ] [Swap window ordering in L.Accordion (closes Issue 358). Thanks rsaarelm. Adam Vogt **20100121154344 Ignore-this: cd06b0f4fc85f857307aaae8f6e40af7 This change keeps windows in the same ordering when focus is changed. ] [use restart to restart xmonad (no longer bluetile) Jens Petersen **20100116105935 Ignore-this: e6e27c65e25201fc84bfaf092dad48ac ] [X.L.Decoration: avoid flicker by not showing decowins without rectangles Tomas Janousek **20100116112054 Ignore-this: 6f38634706c3f35272670b969fc6cc96 These would be hidden by updateDecos immediately after being shown. This caused flicker with simpleTabbed and only one window on a workspace. ] [Add a way to cycle only through matching history entries in X.Prompt Daniel Schoepe **20100113233036 Ignore-this: d67aedb25f2cc6f329a78d5d3eebdd2b This patch adds a way go up through X.Prompt's history using only those entries that start with the current input, similar to zsh's `history-search-backward'. ] [Style changes in L.Minimize Adam Vogt **20100104144448 Ignore-this: 5f64c0717e24ed6cbe2c9fad50bf78a3 ] [minimize_floating konstantin.sobolev at gmail.com**20091230070105 Ignore-this: 2c0e1b94f123a869fb4e72a802e59c2 Adds floating windows support to X.L.Minimize ] [Use more imported cursor constants. Adam Vogt **20091230220927 Ignore-this: 91e55c63a1d020fafb6b53e6abf9766c ] [import new contrib module, X.A.DynamicWorkspaceOrder Brent Yorgey **20091230192350 Ignore-this: bba2c0c30d5554612cc6e8bd59fee205 ] [X.A.CycleWS: export generalized 'doTo' function for performing an action on a workspace relative to the current one Brent Yorgey **20091230191953 Ignore-this: 7cf8efe7c45b501cbcea0943f667b77e ] [new contrib module, X.A.DynamicWorkspaceGroups, for managing groups of workspaces on multi-head setups Brent Yorgey **20091229165702 Ignore-this: fc3e6932a95f57b36b4d8d4cc7f3e2d7 ] [new contrib module from Tomas Janousek, X.A.WorkspaceNames Brent Yorgey **20091229163915 Ignore-this: 5bc7caaf38647de51949a24498001474 ] [X.P.Shell, filter empty string from PATH Tim Horton **20091224033217 Ignore-this: 1aec55452f917d0be2bff7fcf5937766 doesDirectoryExist returns True if given an empty string using ghc <= 6.10.4. This causes getDirectoryContents to raise an exception and X.P.Shell does not render. This is only an issue if you have an empty string in your PATH. Using ghc == 6.12.1, doesDirectoryExist returns False given an empty string, so this should not be an issue in the future. ] [small tweak to battery logger Brent Yorgey **20091227085641 Ignore-this: 350dfed0cedd250cd9d4bd3391cbe034 ] [Use imported xC_bottom_right_corner in A.MouseResize Adam Vogt **20091227233705 Ignore-this: 52794f788255159b91e68f2762c5f6a1 ] [X.A.MouseResize: assign an appropriate cursor for the resizing inpuwin Tomas Janousek **20091227212140 Ignore-this: d9ce96c2cd0312b6b5be4acee30a1da3 ] [Fix the createSession bug in spawnPipe Spencer Janssen **20091227003501 Ignore-this: 2d7f8746eb657036d39f3b9aac22b3c9 Both the new XMonad.Core.xfork function and spawnPipe call createSession, calling this function twice results in an error. ] [Let the core know about MouseResizableTile's draggers, so they are stacked correctly Jan Vornberger **20091223145428 Ignore-this: 7c096aba6b540ccf9b49c4ee86c6091a ] [Update all uses of forkProcess to xfork Spencer Janssen **20091223064558 Ignore-this: 963a4ddf1d2f4096bbb8969b173cd0c1 ] [Make X.L.Minimize explicitly mark minimized windows as boring Jan Vornberger **20091222214529 Ignore-this: b1e8adf26ac87dede6c1b7a7d687411c ] [Actions/Search: added openstreetmap intrigeri at boum.org**20091222114545 Ignore-this: fafc4680c8b59b7a044d995c1dacec9a ] [Add a search predicate option to XMonad.Prompt Mike Lundy **20091221025408 Ignore-this: 8e8804eeb9650d38bc225e15887310da ] [In D.Extending note how <+> can be used with keybindings. Adam Vogt **20091220190739 Ignore-this: ebea8ef8a835ed368fa06621add6519f ] [Fix MultiToggle crashes with decorated layouts Tomas Janousek **20091220004733 Ignore-this: 9208f5da9f0de95464ea62cb45e8f291 The problem was that certain layouts keep their "world" state in their value, which was thrown away and forgotten after ReleaseResources during toggle. In particular, decorated layouts store some X11 handles in them and allocate/deallocate it as appropriate. If any modification to their state is ignored, they may try to deallocate already deallocated memory, which results in a crash somewhere inside Xlib. This patch makes Transformers reversible so that nothing is ever ignored. As a side effect, layout transformers now do receive messages and messages for the base layout do not need the undo/reapply cycle -- we just pass messages to the current transformed layout and unapply the transformer when needed. (This, however, doesn't mean that the base layout is not asked to release resources on a transformer change -- we still need the transformer to release its resources and there's no way to do this without asking the base layout as well.) ] [Golf / style change in U.ExtensibleState Adam Vogt **20091208010506 Ignore-this: c35bd85baae4700e14417ac7e07de959 ] [Style changes in EwmhDesktops Adam Vogt **20091219003824 Ignore-this: 905eff9ed951955c8f62617b2d82302e ] [Add support for fullscreen through the _NET_WM_STATE protocol audunskaugen at gmail.com**20091214135119 Ignore-this: 430ca3c6779e36383f8ce8e477ee9622 This patch adds support for applications using the gtk_window_fullscreen function, and other applications using _NET_WM_STATE for the same purpose. ] [TAG 0.9.1 Spencer Janssen **20091216233651 Ignore-this: 713d9dd89d775e30346f57a61038d308 ] [Bump version to 0.9.1 Spencer Janssen **20091216232634 Ignore-this: bcd799c3341ee6c69a259e1dca747cac ] [Match X11 dependencies with xmonad's Spencer Janssen **20091216012630 Ignore-this: bcbd6e3e5e2675cdac6f1d1b1bc09853 ] [Safer X11 version dependency Spencer Janssen **20091216005916 Ignore-this: 6dc805a8a0c7a3d3369bc1d6d97d4f56 ] [Update Prompt for numlockMask changes Spencer Janssen **20091103222621 Ignore-this: 4980e2fdf4c296a266590cc4acf76e1e ] [X.L.MouseResizableTile: change description for mirrored variant Tomas Janousek **20091211124218 Ignore-this: dbc02fb777e35cdc15fb11979c1e983e The description for mirrored MouseResizableTile is now "Mirror MouseResizableTile", to follow the standard of other layouts that can be mirrored using the Mirror modifier. ] [X.A.GridSelect: documentation typo fix Tomas Janousek **20091211182515 Ignore-this: 521bef2a73a9e969d7a96defb555177b spotted by Justin on IRC ] [A.GridSelect shouldn't grab keys if there are no choices. Adam Vogt **20091210183038 Ignore-this: 48509f780120014a10b32e7289369f32 Thanks thermal2008 in #xmonad for bringing up the corner case when gridselect is run with an empty list of choices. ] [onScreen' variation for X () functions Nils Schweinsberg **20091209003717 Ignore-this: 6a9644c729c2b60f94398260f3640e4d ] [Added Bluetile's config Jan Vornberger **20091209150309 Ignore-this: 641ae527ca6f615e81822b6f38f827e7 ] [BluetileCommands - a list of commands that Bluetile uses to communicate with its dock Jan Vornberger **20091208234431 Ignore-this: 1a5a5e69c7c37d3ffe8d8e09496568de ] [Use lookup instead of find in A.PerWorkspaceKeys Adam Vogt **20091129032650 Ignore-this: 7ecb043df4317365ff3d25b17303eed8 ] [Change of X.A.OnScreen, more simple and predictable behaviour of onScreen, new functions: toggle(Greedy)OnScreen Nils Schweinsberg **20091207155050 Ignore-this: c375250778758e401217bcad83567d3b ] [Module to ensure that a dragged window always stays in front of all other windows Jan Vornberger **20091129004506 Ignore-this: a8a389198ccc28a66686561d4d17e91b ] [Decoration that allows to switch the position of windows by dragging them onto each other. Jan Vornberger **20091129003431 Ignore-this: 38aff0f3beb1a1eb304219c4f3e85593 ] [A decoration with small buttons and a supporting module Jan Vornberger **20091129002416 Ignore-this: 2d65133bc5b9ad29bad7d06780bdaa4 ] [XMonad.Actions.Search: finally fixed the internet archive search plugin gwern0 at gmail.com**20091205033435 Ignore-this: c78ecebced9bc8e39e6077ffa9f9f182 ] [XMonad.Actions.Search: in retrospect, a bit silly to make everyone go through SSL gwern0 at gmail.com**20091205033318 Ignore-this: 452b4e6efb83935fc1063ab695ae074d ] [Prompt.hs: Corrected quit keybindings Tim Horton **20091203050041 Ignore-this: e8cd2cd1d41f6807f68157ef37c631ea ] [Extended decoration module with more hooks and consolidated some existing ones Jan Vornberger **20091128234310 Ignore-this: 5a23af3009ecca2feb9a84f8c6f8ac33 ] [Extended decoration theme to contain extra static text that always appears in the title bar Jan Vornberger **20091024213928 Ignore-this: 95f46d6b9ff716a2d8002a426c1012c8 ] [Extended paintAndWrite to allow for multiple strings to be written into the rectangle Jan Vornberger **20091024205111 Ignore-this: eb7d32284b7f98145038dcaa14f8075e ] [Added the alignment option 'AlignRightOffset' Jan Vornberger **20091024204513 Ignore-this: 58cc00e1be669877e38a97e36b924969 ] [Prevent windows from being decorated that are too small to contain decoration. Jan Vornberger **20090627094316 Ignore-this: 39b806462bbd424f1206b635e9d506e1 ] [X.L.MouseResizableTile: keep draggers on the bottom of the window stack. Tomas Janousek **20091126173413 Ignore-this: 8089cf8ce53580090b045f4aebb1b899 ] [Implemented smarter system of managing borders for BorderResize Jan Vornberger **20091122233651 Ignore-this: 4775c082249e598a84c79b2e819f28b0 ] [X.H.DynamicLog: fix xmonadPropLog double-encoding of UTF-8 Tomas Janousek **20091121004829 Ignore-this: bde612bbd1a19951f9718a03e737c4ac dynamicLogString utf-8 encodes its output, xmonadPropLog shouldn't do that again. ] [X.H.DynamicLog: make documentation for 'dzen' and 'xmobar' slightly more clear Brent Yorgey **20091121170739 Ignore-this: c9a241677fda21ef93305fc3882f102e ] [X.H.ManageDocks: ignore struts that cover an entire screen on that screen Tomas Janousek **20091119145043 Ignore-this: ad7bbf10c49c9f3e938cdc3d8588e202 Imagine a screen layout like this: 11111111 11111111 11111111 222222 <--- xmobar here 222222 222222 When placing xmobar as indicated, the partial strut property indicates that an entire height of screen 1 is covered by the strut, as well as a few lines at the top of screen 2. The original code would create a screen rectangle of negative height and wreak havoc. This patch causes such strut to be ignored on the screen it covers entirely, resulting in the desired behaviour of a small strut at the top of screen 2. Please note that this semantics of _NET_WM_STRUT and _NET_WM_STRUT_PARTIAL is different to what is in wm-spec. The "correct" thing to do would be to discard the covered portion of screen 1 leaving two narrow areas at the sides, but this new behaviour is probably more desirable in many cases, at least for xmonad/xmobar users. The correct solution of having separate _NET_WM_STRUT_PARTIAL for each Xinerama screen was mentioned in wm-spec maillist in 2007, but has never really been proposed, discussed and included in wm-spec. Hence this "hack". ] [Use imported 'fi' in PositionStoreHooks Adam Vogt **20091119103112 Ignore-this: 6563a3093083667c79aa491a6f59b805 ] [Changed interface of X.U.ExtensibleState Daniel Schoepe **20091116171013 Ignore-this: 9a830f9341e461628974890bab0bd65b Changed the interface of X.U.ExtensibleState to resemble that of Control.Monad.State and modified the modules that use it accordingly. ] [PositionStoreFloat - a floating layout with support hooks Jan Vornberger **20091115184833 Ignore-this: 8b1d0fcef1465356d72cb5f1f32413b6 ] [PositionStore utility to store information about position and size of a window Jan Vornberger **20091108195735 Ignore-this: 2f6e68a490deb75cba5d007b30c93fb2 ] [X.H.Urgencyhook fix minor doc bug Anders Engstrom **20091115131121 Ignore-this: 18b63bccedceb66c77b345a9300f1ac3 ] [X.H.DynamicLog fix minor indentation oddness Anders Engstrom **20091115130707 Ignore-this: 7f2c49eae5527874ca4499767f4167c4 ] [X.A.CycleWS cycle by tag group Anders Engstrom **20091115130217 Ignore-this: 909da8c00b47a31d04f59bd3751c60bc Allow grouping of workspaces, so that a user can cycle through those in the same group. Grouping is done by using a special character in the tag. ] [Use less short names in X.Prompt Adam Vogt **20091115025647 Ignore-this: 1d27b8efc4d829a5642717c6f6426336 ] [Use io instead of liftIO in Prompt Adam Vogt **20091115025301 Ignore-this: cd4031b74cd5bb874cd2c3cc2cb087f2 ] ['io' and 'fi' are defined outside of Prompt Adam Vogt **20091115024001 Ignore-this: 3426056362db9cbfde7d2f4edbfe6f36 ] [Use zipWithM_ instead of recursion in Prompt.printComplList Adam Vogt **20091115023451 Ignore-this: 2457500ed871ef120653a3d4ada13441 ] [Minor style changes in DynamicWorkspaces Adam Vogt **20091115022751 Ignore-this: 1a6018ab134e4420a949354575a8a110 ] [X.A.DynamicWorkspaces fix doc and add behaviour Anders Engstrom **20091113233903 Ignore-this: ab7c20a9c1b43ebc6a7f4700d988fb73 Before this patch the documentation claims that it won't do anything on non-empty workspaces when it actually does. This patch fixes the documentation to reflect the actual behaviour, but also adds the behaviour promised by the documentation in other functions. It does not break configs. In addition it also provides functions to help removing empty workspaces when leaving them. ] [rework XMonad.Util.Dzen daniel at wagner-home.com**20091114051509 Ignore-this: 16d93f91c54f7d195b1a418e6c0351c5 ] [generalize IO actions to MonadIO m => m actions daniel at wagner-home.com**20091114023616 Ignore-this: 2c801a27b0ffee34a2f0daca3778613a This should not cause any working configs to stop working, because IO is an instance of MonadIO, and because complete configs will pin down the type of the call to IO. Note that XMonad.Config.Arossato is not a complete config, and so it needed some tweaks; with a main function, this should not be a problem. ] [fix documentation to match implementation daniel at wagner-home.com**20091114021328 Ignore-this: 6dbbb118b139f443c40a573445a48d07 ] [Bypass more of stringToKeysym in U.Paste Adam Vogt **20091114223726 Ignore-this: 617c922647e9f49f5ecefa0eb1c65d3c ] [Don't erase floating information with H.InsertPosition (Issue 334) Adam Vogt **20091113161402 Ignore-this: de1c03eb860ea25b390ee5c756b02997 ] [Rename gridselectViewWorkspace to gridselectWorkspace, add another example. Adam Vogt **20091112211435 Ignore-this: 462cf1c7f66ab97a1ce642977591a910 The name should be more general to suggest uses other than just viewing other workspaces. ] [X.A.DynamicWorkspaces: fix addWorkspace and friends so they never add another copy of an existing workspace Brent Yorgey **20091112201351 Ignore-this: 5bfe8129707b038ed04383b7566b2323 ] [Trim whitespace in H.FloatNext Adam Vogt **20091111022702 Ignore-this: 1ad52678246fa1ac951169c2356ce10b ] [Use ExtensibleState in H.FloatNext Adam Vogt **20091111022513 Ignore-this: 760d95a685af080466cb4164d1096423 ] [Make a haddock link direct in C.Desktop. Adam Vogt **20091111013810 Ignore-this: da724a7974c3de60f49996c1fe92d3fb ] [Change A.TopicSpace haddocks to use block quotes. Adam Vogt **20091111013241 Ignore-this: 6f7f43d2715cfde62b9c05c7d9a0da2 ] [Add defaultTopicConfig, to allow adding more fields to TopicSpace later. Adam Vogt **20091111012915 Ignore-this: 6dad95769651a9a1ef8d771f81c91f8e ] [X.A.WindowGo: fix haddock markup Spencer Janssen **20091111003256 Ignore-this: c6a06de900ca8b67498abf5152e3d9ea ] [Minor style corrections in X.U.SpawnOnce Daniel Schoepe **20091109201543 Ignore-this: 1264852c23b4f84b2580bf4567529c68 ] [Add gridselectViewWorkspace in X.A.GridSelect Daniel Schoepe **20091109155815 Ignore-this: 5543211e9e3fd325cb798b004635a525 ] [minor-doc-fix-in-ManageHelpers `Henrique Abreu '**20091104172727 Ignore-this: 231ad417541bc3c17a1cb2dff139d55d ] [Set buffering to LineBuffering in scripts/xmonadpropread.hs Daniel Schoepe **20091108204106 Ignore-this: 4e593fc1461fbbfb5b147c7c7702584e (Required for the script to work properly with tools like dzen) ] [X.U.ExtensibleState: style Spencer Janssen **20091108182858 Ignore-this: f189da75ad2c57ae9cca48eaf69a6bad ] [X.A.DynamicWorkspaces: new 'addWorkspacePrompt' method Brent Yorgey **20091108170503 Ignore-this: a3992b1b7938be80d8fd2a5a503a4042 ] [Remove defaulting when using NoMonomorphismRestriction in H.EwmhDesktops Adam Vogt **20091107195255 Ignore-this: ca3939842639c94ca4fd1ff6624319c1 ] [Update A.TopicSpace to use extensible state. No config changes required. Adam Vogt **20091107194502 Ignore-this: 7a82aad512bb727b3447de0faa4a210f ] [Inline tupadd function in A.GridSelect Adam Vogt **20091101190312 Ignore-this: 458968154303ab865c304f387d6ac83b ] [Alphabetize exposed-modules Spencer Janssen **20091107174946 Ignore-this: 919684aea7747a756b303f9b34a2870b ] [Use X.U.SpawnOnce in my config Spencer Janssen **20091107174615 Ignore-this: fe8f5f75136128280942771ec429f09a ] [Add XMonad.Util.SpawnOnce Spencer Janssen **20091107173820 Ignore-this: 8d4657bbaa8dbeb1d0f9d22293bfef19 ] [Store deserialized data after reading in X.U.ExtensibleState Daniel Schoepe **20091107103832 Ignore-this: 192beca56e9437292bd3f16451ae9e66 ] [Fixed conflict between X.U.ExtensibleState and X.C.Sjanssen Daniel Schoepe **20091107103619 Ignore-this: 80f4bb218574d7c528af17473c6e4f66 ] [Use X.U.ExtensibleState instead of IORefs Daniel Schoepe **20091106115601 Ignore-this: e0e80e31e51dfe76f2b2ed597892cbba This patch changes SpawnOn, DynamicHooks and UrgencyHooks to use X.U.ExtensibleState instead of IORefs. This simplifies the usage of those modules thus also breaking current configs. ] [Add X.U.ExtensibleState Daniel Schoepe **20091106115336 Ignore-this: d80d9d0c10a53fb71a375e432bd29344 ] [My config uses xmonadPropLog now Spencer Janssen **20091107005230 Ignore-this: 8f16b8bea86dfcd3739f1566f5897578 ] [Add xmonadpropread script Spencer Janssen **20091107004858 Ignore-this: 8cc7ed36ec1126d0139638148f9642e8 ] [Add experimental xmonadPropLog function Spencer Janssen **20091107004624 Ignore-this: f09b2c11b16a3af993b63d1b39566120 ] [XMonad.Actions.Search: imdb search URL tweak for bug #33 gwern0 at gmail.com**20091103222330 Ignore-this: bae5e6d3ec6c4b6591016ece9dffb202 ] [Clean imports for L.BoringWindows Adam Vogt **20091103140649 Ignore-this: 56946a652329390dbdd63746ca23ee8e ] [I maintain L.BoringWindows Adam Vogt **20091103140509 Ignore-this: de853972b4c1c4cefa2dc29e68828d5d ] [fix window rectangle calculation in X.A.UpdatePointer Tomas Janousek **20091026154918 Ignore-this: ad0c3a020b802854919c7827faa001ad ] [Implement hasProperty in terms of runQuery in U.WindowProperties Adam Vogt **20091031154945 Ignore-this: 1c351bc436e0e323dc25d8f5ff734dcb This addresses issue 302 for unicode titles by actually using the complicated XMonad.ManageHook.title code, instead of reimplementing it with stringProperty (which doesn't appear to handle unicode). ] [Add functions to access the current input in X.Prompt Daniel Schoepe **20091030235033 Ignore-this: 3f568c1266d85dcaa5722b19bbbd61dd ] [Remove putSelection, fixes #317 Spencer Janssen **20091030224354 Ignore-this: 6cfd6d92e1d133bc9e3cbb7c8339f735 ] [Fix typo in H.FadeInactive documentation Adam Vogt **20091029165736 Ignore-this: b2af487cd382416160d5540b7f210464 ] [X.L.MultiCol constructor 0 NWin bugfig Anders Engstrom **20091029105633 Ignore-this: e6a24f581593424461a8675984d14d25 Fix bug where the constructor did not accept catch-all columns. Also some minor cleaning. ] [X.H.ManageHelpers: added currentWs that returns the current workspace Ismael Carnales **20091028193519 Ignore-this: dcd3dac6bd741d26747807691f125637 ] [X.L.MultiColumns bugfix and formating Anders Engstrom **20091027131741 Ignore-this: 6978f485d18adb8bf81cf6c8e0d0332 Fix bug where a column list of insufficient length could be used to find the column of the window. Also fix formating to conform better with standards. ] [X.L.MultiColumns NWin shrinkning fix Anders Engstrom **20091027005932 Ignore-this: 9ba40ee14ec12c3885173817eac2b564 Fixed a bug where the list containing the number of windows in each column was allowed the shrink if a column was unused. ] [New Layout X.L.MultiColumns Anders Engstrom **20091024175155 Ignore-this: a2d3d2eee52c28eab7d125f6b621cada New layout inspired the realization that I was switching between Mirror Tall and Mirror ThreeCol depending on how many windows there were on the workspace. This layout will make those changes automatically. ] [Changing behaviour of ppUrgent with X.H.DynamicLog mail at n-sch.de**20090910010411 Ignore-this: 3882f36d5c49e53628485c1570bf136a Currently, the ppUrgent method is an addition to the ppHidden method. This doesn't make any sense since it is in fact possible to get urgent windows on the current and visible screens. So I've raised the ppUrgent printer to be above ppCurrent/ppVisible and dropped its dependency on ppHidden. In addition to that this makes it a lot more easier to define a more custom ppUrgent printer, since you don't have to "undo" the ppHidden printer anymore. This also basicly removes the need for dzenStrip, although I just changed the description. -- McManiaC / Nils ] [fix X.U.Run.spawnPipe fd leak Tomas Janousek **20091025210246 Ignore-this: 24375912d505963fafc917a63d0e79a0 ] [TAG 0.9 Spencer Janssen **20091026013449 Ignore-this: 542b6105d6deed65e12d1f91c666b0b2 ] Patch bundle hash: 46b3bd6e11bca06aadbda8ca2b085863006556b9 -------------- next part -------------- 1 patch for repository http://code.haskell.org/XMonadContrib: Sun Dec 1 13:11:27 YEKT 2013 Ilya Portnov * InRegion-LayoutModifier This adds new layout modifier, InRegion, which runs underlying layout only in specified rectangle region. New patches: [InRegion-LayoutModifier Ilya Portnov **20131201071127 Ignore-this: c4210596ba74f3b82cb55790d220eed8 This adds new layout modifier, InRegion, which runs underlying layout only in specified rectangle region. ] { addfile ./XMonad/Layout/InRegion.hs hunk ./XMonad/Layout/InRegion.hs 1 +----------------------------------------------------------------------------- +-- | +-- Module : XMonad.Layout.InRegion +-- Copyright : (c) 2013 Ilya Portnov +-- License : BSD3-style (see LICENSE) +-- +-- Maintainer : Ilya Portnov +-- Stability : unstable +-- Portability : unportable +-- +-- Provides InRegion layout modifier, which runs underlying modifier in just +-- smaller rectangle (region) than a given one. +-- +----------------------------------------------------------------------------- + +{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses #-} + +module XMonad.Layout.InRegion + ( -- * Usage + -- $usage + InRegion (..) + , inRegion + ) where + +import XMonad +import XMonad.Layout.LayoutModifier +import qualified XMonad.StackSet as W + +-- $usage +-- InRegion layout modifier runs underlying layout, but only in restricted +-- region of given space. You specify that region with X,Y coordinates +-- of top-left corner, and width, height of rectangle. +-- +-- All numbers are specified as parts of whole region (e.g., screen dimensions). +-- So, @inRegion 0 0 1 1 someLayout@ will just run @someLayout@ as is. +-- +-- You can use this module by adding folowing in your @xmonad.hs@: +-- +-- > import XMonad.Layout.InRegion +-- +-- Then add layouts to your layoutHook: +-- +-- > myLayoutHook = inRegion 0.1 0.1 0.8 0.8 (Tall ...) ||| ... +-- +-- In this example, Tall layout will be run in rectangle with top-left +-- corner at X=10% of screen width, Y=10% of screen height, width=80% +-- of screen width, height=80% of screen height. So, you will have 10% +-- empty gaps at all edges of screen. +-- +-- You can, for example, use InRegion, if your screen is just too wide for +-- you when browsing Internet: +-- +-- > myLayoutHook = inRegion 0.15 0 0.7 1 Full ||| ... +-- +-- In this example, your browser window will take only 70% of screen width, +-- and will be aligned at center, so you will have 15% margins at left and +-- at right. + +data InRegion w = InRegion Rational Rational Rational Rational + deriving (Read, Show) + +instance (Eq w) => LayoutModifier InRegion w where + modifyLayout (InRegion x y w h ) = regionLayout x y w h + pureMess _ _ = Nothing + +regionLayout :: (LayoutClass layout w) + => Rational + -> Rational + -> Rational + -> Rational + -> W.Workspace WorkspaceId (layout w) w + -> Rectangle + -> X ([(w, Rectangle)], Maybe (layout w)) + +regionLayout x y w h wksp rect = do + let rect' = Rectangle (round (x * fromIntegral (rect_width rect))) + (round (y * fromIntegral (rect_height rect))) + (round (w * fromIntegral (rect_width rect))) + (round (h * fromIntegral (rect_height rect))) + runLayout wksp rect' + +inRegion :: LayoutClass l a + => Rational -- ^ X (0 is at left, 0.5 is at center) + -> Rational -- ^ Y (0 is at top, 0.5 is at center) + -> Rational -- ^ W (1 is all available width, 0.5 is half of it) + -> Rational -- ^ H (1 is all available height, 0.5 is half of it) + -> l a + -> ModifiedLayout InRegion l a +inRegion x y w h = ModifiedLayout (InRegion x y w h) + hunk ./xmonad-contrib.cabal 223 XMonad.Layout.IM XMonad.Layout.ImageButtonDecoration XMonad.Layout.IndependentScreens + XMonad.Layout.InRegion XMonad.Layout.LayoutBuilder XMonad.Layout.LayoutBuilderP XMonad.Layout.LayoutCombinators } Context: [fix UrgencyHook and add filterUrgencyHook Adam Vogt **20130924224738 Ignore-this: 3b7c62275701e6758397977c5c09b744 ] [export XMonad.Hooks.UrgencyHook.clearUrgency (issue 533) Adam Vogt **20130923031349 Ignore-this: dafe5763d9abcfa606f5c1a8cf5c57d6 ] [minor documentation fix: manageDocks doesn't do anything with struts, so don't claim it does Daniel Wagner **20130814125106 Ignore-this: a2610d6c1318ac0977abfc21d1b91632 ] [don't pretend to be LG3D in X.C.Dmwit because this confuses modern GTK Daniel Wagner **20130813211636 Ignore-this: 8f728dc1b4bf5e472d99419cc5920e51 ] [XMonad.Actions.UpdatePointer: generalise updatePointer Liyang HU **20130730071007 Ignore-this: 3374a62b6c63dcc152dbf843cd0577f0 ] [XMonad.Actions.UpdatePointer: document TowardsCentre Liyang HU **20130730053746 Ignore-this: 2d684b12e4fff0ebec254bea4a4546a3 ] [Haddock formatting in H.Minimize Adam Vogt **20130723155658 Ignore-this: 5db3186a51dec58f78954466ded339cb ] [Bump version (and xmonad dependency) to 0.12 Adam Vogt **20130720205857 Ignore-this: ce165178ca916223501f266339f1de39 This makes a breakage due to missing patches in core a bit more obvious. Previously you would have a build failure regarding some missing identifiers (def re-exported by XMonad from Data.Default), while after applying this patch it will be clear that xmonad-core needs to be updated. ] [Fix issue 551 by also getting manpath without -g flag. Adam Vogt **20130716030536 Ignore-this: ded2d51eb7b7697c0fdfaa8158d612df Instead of taking Ondrej's approach of figuring out which man (man-db or http://primates.ximian.com/~flucifredi/man/) is used by the system, just try both sets of flags. ] [Escape dzen markup and remove xmobar tags from window titles by default. Adam Vogt **20130708144813 Ignore-this: cf56bff752fbf78ea06d5c0cb755f615 The issue was that window titles, such as those set by, for example a browser, could set the window title to display something like normal title Which could be executed by xmobar (or dzen). This adds a ppTitleSanitize which does the above functions. This way when users override ppTitle, the benefits are not lost. Thanks to Ra?l Benencia and Joachim Breitner for bringing this to my attention. ] [DynamicBars-use-ExtensibleState gopsychonauts at gmail.com**20130618074755 Ignore-this: afacba51af2be8ede65b9bcf9b002a7 Hooks.DynamicBars was previously using an MVar and the unsafePerformIO hack ( http://www.haskell.org/haskellwiki/Top_level_mutable_state ) to store bar state. Since ExtensibleState exists to solve these sorts of problems, I've switched the file over to use unsafePerformIO instead. Some functions' types had to be changed to allow access to XState, but the public API is unchanged. ] [Catch exceptions when finding commands on PATH in Prompt.Shell Thomas Tuegel **20130616230219 Ignore-this: 5a4d08c80301864bc14ed784f1054c3f ] [Fix haddock parse error in X.A.LinkWorkspaces Adam Vogt **20130528133448 Ignore-this: 42f05cf8ca9e6d1ffae3bd20666d87ab ] [use Data.Default wherever possible, and deprecate the things it replaces Daniel Wagner **20130528013909 Ignore-this: 898458b1d2868a70dfb09faf473dc7aa ] [eliminate references to defaultConfig Daniel Wagner **20130528005825 Ignore-this: 37ae613e4b943e99c5200915b9d95e58 ] [minimal change needed to get xmonad-contrib to build with xmonad's data-default patch Daniel Wagner **20130528001040 Ignore-this: 291e4f6cd74fc2b808062e0369665170 ] [Remove unneeded XSync call in Layout.ShowWName Francesco Ariis **20130517153341 Ignore-this: 4d107c680572eff464c8f6ed9fabdd41 ] [Remove misleading comment: we definitely don't support ghc-6.6 anymore Adam Vogt **20130514215851 Ignore-this: 2d071cb05709a16763d039222264b426 ] [Fix module name in comment of X.L.Fullscreen Adam Vogt **20130514215727 Ignore-this: cb5cf18c301c5daf5e1a2527da1ef6bf ] [Minor update to cabal file (adding modules & maintainership) Adam Vogt **20130514215632 Ignore-this: 82785e02e544e1f797799bed5b5d9be2 ] [Remove trailing whitespace in X.A.LinkWorkspaces Adam Vogt **20130514215421 Ignore-this: 5015ab4468e7931876eb66b019af804c ] [Update documentation of LinkWorkspaces Module quesel at informatik.uni-oldenburg.de**20110328072813 Ignore-this: da863534931181f551c9c54bc4076c05 ] [Added a module for linking workspaces quesel at informatik.uni-oldenburg.de**20110210165018 Ignore-this: 1dba2164cc3387409873d33099596d91 This module provides a way to link certain workspaces in a multihead setup. That way, when switching to the first one the other heads display the linked workspaces. ] [Cache results from calcGap in ManageDocks Adam Vogt **20130425155811 Ignore-this: e5076fdbdfc68bc159424dd4e0f14456 http://www.haskell.org/pipermail/xmonad/2013-April/013670.html ] [Remove unnecessary contexts from L.MultiToggle Adam Vogt **20130217163356 Ignore-this: 6b0e413d8c3a58f62088c32a96c57c51 ] [Generalises modWorkspace to take any layout-transforming function gopsychonauts at gmail.com**20130501151425 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. ] [since XMonad.Config.Dmwit mentions xmobar, we should include the associated .xmobarrc file Daniel Wagner **20130503194055 Ignore-this: 2f6d7536df81eb767262b79b60eb1b86 ] [warning police Daniel Wagner **20130502012700 Ignore-this: ae7412ac77c57492a7ad6c5f8f50b9eb ] [XMonad.Config.Dmwit Daniel Wagner **20130502012132 Ignore-this: 7402161579fd2e191b60a057d955e5ea ] [minor fixes to the haddock markup in X.L.IndependentScreens Daniel Wagner **20130411193849 Ignore-this: b6a139aa43fdb39fc1b86566c0c34c7a ] [add whenCurrentOn to X.L.IndependentScreens Daniel Wagner **20130408225251 Ignore-this: ceea3d391f270abc9ed8e52ce19fb1ac ] [Allow to specify the initial gaps' states in X.L.Gaps Paul Fertser **20130222072232 Ignore-this: 31596d918d0050e36ce3f64f56205a64 ] [should bump X11 dependency, too, to make sure we have getAtomName Daniel Wagner **20130225180527 Ignore-this: 260711f27551f18cc66afeb7b4846b9f ] [getAtomName is now defined in the X11 library Daniel Wagner **20130225180323 Ignore-this: 3b9e17c234679e98752a47c37132ee4e ] [Allow to limit maximum row count in X.Prompt completion window Paul Fertser **20130221122050 Ignore-this: 923656f02996f2de2b1336275392c5f9 On a keyboard-less device (such as a smartphone), where one has to use an on-screen keyboard, the maximum completion window height must be limited to avoid overlapping the keyboard. ] [Note in U.NameActions that xmonad core can list default keys now Adam Vogt **20130217233026 Ignore-this: 937bff636fa88171932d5192fe8e290b ] [Export U.NamedActions.addDescrKeys per evaryont's request. Adam Vogt **20130217232619 Ignore-this: a694a0a3ece70b52fba6e8f688d86344 ] [Add EWMH DEMANDS_ATTENTION support to UrgencyHook. Maarten de Vries **20130212181229 Ignore-this: 5a4b314d137676758fad9ec8f85ce422 Add support for the _NET_WM_STATE_DEMANDS_ATTENTION atom by treating it the same way as the WM_HINTS urgency flag. ] [Unconditionally set _NET_WORKAREA in ManageDocks Adam Vogt **20130117180851 Ignore-this: 9f57e53fba9573d8a92cf153beb7fe7a ] [spawn command when no completion is available (if alwaysHighlight is True); changes commandToComplete in Prompt/Shell to complete the whole word instead of using getLastWord c.lopez at kmels.net**20130209190456 Ignore-this: ca7d354bb301b555b64d5e76e31d10e8 ] [order-unindexed-ws-last matthewhague at zoho.com**20120703222726 Ignore-this: 4af8162ee8b16a60e8fd62fbc915d3c0 Changes the WorkspaceCompare module's comparison by index to put workspaces without an index last (rather than first). ] [SpawnOn modification for issue 523 Adam Vogt **20130114014642 Ignore-this: 703f7dc0f800366b752f0ec1cecb52e5 This moves the function to help clean up the `Spawner' to the ManageHook rather than in functions like spawnOn. Probably it makes no difference, the reason is because there's one manageSpawn function but many different so this way there are less functions to write. ] [Update L.TrackFloating.useTransient example code Adam Vogt **20130112041239 Ignore-this: e4e31cf1db742778c1d59d52fdbeed7a Suggest useTransient goes to the right of trackFloating which is the configuration actually tested. ] [Adapt ideas of issue 306 patch to a new modifier in L.TrackFloating Adam Vogt **20130112035701 Ignore-this: d54d27b71b97144ef0660f910fd464aa ] [Make X.A.CycleWS not rely on hidden WS order Dmitri Iouchtchenko **20130109023328 Ignore-this: 8717a154b33253c5df4e9a0ada4c2c3e ] [Add X.H.WorkspaceHistory Dmitri Iouchtchenko **20130109023307 Ignore-this: c9e7ce33a944facc27481dde52c7cc80 ] [Allow removing arbitrary workspaces Dmitri Iouchtchenko **20121231214343 Ignore-this: 6fce4bd3d0c5337e5122158583138e74 ] [Remove first-hidden restriction from X.A.DynamicWorkspaces.removeWorkspace' Dmitri Iouchtchenko **20121231214148 Ignore-this: 55fb0859e9a5f476a834ecbdb774aac8 ] [Add authorspellings file for `darcs show authors'. Adam Vogt **20130101040031 Ignore-this: c3198072ebc6a71d635bec4d8e2c78fd This authorspellings file includes a couple people who've contributed to xmonad (not XMonadContrib). When people have multiple addresses, the most recent one has been picked. ] [TAG 0.11 Adam Vogt **20130101014231 Ignore-this: 57cf32412fd1ce912811cb7fafe930f5 ] [bump cabal-version to satsify hackage Adam Vogt **20130101014159 Ignore-this: 1dd69577a60bae63362a42022764e5fd ] [bump version to 0.11 Adam Vogt **20121231104252 Ignore-this: 8c57d0f366509655d0473adf802eb1ce ] [Add more metadata to cabal file Adam Vogt **20121231184513 Ignore-this: b7767194e905f2bbd918bb0d371f281 ] [X.A.Workscreen make the whole module description show up for haddock Adam Vogt **20121231024600 Ignore-this: a2ac895989090322a849695068f812b5 ] [Note that an alternative to XMonad.Actions.ShowText is X.U.Dzen Adam Vogt **20121231023042 Ignore-this: ae6476e5d33a559fd8503c44413311b8 ] [Add X.A.DynamicWorkspaces.renameWorkspaceByName. Dmitri Iouchtchenko **20121227063531 Ignore-this: 4b8aa0405de3969000b1a78eb12992 ] [Change type of X.A.ShowText.handleTimerEvent so example code typechecks. Adam Vogt **20121226013841 Ignore-this: 3c58a9ff124ab02325df6f38e0eaec05 ] [Describe arguments for X.A.ShowText.flashText Adam Vogt **20121226013725 Ignore-this: 7f00a11196115ebf814c616aaf8e96f ] [Add XMonad.Actions.ShowText pastorelli.mario at gmail.com**20121225202635 Ignore-this: 5f4818f7ec9ad37df58e73d4bb8b5590 ] [Record polachok's fix for issue 507 Adam Vogt **20121216182724 Ignore-this: 13743d035e50f642de017c3304f914e ] [Removes unused function spawnWithActions and redundant imports in XMonad.Actions.Launcher c.lopez at kmels.net**20121215223714 Ignore-this: 76d7ac195e186b491968a548a13889c ] [A.Launcher markup identifiers for haddock links Adam Vogt **20121215165914 Ignore-this: 2fd3fa1dd4e00d573dd359a4b6a7291b ] [Address warnings from Debug modules Adam Vogt **20121215165525 Ignore-this: f97416ae4feffe4e5f9916d14d9e1524 The warnings were related to ghc-7.6 removing Prelude.catch (triggering warnings regarding the import hiding it), as well as defaulting of some numeric types. ] [Removes LocateMode and LocateRegexMode from XMonad.Actions.Launcher c.lopez at kmels.net**20121214211230 Ignore-this: b8ad32f23f15368a94202f9ad73995f2 ] [debug-hooks allbery.b at gmail.com**20120813223821 Ignore-this: 7f41c93fdd6643c687598d2fe07aad5d Hooks to print diagnostic information to stderr (usually .xsession-errors) to help debug complex issues involving the StackSet and received events. ] [Remove trailing whitespace. Adam Vogt **20121109014156 Ignore-this: 72e3afb6e6df47c51262006601765365 ] [Use Control.Exception.catch explitly to avoid warnings Adam Vogt **20121109013506 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. ] [Add missing type signatures. Adam Vogt **20121109012752 Ignore-this: f54f5d9907ae48d58c98de7f8eb1f8a For whatever reason, some patches applied were missing these signatures. While haddock has been able to include inferred signatures for a while, including type signatures makes it easier to see if and when types have been changed. ] [Rename variables "state" to avoid warnings about shadowing Adam Vogt **20121109012316 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) ] [Rename variable in L.Minimize to avoid shadowing. Adam Vogt **20121109003410 Ignore-this: b46d3e8e0d4106cea6966116be386677 This "state" is new with a newer mtl. ] [Gut H.ICCCMFocus: issue 177 has been merged in core. Adam Vogt **20121108225716 Ignore-this: 937fe7f514ea6e36ee529e055e100e7f Keep the module for now: the LG3D bit might still be useful and there's no need to break configs unnecessarily. ] [ewmh-eventhook-custom pastorelli.mario at gmail.com**20120816153032 Ignore-this: 95176f6d955d74321c28caafda63faa0 Add ewmhDesktopsEventHookCustom, a generalized version of ewmhDesktopsEventHook that takes a sort function as argument. This sort function should be the same used by the LogHook. ] [Added smart spacing to the spacing module daedalusinfinity at gmail.com**20120923034527 Ignore-this: 9104bc8feb832f63f2f18998c0f7ba92 Added smart spacing to the spacing module, which adds spacing to all windows, except to windows on singleton workspaces. ] [Improves haddock documentation c.lopez at kmels.net**20120826091716 Ignore-this: a0ce4838652acfff7922c111e4d879bb ] [Improve comments, add an error throw that shouldn't happen c.lopez at kmels.net**20120826085426 Ignore-this: 7675070826b3c53499e4352e692d6036 ] [fix a bug when ncompletions = nrows c.lopez at kmels.net**20120826083137 Ignore-this: 5f573028318473c333809217c271a81d ] [Fixes typos in Actions.Launcher haddock documentation c.lopez at kmels.net**20120811112502 Ignore-this: f8152c0ad59d2b0cc9a6c9061e83aaf0 ] [Correctly get the autocompletion item when alwaysHighlight in XMonad.Prompt is True c.lopez at kmels.net**20120811104805 Ignore-this: fa2600df210c7d3472a797f19fb31a7 ] [Removes warnings, adds a browser value for LauncherConfig in haddock comments c.lopez at kmels.net**20120628114533 Ignore-this: 2610cf63594db3df61bac52f3d8f5836 ] [Changes on XPrompt: c.lopez at kmels.net**20120628101749 Ignore-this: 2384f5c1b886716b3d9785877c2e32f9 * Adds mkPromptWithModes, creates a prompt given a list of modes (list of XPType). * Adds Setting `alwaysHighlight` to defaultXPConfig. When set to true, autocompletion always highlight the first result if it is not highlighted. Adds module XMonad.Actions.Launcher. This module allows to combine and switch between instances of XPrompt. It includes a default set of modes which require the programs `hoogle`, `locate` and `calc` to be installed to work properly. ] [accept more windows as docks Daniel Wagner **20120823124153 Ignore-this: 21d9b406c7e39cca2cc60331aab04873 ] [strip newlines from dmenu's returns to be compatible with the newest version of dmenu longpoke at gmail.com**20120723212807 Ignore-this: 3b11a35125d0bc23b33e0b926562f85a ] [A workscreen permits to display a set of workspaces on several kedals0 at gmail.com**20120706093308 Ignore-this: 572ed3c3305205bfbcc17bb3fe2600a3 screens. In xinerama mode, when a workscreen is viewed, workspaces associated to all screens are visible. The first workspace of a workscreen is displayed on first screen, second on second screen, etc. Workspace position can be easily changed. If the current workscreen is called again, workspaces are shifted. This also permits to see all workspaces of a workscreen even if just one screen is present, and to move windows from workspace to workscreen. ] [refer to the new name 'handleEventHook' instead of the old name 'eventHook' in X.L.Fullscreen documentation Daniel Wagner **20120618181003 Ignore-this: bd3b26c758cf3993d5a93957bb6f3663 ] [UrgencyHooks made available as Window -> X () functions gopsychonauts at gmail.com**20120504062339 Ignore-this: 6a57cae1d693109b7e27c6471d04f50f Adds an UrgencyHook instance for the type Window -> X (), allowing any such functions to be used directly as UrgencyHooks. The Show and Read constraints were removed from the UrgencyHook class in order to permit this; these constraints were required only in a historical implementation of the module, which used a layout modifier. All existing configurations using UrgencyHooks should remain fully functional. New configs may make use of this modification by declaring their UrgencyHook as a simple Window -> X () function. ] [updates to XMonad.Prompt re: word-oriented commands Brent Yorgey **20120510174317 Ignore-this: 138b5e8942fe4b55ad7e6ab24f17703f + change killWord and moveWord to have emacs-like behavior: first move past/kill consecutive whitespace, then move past/kill consecutive non-whitespace. + create variants killWord' and moveWord' which take a predicate specifying non-word characters. + create variants defaultXPKeymap' and emacsLikeXPKeymap' which take the same sort of predicate, which is applied to all keybindings with word-oriented commands. ] [Added isUnfocusedOnCurrentWS and fadeInactiveCurrentWSLogHook for better support of fading/opacity on multi monitor setups Jesper Reenberg **20120329141818 Ignore-this: d001a8aafbcdedae21ccd1d18f019185 ] [Fixed X.A.GridSelect to be consistent in the way it (now) sorts the shown Jesper Reenberg **20120501180415 Ignore-this: 1d0991f9fb44e42f5d1c5a4f427ea661 elements when modifying the searchString. The implemented ordering sorts based on how "deep the needle is in the haystack", meaning that searching for "st" in the elements "Install" and "Study" will order them as "Study" and "Install". Previously there was no ordering and when using GridSelect to select workspaces, the ordering was not consistent, as the list of workspaces (if not modified manually) is ordered by last used. In this case either "Study" or "Install" would come first depending on which workspace was last visited. ] [Use getXMonadDir to get the default xmonad directory. Julia Jomantaite **20120501121427 Ignore-this: a075433761488b76a58a193aeb4e4a25 ] [Minor haddock formatting for X.L.OnHost and X.A.DynamicWorkspaceOrder Adam Vogt **20120428194552 Ignore-this: 843ec567e249cc96d51ca931f1e36514 ] [Remove trailing whitespace. Adam Vogt **20120428194048 Ignore-this: d61584110954e84d3611ef3497a29725 ] [Add emacs-like keys to browse history in XMonad.Prompt Carlos Lopez-Camey **20120421110737 Ignore-this: b90345f72007d09a6b732b974c0faf79 ] [Adds an emacs-like Keymap in XMonad.Prompt Carlos Lopez-Camey **20120421012335 Ignore-this: f281b8ad01f3d21055e2d6de79af2d79 ] [add 'withNthWorkspace' to DynamicWorkspaceOrder. jakob at pipefour.org**20120407184640 Ignore-this: f5f87ffe9ddf1a12fab775e6fb8e856f Note this is very similar to the function of the same name exported by DynamicWorkspaces. Ultimately it would probably be cleaner to generalize the one in DynamicWorkspaces to accept an arbitrary workspace sort as a parameter; this is left as an exercise for future hackers. ] [XMonad.Layout.OnHost allows host-specific modifications to a layout, which allbery.b at gmail.com**20120320030912 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. ] [Bump version to 0.10.1 Adam Vogt **20120320005311 Ignore-this: f0608ffaa877f605eaa86c45a107a14d Raising the X11 dependency while keeping the xmonad version the same leads to problems where cabal install uses the dependency versions following hackage, not what is installed. ] [narrower BorderResize rectangles placed within border edges Jens Petersen **20120314064703 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. ] [add-dynamic-bars-module Ben Boeckel **20120316002204 Ignore-this: 41347c8f894d8d0b5095dfad86784cf4 This adds the X.H.DynamicBars module. It allows per-screen status bars to be easily managed and dynamically handles the number of screens changing. ] [bump X11 dependency so that noModMask is available Daniel Wagner **20120316000302 Ignore-this: 971a75dcad25f66848eef4174cd4ddd1 ] [Paste.hs: rm noModMask, shifted definition to X11 binding (see previous email) gwern0 at gmail.com**20111203203038 Ignore-this: dcd164ff8f8f135c8fdef08f42f9244d ] [GroupNavigation: fix import typo in usage Jens Petersen **20120312103349 Ignore-this: 65367218ca50a33a37813469b4616f34 ] [add sendToEmptyWorkspace to FindEmptyWorkspace Jens Petersen **20120312102331 Ignore-this: 50e7992d80d2db43e4d0adf5c95e964f sendToEmptyWorkspace is like tagToEmptyWorkspace except it does not change workspace after moving the window. ] [xmonad-contrib.cabal: simplify xmonad dependency to >=0.10 && < 0.11 Jens Petersen **20120312101800 Ignore-this: 1ff5a0caa2a1e3487e9a0831e385b3d2 Unless there is a particular reason for listing the lower and upper bounds separately then this seems simpler and cleaner. ] [ShowWName: Increase horizontal padding for flash crodjer at gmail.com**20120305164517 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. ] [persist-togglehook-options Ben Boeckel **20120311050143 Ignore-this: 580bacb35b617c1198f01c5a7c0d3fef Save the state of ToggleHook options over a restart. ] [ShowWName flash window background color Rohan Jain **20120306065224 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. ] [ShowWName: Fix flash location by screen rectangle crodjer at gmail.com**20120305161240 Ignore-this: 83ec4cce2297efc6736a1fe55f44ee73 In case of using this hook with multiple monitors, the Tag flash was not following the screen's coordinates. This patch shifts the new window created for flash according to the Rectangle defined by the screen. ] [Fix typo in tabbed layout link for font utils docs crodjer at gmail.com**20120229070022 Ignore-this: 2f7e90269e08ce08264d7b1d05bb16f9 ] [L.WorkspaceDir: cleanup redundant {definitions,imports} Steffen Schuldenzucker **20120229112124 Ignore-this: 7a796b18a64e693e071e9ea3a6a01aa3 ] [fix L.WorkspaceDir special char handling: remove "echo -n" processing Steffen Schuldenzucker **20120227122004 Ignore-this: ab48687eb4c9018312089a13fd25ecd8 ] [Add BorderUrgencyHook to XMonad.Hooks.UrgencyHook allbery.b at gmail.com**20120225082616 Ignore-this: 9fac77914ff28a6e9eb830e8c9c7e21e BorderUrgencyHook is a new UrgencyHook usable with withUrgencyHook or withUrgencyHookC; it allows an urgent window to be given a different border color. This may not always work as intended, since UrgencyHook likes to assume that a window being visible is sufficient to disable urgency notification; but with suppressWhen = Never it may work well enough. There is a report that if a new window is created at the wrong time, the wrong window may be marked urgent somehow. I seem to once again be revealing bugs in underlying packages, although a quick examination of X.H.UrgencyHook doesn't seem to show any way for the wrong window to be selected. ] [Adding use case for namedScratchpad. nicolas.dudebout at gatech.edu**20120122235843 Ignore-this: 44201e82bcd708cd7098f060345400f1 ] [Actions.WindowGo: typo fix - trim 's' per cub.uanic https://code.google.com/p/xmonad/issues/detail?id=491 gwern0 at gmail.com**20120116224244 Ignore-this: fb1d55c1b4609069c55f13523c091260 ] [XMonad.Actions.PhysicalScreens: fix typo spotted by Chris Pick gwern0 at gmail.com**20120115223013 Ignore-this: eb73b33b07dc58a36d3aa00bc8ac31c2 ] [roll back previous incorrect fix Daniel Wagner **20120111214133 Ignore-this: 91496faef411e6ae3442498b528d119b ] [Extending: fix http://code.google.com/p/xmonad/issues/detail?id=490 gwern0 at gmail.com**20120111211907 Ignore-this: 515afbed507c070d60ab547e98682f12 ] [another documentation patch: XMonadContrib.UpdatePointer -> XMonad.Actions.UpdatePointer Daniel Wagner **20120111211226 Ignore-this: 1444e4a3f20ba442602ef1811d0b32c7 ] [documentation patch, fixes issue 490 Daniel Wagner **20120111210832 Ignore-this: 8d899e15f9d1a657e9fc687e2f649f45 ] [X.H.EwmhDesktops note that fullscreenEventHook is not included in ewmh Adam Vogt **20120102211404 Ignore-this: 92f15fa93877c165158c8fbd24aa2360 Just a documentation fix (nomeata's suggestion at issue 339). ] [X.H.EwmhDesktops haddock formatting. Adam Vogt **20120102211203 Ignore-this: cfff985e4034e06a0fe27c52c9971901 ] [X.A.Navigation2D Norbert Zeh **20111208205842 Ignore-this: 3860cc71bfc08d99bd8279c2e0945186 This is a new module to support directional navigation across multiple screens. As such it is related to X.A.WindowNavigation and X.L.WindowNavigation, but it is more general. For a detailed discussion of the differences, see http://www.cs.dal.ca/~nzeh/xmonad/Navigation2D.pdf. ] [documentation patch: mention PostfixOperators Daniel Wagner **20111210234820 Ignore-this: 20a05b1f396f18a742346d6e3daea9a8 ] [P.Shell documentation and add missing unsafePrompt export Adam Vogt **20111207163951 Ignore-this: a03992ffdc9c1a0f5bfa6dafc453b587 Haddock (version 2.9.2 at least) does not attach documentation to any of a b or c when given: -- | documentation a,b,c :: X ] [Paste: 3 more escaped characters from alistra gwern0 at gmail.com**20111129160335 Ignore-this: 46f5b86a25bcd2b26d2e07ed33ffad68 ] [unfuck X.U.Paste Daniel Wagner **20111129032331 Ignore-this: d450e23ca026143bb6ca9d744dcdd906 ] [XMonad.Util.Paste: +alistra's patch for fixing his pasting of things like email address (@) gwern0 at gmail.com**20111128215648 Ignore-this: 4af1af27637fe056792aa4f3bb0403eb ] [XMonad.Util.Paste: rm myself from maintainer field; I don't know how to fix any of it even if I wanted gwern0 at gmail.com**20111128213001 Ignore-this: 87a4996aaa5241428ccb13851c5eb455 ] [XMonad.Prompt.Shell: improve 'env' documentation to cover goodgrue's problem gwern0 at gmail.com**20111127231507 Ignore-this: 7b652a280960cbdf99c236496ca091b0 ] [Fix spelling 'prefered' -> 'preferred'. Erik de Castro Lopo **20111125010229 Ignore-this: f2eac1728b5e023399188becf867a14d ] [Restore TrackFloating behavior to an earlier version. Adam Vogt **20111120045538 Ignore-this: 1a1367b4171c3ad23b0553766021629f Thanks for liskni_si for pressing the matter: without this change it is very broken, with the patch it is still not perfect but still useful. ] [Explicitly list test files in .cabal Adam Vogt **20111118232511 Ignore-this: ac48a0d388293cc6c771d676aaf142e3 In the future, require Cabal >= 1.6 to be able to just write tests/*.hs ] [TAG 0.10 Adam Vogt **20111118225640 Ignore-this: 8f81b175b902e985d584160fc41ab7d1 ] [Export types to improve haddock links. Adam Vogt **20111118190642 Ignore-this: 254c5a6941009701dc444043b0eeace5 ] [Better control over GridVariants geometry nzeh at cs.dal.ca**20110907133304 Ignore-this: 59da789a28f702595159eeb6ddd30fd9 Added new messages the layout understands to allow changing the grid aspect ratio and setting the fraction of the master to a given value rather than changing it relative to the current value. ] [Support for scratchpad applications with multiple windows Norbert Zeh **20110406140213 Ignore-this: 4c7d5f2ff95292438464e0b1060ab324 I recently found that I use xpad to add sticky notes to my desktop. I wanted to be able to show/hide these in the same fashion as regular scratchpads. This patch adds a function that allows to do this while reusing most of the existing NamedScratchpad code. ] [Additional messages for SplitGrid layout Norbert Zeh **20091215192142 Ignore-this: eb945168d1c420e5a9ed87da12a7acf8 This patch introduces two new message SetMasterRows and SetMasterCols for the X.GridVariants.SplitGrid layout, which set the number of rows/columns in the master grid to the given value. This is useful when setting the number of rows and/or columns non-incrementally using an interface such as GridSelect. ] [Be consistent with core utf8-string usage. Adam Vogt **20111118184745 Ignore-this: 9de0599d0fb888c58e11598d4de9599e Now that spawn assumes executeFile takes a String containing utf8 codepoints (and takes an actual String as input) adjust Prompt.Shell to avoid double encoding. U.Run functions are updated to be consistent with spawn. ] [Export types to reduce haddock warnings. Adam Vogt **20101023195755 Ignore-this: 1cac9202784711ce0fc902d14543bab0 ] [documentation patch: note the drawbacks of X.U.Dmenu Daniel Wagner **20111115022726 Ignore-this: 97f9676ca075a6f96e090045886083ca ] [get ready for GHC 7.4: Num a no longer implies (Eq a, Show a) Daniel Wagner **20111115022650 Ignore-this: faa34d69ddd27b98c6507740b42c9e97 ] [Correct completions of utf8-named file in X.P.Shell Adam Vogt **20111111215655 Ignore-this: 9aa10143f313b06afdb11e61777a7d20 ] [Expose X.L.Groups.Helpers and Groups.Wmii in xmonad-contrib.cabal Wirt Wolff **20111104053703 Ignore-this: fd50e32f61af64b9e53701787cebcd97 They provide many useful exports and are linked from X.L.Groups so promote them from other-modules or missing status. ] [Small bugfix to XMonad.Layout.Fullscreen Audun Skaugen **20111023102940 Ignore-this: adcfedf11b40be2cdd61f615551e0ae Fixed a small bug in the layout modifers where windows entering fullscreen were not refreshed. Also fixed some funny whitespace characters. ] [documentation patch: add a bit more context to the code snippets in X.L.IndependentScreens Daniel Wagner **20111011204619 Ignore-this: cbb03927204aa3c01aa9bea067d37bce ] [U.EZConfig allow removing more than one mouse binding. Adam Vogt **20110923123907 Ignore-this: 6f32ef805566f03977ea5c0fe0ace958 ] [Remove X.A.GroupNavigation.currentWindow Norbert Zeh **20110920083922 Ignore-this: 4b202a9c9e3a13c5e34862784ea4acfa This function does the same as X.StackSet.peek and all its uses have been replaced with X.StackSet.peek. ] [Fix typo in NoBorders example code. Adam Vogt **20110814195314 Ignore-this: 3ad6aaf287962bfce707b2324de91eec ] [Add XF86TouchpadToggle to the list of multimedia keys in X.U.EZConfig Daniel Schoepe **20110917151419 Ignore-this: 84986d5b16c54199a589ed68842f5191 ] [documentation patch to XMonad.Doc.Extending Daniel Wagner **20110916202845 Ignore-this: 77998915c337590f127fd4a4b6029029 ] [fix warnings in X.U.EZConfig Brent Yorgey **20110908133246 Ignore-this: 5322d61eaf30b13e68a5674f8ac7084d ] [X.A.CycleWS Refactor and add toggleWS' that excludes listed tags Wirt Wolff **20110907232730 Ignore-this: bec03fcb6aa16452d3a0425d156823a4 ] [X.A.FlexibleManipulate: Set expected fixities for Pnt math operators Wirt Wolff **20110904221247 Ignore-this: 9ae239c4120eae866983ecfe5cc59894 Restores broken mouseWindow discrete linear and resize to 0.9.1 behavior ] [GHC 7 compat Daniel Wagner **20110731170850 Ignore-this: 17a43a709e70ebccc925e016d7057399 * true error: more modules export foldl/foldl'/foldr, so explicitly use the Data.Foldable one * -Werror error: transition from Control.OldException to Control.Exception, assuming everything was IOException ] [Correct H.DynamicLog.dynamicLogXinerama comment. Wuzzeb's patch at issue 466. Adam Vogt **20110714231741 Ignore-this: 8434fe4c740fc06b5b17f016e28e0376 Slight changes to the patch to 1. work with haddock, and 2. remove ppOutput which distracts from the formatting and is covered elsewhere. ] [ungrab-keyboard-before-action Ben Boeckel **20110515210312 Ignore-this: 5b8f3c286e8231a4d7ade2acbb2ae84a If an action that requires the keyboard to be grabbed (e.g., launching dmenu), it is a race when submapping the action as to whether the action will have access to the keyboard or not. To fix this, the keyboard should be ungrabbed before executing the action. ] [add-movenext-moveprev-bindings Ben Boeckel **20110515193326 Ignore-this: 2ad1ce1de0c2954b2946551dd62e6b3b Adds default bindings to GridSelect for the moveNext and movePrev motions. ] [X.L.LayoutHints: refresh only if hints are not satisfied Tomas Janousek **20110615150333 Ignore-this: e081f5fbd6a721e260212548d830ff6b ] [L.Spacing use imported fi Adam Vogt **20110612192339 Ignore-this: ac3b405e8c43d1b1db58ecf80fafab8e ] [Use a phantom type instead of undefined in L.LayoutBuilderP Adam Vogt **20110609051858 Ignore-this: f9009c339ac20245ca0b1dc8154b673f This better expresses the idea that the argument to alwaysTrue is just there to select an instance. Another option could be to do use a fundep, which seems to be compatible with the two instances so far. class Predicate p w | p -> w ] [Add more L.LayoutBuilderP documentation Adam Vogt **20110609050922 Ignore-this: 1441d917c84b165f30711e572e239392 ] [Correct L.LayoutBuilderP module name in haddock. Adam Vogt **20110609043940 Ignore-this: 3c322c0767969fa42b1e2c32cf3f8a1a ] [Extend script for generating the code which runs tests Adam Vogt **20110609040722 Ignore-this: 44ebbee2683f50bc0728458f4babcce Now the number of runs each can be set, and the failures and successes are summarized in the same way as the core Properties.hs. There is some duplicated code which could be avoided by modifying Properties.hs. ] [Move tests from ManageDocks to tests/ Adam Vogt **20110609040220 Ignore-this: 31d51fae83d88e15cdb69f29da003bf7 The change to use a newtype for RectC is kind of ugly, but this way instances are less likely to conflict in the tests. ] [Export X.A.CycleWS.screenBy (issue 439) Adam Vogt **20110607002053 Ignore-this: 2eaa2a852a3356f6163c4d38f72e730f ] [X.H.FloatNext: export X.H.ToggleHook.runLogHook Tomas Janousek **20110528191700 Ignore-this: 5fd923e800a1a3f0977f126df7882c54 Otherwise the user has to import XMonad.Hooks.ToggleHook as well, which he didn't have to in earlier versions. ] [Documentation fix (issue 445) Adam Vogt **20110527033521 Ignore-this: c73b88f9567af86bd560b911e33da301 Daniel's change which broke -Wall (adding an import for haddock only) was somehow removed. Instead we can just modify the sample code to add the import. ] [X.A.AppendFile documentation fix. Adam Vogt **20110527032854 Ignore-this: 1ee126ddba1b06d07fba86ca43f74ab8 Forgotten > means haddock complained (and generated incorrect output). More controversially I reworded a sentence and use do notation. ] [add-willhook-function Ben Boeckel **20110515191718 Ignore-this: 9db50eec5b91baa973b4a92c72aeceaf Adds a function that hooks into whether the hook will be triggered on the next request. ] [use-map-in-toggle-hook Ben Boeckel **20110515191418 Ignore-this: 2bf69aa1a875e7ef1748a5ab51b33daa Use "Data.Map String (Bool, Bool)" instead of "[(String, (Bool, Bool))]" in X.H.ToggleHook. ] [Extend GridSelect navigation Ilya Portnov **20110515154246 Ignore-this: f2d279b8e46e6eaf3477fdc5cf77be63 Add moveNext and movePrev, which move selection to next/previous item. ] [Generalize X.L.AutoMaster modifier Ilya Portnov **20110514132549 Ignore-this: 481c35dd721405bab8b085c45cb983ce Enable it to work not only with Windows, but with any (Eq) type. ] [Cleanup in X.L.LayoutBuilderP. Ilya Portnov **20110514132232 Ignore-this: 59d9ce37218424e1bc225a42d71982ab Remove unused datatype declaration and export usefull typeclass. ] [Aesthetics on Flexiblemanipulate Mats Rauhala **20110506094431 Ignore-this: 8864c1ba9723ebcc3b183ea9d636a203 Based on Adam Vogts recommendation on the mailing list. I had to give explicit type signatures to get rid of warnings, but nearly verbatim to his version. ] [Compile with ghc7 Mats Rauhala **20110504192455 Ignore-this: 218d2e19835f1e4315c01bd6214899ce ] [Add new layout combinator: LayoutBuilderP. Ilya Portnov **20110511154010 Ignore-this: 377b748cb6b84ef7c9f7cde1d4ebd535 LayoutBuilderP is similar to LayoutBuilder (and is based on it), but LayoutBuilderP places windows matching given X.U.WindowProperties.Property (or any other predicate) into one rectangle, instead of fixed number of windows. ] [Action search autocomplete based on whole line Mats Rauhala **20110504215201 Ignore-this: 869cf6954be97ea05cbcf7457ab430b7 The previous version autocompleted based on words, but when searching from web sites, it makes more sense to autocomplete based on the entire search. ] [documentation: tell where to find a few auxiliary functions that might be useful in conjunction with X.A.DynamicWorkspaces Daniel Wagner **20110415224846 Ignore-this: 1bd2232081ba045582d230b632c5bd08 ] [Typo in window-properties.sh Brandon S Allbery KF8NH **20110413053002 Ignore-this: 4b3d4ef6ba7229f11d93b3cf66055698 Somewhere between my creating the original version of this script and adding it to the tree, a backslash got lost. It appears to have been lost in the version I put on the wiki, so I suspect a copy-paste problem at that point. ] [XMonad.Hooks.FadeWindows: A generalized window fading hook Brandon S Allbery KF8NH **20110226002436 Ignore-this: f21d1085ecca26602631f46c45bc198b ] [Script to simplify getting ManageHook information from a window Brandon S Allbery KF8NH **20110224024937 Ignore-this: ef0e0089dca94c7c2321f791d5d7ffe ] [XMonad/Hooks/DebugKeyEvents - debug helper to see what keys xmonad sees Brandon S Allbery KF8NH **20110224023613 Ignore-this: 5a6a99b7fcc31236152a82aa9c2cda16 ] [Prevent non-default XUtils windows from being composited Brandon S Allbery KF8NH **20110224003224 Ignore-this: 41a67b8504c412e2754085eb0038f416 ] [XMonad.Hooks.FloatNext: issue #406, make FloatNext use ToggleHook gwern0 at gmail.com**20110412015217 Ignore-this: d06aecd03be0cbd507d3738dfde6eee7 ] [issue #406: ben boeckel +XMonad.Hooks.ToggleHook gwern0 at gmail.com**20110412015127 Ignore-this: 125891614da94a5ac0e66e39932aa17e ] [Fix xinerama workspace swapping with A.CopyWindow.killAllOtherCopies Adam Vogt **20110301033736 Ignore-this: de5727d1248d94447c4634a05a90d1cc Spotted by arlinius in #xmonad, and this only shows up for xinerama setups. Using an algorithm that scales better with number of workspaces would probably be shorter too (visiting them in turn, rather than doing random access), but probably not worth the effort. ] [XMonad.Util.Run: resolve issue #441 gwern0 at gmail.com**20110411163740 Ignore-this: 9e3da81df65f6750c822a5044952f1a1 See > I have run into programs that fail when run by safeSpawn but succeed with spawn. > I tracked it down in one (python) and it seems to be due to uninstallSignalHandlers. > When run by safeSpawn, the program reports errors from wait. dylan did not supply a patch and his version doesn't match the declared type signature; since I don't want to break every `safeSpawn` user, I tossed a `>> return ()` in to make the type right, although I'm troubled at removing the exception functions. ] [AppendFile: additional example of usage gwern0 at gmail.com**20110126201018 Ignore-this: 2ba40977463ff15140067ef73947785c ] [Fix A.Gridselect image links (thanks dobblego) Adam Vogt **20110119230113 Ignore-this: e2b334e13c5900a72daff866270b13db ] [Bump version to 0.10 to help keep the correct contrib/core versions together. Adam Vogt **20110115180553 Ignore-this: c3f3bf382225ec14477ed9298aea89af ] [H.ICCCMFocus had atom_WM_TAKE_FOCUS incorrectly removed Adam Vogt **20110106192052 Ignore-this: c566320f252d9fe717080e2da37ff262 It is possible that this atom should be defined in the X11 library, but fix the build of contrib for now. In any case, this would have to wait for a change and release of the X11 binding. rolling back: Wed Jan 5 22:38:39 EST 2011 Adam Vogt * Remove accidental atom_WM_TAKE_FOCUS from H.ICCCMFocus The XMonad module exports this already M ./XMonad/Hooks/ICCCMFocus.hs -7 +1 ] [Remove accidental atom_WM_TAKE_FOCUS from H.ICCCMFocus Adam Vogt **20110106033839 Ignore-this: 318d60c8cf4ae4f22a7500948a40ebaf The XMonad module exports this already ] [Java swing application focus patch haskell at tmorris.net**20110105032535 Ignore-this: 301805eb559489d34d984dc13c0fa5d0 ] [fix X.L.Gaps documentation, thanks to Carl Mueller for the report Brent Yorgey **20101223010744 Ignore-this: d60b64676668d5b82efb9215ac5605f6 ] [Fix A.OnScreen example code typo Adam Vogt **20101212161850 Ignore-this: 486bfc9edc38913c8863e2d5581359eb ] [fix up funny unicode whitespace in Fullscreen Brent Yorgey **20101212142241 Ignore-this: 406c4eec83838923edfbf0dfc554cbb7 ] [Add X.L.Fullscreen Audun Skaugen **20101115232654 Ignore-this: 4fb7f279365992fe9e73388b0f4001ac ] [Rename state in A.Gridselect to avoid name shadowing (mtl-2) Adam Vogt **20101115232222 Ignore-this: cd81e11ae9f5372ddd71f0c2b60675d5 ] [Substring search support for X.A.GridSelect. As keymaps get more complicated to support different styles, the gs_navigate element is fundamentially changed. Clemens Fruhwirth **20101102211213 Ignore-this: 95610ac8eb781cd74f6c3ce9e36ec039 ] [Make substring search case insensitive Clemens Fruhwirth **20101016212904 Ignore-this: dce1ae9e4164c24447ae9c79c4557f11 ] [Introduce grayoutAllElements in X.A.GridSelect Clemens Fruhwirth **20101016212559 Ignore-this: 78ca0416b12a49965db876c77e02387f ] [Add substring filter to td_elementmap Clemens Fruhwirth **20101016183644 Ignore-this: d28b7173095c504ae0e9209303e4468a ] [Refactor for ad-hoc element and position matching turning td_elementmap into a function using the new td_availSlot and td_elements fields Clemens Fruhwirth **20101016183554 Ignore-this: 85e644a27395e97315efd1ed7a926da8 ] [Remove nub from diamondLayer in X.A.GridSelect Clemens Fruhwirth **20101016183132 Ignore-this: fe290f3712fa1e122e0123d3f87f418b ] [Convert access of td_elementmap from field styled to function call styled in X.A.GridSelect Clemens Fruhwirth **20101016164757 Ignore-this: b46942bf7ca0bd451b0b402ea8b01bf7 ] [Make use of field names when constructing TwoDState in X.A.GridSelect Clemens Fruhwirth **20101016164151 Ignore-this: 17d947c11e6cb4c64e04fd4754568337 ] [Pointfree and -XRank2Types don't mix in X.L.Groups.Helpers Adam Vogt **20101113022839 Ignore-this: 21aa9b687179c5622dc6fae749c7872 It used to work with ghc-6.12 (and earlier?), but ghc-7RC2 type inference doesn't work with . instead of it's definition. ] [Restrict dependencies, since mtl-2 is incompatible Adam Vogt **20101113022204 Ignore-this: d6565f9033cc40fd177a20d1688f3ed7 A couple removed constructors need to be replaced by the lowercase versions (ex. State = StateT Identity now). But it isn't clear that mtl-1 should be dropped. ] [X.L.TrackFloating docs and help nested layouts Adam Vogt **20101030175615 Ignore-this: a4362384ff8baab896715226772edf62 Now TrackFloating remembers focus for the given layout when the other window is also tiled, but not fed to the given layout: this helps with X.L.IM, among others. ] [X.L.Maximize: Make layout forget maximized window when it is closed Norbert Zeh **20101029221551 Ignore-this: 9e8bfacce7f90634532078584c82940a The X.L.Maximize layout modifier does not track whether the window it stores as maximized does still exist. The X server reuses window IDs. As a result, I was able to reproduce the following behaviour (e.g., by opening and closing xpdf windows): Create a window, maximize it, close it without restoring it to its normal state. Open a new window with the same window ID (e.g., an xpdf window after just closing an xpdf window). The new window will open maximized, which is not what one would expect. This patch addresses this problem, removing the ID of the maximized window from the layout when the maximized window is closed. ] [Fix bug in L.TrackFloating Adam Vogt **20101030000620 Ignore-this: 2c3902ea9f1d70a7043965c8aa99891d Addresses the comment that: If the focus goes from the floating layer to tiling by deleting a floating window, it's again the master window that gets focus, not the remembered window. ] [Add X.L.Groups.Helpers to other-modules Daniel Schoepe **20101024191850 Ignore-this: eb000855e28c39140762f09ce02dd35 Not listing aforementioned module can cause build failures in libaries that depend on xmonad-contrib. ] [windowbringer-menu-choice mathstuf at gmail.com**20100905013522 Ignore-this: 3f57b88d725b04f07ce6a43b8d0f56ff Add functions to allow users to use a menu other than dmenu and pass arguments to the menu. ] [Add X.L.TrackFloating for tiled-floating focus issues (#4) Adam Vogt **20101016165536 Ignore-this: 19a4a81601c23900d78d85bd0627d5bb ] [minor documentation fixes Daniel Wagner **20101007011957 Ignore-this: c5c046933f318f5a14f063ca387601b9 ] [Minor documentation fixes in X.U.ExtensibleState Daniel Schoepe **20101004120509 Ignore-this: 36a36d6e38f812744f8ec3df9bb56ffe ] [Clarify the note on -XRank2Types in L.Groups Adam Vogt **20101002020841 Ignore-this: 4ffe5d2d0be1e8b8a8c151b134e963f2 ] [Mention X.L.Groups.ModifySpec's rank-2 type in the doc quentin.moser at unifr.ch**20100117115601 Ignore-this: 2061238abf835cb20579a4899655cec2 ] [Orphan my modules moserq at gmail.com**20101001104300 Ignore-this: 781ebf36f25a94df96fde5f7bb7bc53e ] [Split X.L.Groups.Examples moserq at gmail.com**20101001104142 Ignore-this: 4d3bc3c44b1c0233d59c6ce5eefcc587 X.L.G.Examples : rowOfColumns and tiled tabs layouts X.L.G.Helpers : helper actions X.L.G.Wmii : wmii layout ] [X.L.G.Examples: improve the tabs of tiledTabs moserq at gmail.com**20100120103240 Ignore-this: 58a449c35e1d4a30ecfdf80f015d2dee ] [X.L.G.Examples: improve the tabs of wmiiLike moserq at gmail.com**20100120101746 Ignore-this: 1519338158025fb580cac523e4a41b88 ] [X.L.Groups: Always keep one group, even if empty. quentin.moser at unifr.ch**20100118021526 Ignore-this: 22d7f9b92484c3411ecba66b06f69821 ] [Do not duplicate layouts in X.L.Groups quentin.moser at unifr.ch**20100117114708 Ignore-this: 100f8ccfbbcda9e8f5cc2b1470772928 I liked the idea, but it completey messes up Decoration layouts. ] [Add missing module re-export (issue 366) Adam Vogt **20100930002046 Ignore-this: ecd6e4ff54d41f37a75be72f3d0e4a59 ] [X.H.ManageDocks: event hook to refresh on new docks Tomas Janousek **20100706185834 Ignore-this: 96f931aa19c45acd28bdc2319c6a0cb6 ] [This patch adds support for multiple master windows to X.L.Master quesel at informatik.uni-oldenburg.de**20100518060557 Ignore-this: 5c62202575966ee65e9b41ef41c30f94 ] [X.L.LayoutHints: event hook to refresh on hints change Tomas Janousek **20100706185925 Ignore-this: 54eba739c76db176cbb4ef66e30c201f ] [Remove last excess definition of `fi' (fromIntegral) Adam Vogt **20100913233850 Ignore-this: 42d9282697573b361d763d980b816465 ] [Explain fields added for "XMonad.Layout.ImageButtonDecoration" Adam Vogt **20100913232720 Ignore-this: 8eae99afb2857a91aabbf3b7f27c784e ] [Adjust X.C.Desktop documentation content. Adam Vogt **20100803141117 Ignore-this: 9c2616514be4dbb722958bc5a11357b1 Correct errors regarding a description of `mappend' for X Use <+> more often since that's `consistent', and there is no difference since it's the same as >> when all arguments have the same type (which they do... otherwise people aren't just combining valid values for that field of the config). ] [Minimize: Replaced calls to 'sendMessage' (BW.focusDown) and 'windows' with alternative methods Jan Vornberger **20100727224841 Ignore-this: 67257480b7b93181967a806fedf6fbc5 Calling these functions during message handling results in the loss of layout state. This fixes a number of bugs related to the combination of X.L.Minimize with a decoration. ] [CurrentWorkspaceOnTop: proper reimplementation of XMonad.Operation Jan Vornberger **20100727194154 Ignore-this: 101f55913bf836d1d87863b4c05d0665 Fixes bugs in combination with stateful layouts and floating windows ] [A hook to handle minimize/restore window manager hints. Justin Bogner **20100616051124 Ignore-this: c562ce1df81bce9a7dc5e7fe2dc67a43 XMonad.Hooks.Minimize handles both minimize and restore messages. Handling restore messages was already done in RestoreMinimized, which this module intends to replace. ] [WindowGo: bulk up 'runOrRaise' doc to point to 'raiseMaybe' for shell scripting gwern0 at gmail.com**20100712045632 Ignore-this: f8f2b04fe7c49827b935ada1345d2ce8 ] [WindowGo: fmt & sp gwern0 at gmail.com**20100712042915 Ignore-this: dc733961f0308815fa2ec0afe118f9cb ] [Note that Simplest works well with BoringWindows Adam Vogt **20100622030850 Ignore-this: b9b6060842651c0df47b23dddb3bf54a ] [XMonad.Util.Run: improve linking and rearrange docs gwern0 at gmail.com**20100620175215 Ignore-this: d7b76532309237ddfa22c31a1f1ef5a4 ] [XMonad.Util.Run: correct broken example gwern0 at gmail.com**20100620175158 Ignore-this: b390fa0e36b0bd629e7016797e316760 ] [XMonad.Util.Run: fix unicode char gwern0 at gmail.com**20100620175140 Ignore-this: 3e524f9d8a96cb47c2c8c7c265d8e649 ] [XSelection.hs: update docs w/r/t unicode gwern0 at gmail.com**20100615000902 Ignore-this: 26042b8d27bed602c1844181036a9bb see http://code.google.com/p/xmonad/issues/detail?id=348 ] [encode string of bytes not list of chars Khudyakov Alexey **20100613113341 Ignore-this: bd03772f1e1ab303646f36c28944b43 ] [GroupNavigation.hs: clean up imports gwern0 at gmail.com**20100608203832 Ignore-this: 166ad0b78d8be8453339c7dd5e5cc266 ] [remove decodeInput/encodeOutput gwern0 at gmail.com**20100614232300 Ignore-this: 2ed6a014130dba95c6b0a6fcac055110 see http://code.google.com/p/xmonad/issues/detail?id=348 they are just synonyms for 2 utf8-string functions, and don't really help ] [Developing: be good to mention hlint in a hacking guide gwern0 at gmail.com**20100506160535 Ignore-this: d86ab58539dd6c09a43789b9a549aa9d ] [Fix bug in history maintenance of X.A.GroupNavigation Norbert Zeh **20100604081431 Ignore-this: 84a22797ec1b76a9b9805af3272911b0 When the focused window was closed without a new window receiving focus, the closed window was not removed from the history database, making for example "nextMatch History (return True)" misbehave. This patch fixes this. ] [PositionStoreHook: take decoration into account Jan Vornberger **20100602223015 Ignore-this: 72192c7cabeaeb744711b651ac3ffc65 ] [PositionStoreHook: take docks into account Jan Vornberger **20100602215048 Ignore-this: 6ffa63f22e9b511a9d28bc1c04195a08 ] [TopicSpace: +reverseLastFocusedTopics Nicolas Pouillard **20100520072844 Ignore-this: 97c860fb139269cd592beab275f78d57 ] [TopicSpace: improve the lastFocusedTopic handling Nicolas Pouillard **20091220212813 Ignore-this: 9ad30b815e8a9cf002c8b17c07f05dc2 Now the list of last topics is internally kept but only visually truncated. ] [X.A.GroupNavigation with containers < 0.3.0.0 compatibility Norbert Zeh **20100514222153 Ignore-this: e0cf2a784ff02829ad10962863fd50ed This patch replaces the use of Seq.filter and Seq.breakl with two functions flt and brkl that do the same. This is necessary to keep compatibility with containers < 0.3.0.0 because Seq.filter and Seq.breakl were introduced only in containers 0.3.0.0. ] [New module XMonad.Actions.GroupNavigation Norbert Zeh **20100510081412 Ignore-this: c286dbd1b365326fa25a9c5c0e564af7 This module adds two related facilities. The first one allows cycling through the windows in a window group. A group is defined as the set of windows for which a given Boolean Query returns True. The second one keeps track of the history of focused windows and allows returning to the most recently focused window in a given window group before the currently focused window. ] [Add a way to update the modifier in X.L.LayoutModifier Daniel Schoepe **20090822213958 Ignore-this: f257a376bef57689287b68ed21ec903d This patch adds the possibility to update the state of a layout modifier when modifying the underlying layout before it is run(i.e. using modifyLayout). The modified state is also passed to the subsequent call of redoLayout, whose return takes precedence if both functions return modified states of the layout modifier. ] [Remove trailing whitespace in A.KeyRemap Adam Vogt **20100503153258 Ignore-this: 59d38be8462d50c298f590d55ebda910 ] [Adding XMonad.Actions.KeyRemap for mapping single keys stettberger at dokucode.de**20100502152322 Ignore-this: 113f6ef92fd31134fb6752a8b8253c3a With KeyRemap it is possible to emit different keys to client windows, when pressing some key. For example having dvorak layout for typing, but us for keybindings. ] [Move Util.Font to .hs, and enable -XCPP Adam Vogt **20100429140744 Ignore-this: 1e60993426bf8e146c9440e2dbb0f764 As the CPP pass was the only feature being used in Font.hsc (no other FFI) it's better to avoid hsc2hs, if only to make the purpose of the module clearer from the filename. ] [A.Search: Remove unnecessary `do' Adam Vogt **20100429134749 Ignore-this: 2fc31d045a57ccd01f3af03cb46440c2 ] [Fix escaping of URI Khudyakov Alexey **20100423204707 Ignore-this: 7dad15752eb106d8bc6cd50ffd2e8d3a ] [Prompt: handle case of historySize=0 better. Adam Vogt **20100421183006 Ignore-this: e4a74e905677649ddde36385a9ed47a2 ] [Rearrange tests. See test/genMain.hs for instructions. Adam Vogt **20100419014946 Ignore-this: 1745e6f1052e84e40153b5b1c0a6e15a ] [Use CPP to add to exports for Selective tests (L.LimitWindows) Adam Vogt **20100419014344 Ignore-this: 74c228892f07bb827e4b419f4efdb04 ] [Use imported `fi' alias for fromIntegral more often. Adam Vogt **20100416212939 Ignore-this: 51040e693066fd7803cc1b108c1a13d5 Also moves `fi' into U.Image to avoid cyclic imports, though XUtils sill exports that definition. ] [Note that mouseResizableTileMirrored may be removed. Adam Vogt **20100416161118 Ignore-this: 2b005aa36abe224f97062f80e8558af7 ] [Structure L.MouseResizableTile documentation. Adam Vogt **20100416160641 Ignore-this: c285ac8a4663bdd2ae957b3c198094da ] [X.L.MouseResizableTile: make everything configurable Tomas Janousek **20100415214609 Ignore-this: f8164dc63242c7e32210c9577a254bf7 ] [X.L.MouseResizableTile: configurable gaps (dragger size and position) Tomas Janousek **20100415213813 Ignore-this: 5803861bbfecbc8c946b817b98909647 (with the option of putting the draggers over window borders with no gaps at all) ] [Remove unnecessary imports. Adam Vogt **20100416160239 Ignore-this: 11beb14b87e294dafb54cc3764393c5b ] [update module imports gwern0 at gmail.com**20100414211947 Ignore-this: 804bee14960064b4e4efd33d07a60a2b ] [tests/test_XPrompt can build now. Adam Vogt **20100414204612 Ignore-this: ded6711134658fe371f19a909037c9cb ] [prettier haddock markup for L.NoBorders Adam Vogt **20100405184020 Ignore-this: 1a9862e6e7ec0e965201a65a68314680 ] [ImageButtonDecoration: new image for menu button Jan Vornberger **20100402174910 Ignore-this: 3977c4bfcb4052e07321ec9e83f917c6 ] [image_buttons trupill at gmail.com**20100331093808 Ignore-this: 418dbf488435c7c803695407557eecfb * Added a XMonad.Util.Image module to manipulate simple images and show them into an X drawable * Added the possibility of using image buttons instead of plain text buttons into the title bar * Added a XMonad.Layout.ImageButtonDecoration as an example of how to use the image buttons ] [WindowMenu: own colorizer that works better with Bluetile's new theme Jan Vornberger **20100402184119 Ignore-this: 708e1ad1654165fc5da5efc943a2a6b9 ] [X.L.Named deprecate and implement using X.L.Renamed Anders Engstrom **20100401212403 Ignore-this: a74963ef4990c9e845b9142b8648cf26 nameTail behaves slightly different if there are whitespace before the first word or the name contains tabs or other such whitespace. But I expect few users are affected since the only usecase where nameTail is actually needed is to remove automatically added prefixes. These prefixes will be removed as they should by the new implementation. ] [X.L.Minimize remove redundant imports Anders Engstrom **20100401204400 Ignore-this: f7bbfe96c8d08955fc845318f918ec86 ] [Correct module header. Adam Vogt **20100330181029 Ignore-this: 53edd88f94f0b7d54fc350c47c38898c ] [minimize_ewmh trupill at gmail.com**20100330183616 Ignore-this: 4d14b74192af503c4b2e28ea877c85f5 ] [Use more monoid instances to clean up U.WorkspaceCompare Adam Vogt **20100222151710 Ignore-this: ab7089175a7486144e01b706de04036e ] [Note that Groups has redundancies and the interface may change. Adam Vogt **20100330175945 Ignore-this: 2f4dc5a2355ace4005dd07fc5d459f1a Refer to: http://www.haskell.org/pipermail/xmonad/2010-January/009585.html ] [X.H.UrgencyHook: performance fix Tomas Janousek **20100330141341 Ignore-this: b626166259858f16bc5051c67b498c68 cleanupUrgents would update the Map in extensible state 2-times the number of visible windows, resulting in excessive memory usage and garbage collection. This seems to make it behave correctly. ] [Update my e-mail address quentin.moser at unifr.ch**20100117011109 Ignore-this: f5efc4d494cb001d3cfbe2b2e169cbe5 ] [New module: X.L.Groups.Examples quentin.moser at unifr.ch**20100117010236 Ignore-this: 8fc40821759d7ed439ecc6726417f52d Utility functions and examples using X.L.Groups. ] [New module: X.L.Groups quentin.moser at unifr.ch**20100117005301 Ignore-this: 167e191d520a36b94cf24121ead67dae The mother of all layout combinators. ] [New module: X.L.ZoomRow quentin.moser at unifr.ch**20100117003939 Ignore-this: c464ae1005679484e364eb6ece31d9fc Row layout with individually resizable elements. ] [New module: X.L.Renamed quentin.moser at unifr.ch**20100117002612 Ignore-this: 38a5c638e36090c746356390c09d3479 ] [New module: X.U.Stack quentin.moser at unifr.ch**20100117002104 Ignore-this: e0c3969042ca5e1e8b9e50436519e52a Utility functions for working with Maybe Stacks, including: - useful conversions to and from lists - insertUp/Down, swapUp/Down, focusUp/Down, etc - maps, filters and folds ] [bugfix: removeKeys should remove all keys in the provided list Daniel Wagner **20100327192541 Ignore-this: 711c776a19d428a2ab4614ee82641de4 ] [fixed argument order to isPrefixOf in a couple of places in X.A.Search Jurgen Doser **20100316122010 Ignore-this: 1a613748778d07de1b459a4268ff8d55 In some places, ((!>), prefixAware, and one place in the documentation), isPrefixOf was used with wrong argument order. In particular, this made combining search engines not work as advertised, for example, the predefined search engine "multi". ] [X.P.Ssh: add entries from .ssh/config to ssh prompt completion Brent Yorgey **20091229171346 Ignore-this: fa638a0af4cb71be91f6c90bdf6d5513 ] [X.H.DynamicLog: let the user of xmonadPropLog choose property name Tomas Janousek **20100319214631 Ignore-this: 17c0cac2a469e0b70b0cea86f3aeed51 ] [Replace.hs: rm trailing whitespace gwern0 at gmail.com**20100314210109 Ignore-this: ee951e62c1de753907f77a8a6bac7cae ] [Workspace.hs: rm trailing whitespace gwern0 at gmail.com**20100314210101 Ignore-this: c2888dc8aa919ce6da706ba8ea1c523a ] [Layout.hs: rm trailing whitespace gwern0 at gmail.com**20100314210054 Ignore-this: 5ad02e9c968bb49773e2bf05310a3754 ] [Directory.hs: rm trailing whitespace gwern0 at gmail.com**20100314210047 Ignore-this: 1e83cd71f6439603b577874317cac8bb ] [MessageControl: rm trailing whitespace gwern0 at gmail.com**20100314210038 Ignore-this: d4dc93a8a68847123918db416080e018 ] [LimitWindows.hs: rm trailing whitespace gwern0 at gmail.com**20100314210030 Ignore-this: 7d138a5903d45ffeeb4e89f1b8923382 ] [LayoutCombinators.hs: rm trailing whitespace gwern0 at gmail.com**20100314210021 Ignore-this: e387bdea6c346fc8a892b06294995442 ] [DecorationAddons.hs: rm trailing whitespace gwern0 at gmail.com**20100314210012 Ignore-this: 2f54649e43ebf11e35bd8764d1a44675 ] [Column.hs: rm whitespace gwern0 at gmail.com**20100314210001 Ignore-this: 6cfd701babde42d5dc61bfbe95305b20 ] [DynamicWorkspaces.hs: rm whitespace gwern0 at gmail.com**20100314205951 Ignore-this: 9d64301708cb1702b9b46f1068efa891 ] [Fix bugs with nested drawers in X.L.Drawer Max Rabkin **20100310170159 Ignore-this: 5c7665f3f3ea2c629deb0cca3715bb8d There were two bugs: 1. The layout modifier assumed the rect's x was zero. 2. The layout modifier assumed that the stackset's focus actually had focus. ] [Correct L.Drawer haddock markup and re-export required module. Adam Vogt **20100308225258 Ignore-this: 1cc5675a68a66cf436817137a478b747 ] [Added X.L.Drawer Max Rabkin **20100308212752 Ignore-this: c7973679b7b2702178ae06fc45396dda X.L.Drawer provides a layout modifier for retracting windows which roll down (like the Quake console) when they gain focus. ] [X.U.WorkspaceCompare xinerama compare with physical order Anders Engstrom **20100308115402 Ignore-this: 49296fb6e09717f38db28beb66bc2c80 Like the old xinerama workspace comparison, but order by physical location just like X.A.PhysicalScreens. Useful if using xinerama sort for statusbar together with physicalscreens. ] [X.U.Dmenu helpers to run dmenu with arguments Anders Engstrom **20100308115022 Ignore-this: 7d582e06d0e393c717f43e0729306fbf ] [X.L.LayoutScreens split current screen Anders Engstrom **20100308114318 Ignore-this: e7bd1ef63aee3f736e12e109cabb839 This patch will allow the user to split the currently focused screen instead of all screens together. This is usefull for multiscreen users who have functioning xinerama, but wish to split one of the screens. ] [X.A.PhysicalScreens cleaning and allow cycling Anders Engstrom **20100308113704 Ignore-this: 3a9a3554cda29f976df646b38b56e8e7 Remove redundant import to supress warning, did some refactoring to use xmonad internal things to find screens instead of using X11-stuff. Also added ability to cycle between screens in physical order. ] [Use imported 'fi' in H.ScreenCorners Adam Vogt **20100222150633 Ignore-this: 45ceb91d6c39f29bb937aa29c0bc2e66 ] [X.H.ScreenCorners typos Nils Schweinsberg **20100222115142 Ignore-this: 805ba06f6215bb83a68631f750743830 ] [X.H.ScreenCorners rewritten to use InputOnly windows instead of waiting for MotionEvents on the root window Nils Schweinsberg **20100222112459 Ignore-this: f9866d3e3f1ea09ff9e9bb593146f0b3 ] [[patch] X.H.ScreenCorners: move the mouse cursor to avoid loops Nils Schweinsberg **20100221231550 Ignore-this: c8d2ece0f6e75aba1b091d5f9de371dc ] [Prevent possible pattern match failure in X.A.UpdateFocus Daniel Schoepe **20100221234735 Ignore-this: fe132d248db01076a1038e9e8acbdf42 ] [New extension: XMonad.Hooks.ScreenCorners Nils Schweinsberg **20100221230259 Ignore-this: c3a715e2590ed094ed5908bd225b185e ] [documentation for marshallPP daniel at wagner-home.com**20100215000731 Ignore-this: efa38829b40dc1586f5f18c4bab21f7d ] [DynamicLog support for IndependentScreens Daniel Wagner **20100104054251 Ignore-this: 16fe32f1d66abf4a79f8670131663a60 ] [minor style changes Daniel Wagner **20091228173016 Ignore-this: 605de753d6a5007751de9d7b9f8ab9ca ] [XMonad.Prompt: remove white border from greenXPConfig gwern0 at gmail.com**20100211163641 Ignore-this: 1cd9a6de02419b7747eab98eb4e84c35 ] [Fixed reversed history searching direction in X.P.history(Up|Down)Matching Daniel Schoepe **20100208162901 Ignore-this: 61b9907318d18ef2fb5bc633048d3afc ] [Compatibility for rename of XMonad.numlockMask Adam Vogt **20100124201955 Ignore-this: 765c58a8b77ca0b54f05fd69a9bba714 ] [Use extensible-exceptions to allow base-3 or base-4 Adam Vogt **20100124203324 Ignore-this: 136f35fcc0f3a824b96eea0f4e04f276 ] [suppress some warnings under ghc 6.12.1 and clean up redundant imports to get rid of some others. Brent Yorgey **20100112172507 Ignore-this: bf3487b27036b02797d9f528a078d006 ] [Corrected documentation in X.Prompt Daniel Schoepe **20100201204522 Ignore-this: 98f9889a4844bc765cbb9e43bd83bc05 ] [Use Stack instead of list in X.Prompt.history*Matching Daniel Schoepe **20100201202839 Ignore-this: 45d03c7096949bd250dd1c5c2d3646d4 ] [BluetileConfig: Fullscreen tweaks and border color change Jan Vornberger **20100131233347 Ignore-this: 2a10959bed0f3fb9985e3dd1010f123b ] [A.CycleWindows replace partial rotUp and rotDown with safer versions Wirt Wolff **20100123231912 Ignore-this: 6b4e40c15b66fc53096910e85e736c23 Rather than throw exceptions, handle null and singleton lists, i.e. f [] gives [] and f [x] gives [x]. ] [Use <+> instead of explicit M.union to merge keybindings in X.C.* Adam Vogt **20100124202136 Ignore-this: e7bfd99eb4d3e6735153d1d5ec00a885 ] [Fix incorrect import suggestion in L.Tabbed (issue 362) Adam Vogt **20100121182501 Ignore-this: 5e46f140a7e8c2abf0ac75b3262a7da4 ] [Swap window ordering in L.Accordion (closes Issue 358). Thanks rsaarelm. Adam Vogt **20100121154344 Ignore-this: cd06b0f4fc85f857307aaae8f6e40af7 This change keeps windows in the same ordering when focus is changed. ] [use restart to restart xmonad (no longer bluetile) Jens Petersen **20100116105935 Ignore-this: e6e27c65e25201fc84bfaf092dad48ac ] [X.L.Decoration: avoid flicker by not showing decowins without rectangles Tomas Janousek **20100116112054 Ignore-this: 6f38634706c3f35272670b969fc6cc96 These would be hidden by updateDecos immediately after being shown. This caused flicker with simpleTabbed and only one window on a workspace. ] [Add a way to cycle only through matching history entries in X.Prompt Daniel Schoepe **20100113233036 Ignore-this: d67aedb25f2cc6f329a78d5d3eebdd2b This patch adds a way go up through X.Prompt's history using only those entries that start with the current input, similar to zsh's `history-search-backward'. ] [Style changes in L.Minimize Adam Vogt **20100104144448 Ignore-this: 5f64c0717e24ed6cbe2c9fad50bf78a3 ] [minimize_floating konstantin.sobolev at gmail.com**20091230070105 Ignore-this: 2c0e1b94f123a869fb4e72a802e59c2 Adds floating windows support to X.L.Minimize ] [Use more imported cursor constants. Adam Vogt **20091230220927 Ignore-this: 91e55c63a1d020fafb6b53e6abf9766c ] [import new contrib module, X.A.DynamicWorkspaceOrder Brent Yorgey **20091230192350 Ignore-this: bba2c0c30d5554612cc6e8bd59fee205 ] [X.A.CycleWS: export generalized 'doTo' function for performing an action on a workspace relative to the current one Brent Yorgey **20091230191953 Ignore-this: 7cf8efe7c45b501cbcea0943f667b77e ] [new contrib module, X.A.DynamicWorkspaceGroups, for managing groups of workspaces on multi-head setups Brent Yorgey **20091229165702 Ignore-this: fc3e6932a95f57b36b4d8d4cc7f3e2d7 ] [new contrib module from Tomas Janousek, X.A.WorkspaceNames Brent Yorgey **20091229163915 Ignore-this: 5bc7caaf38647de51949a24498001474 ] [X.P.Shell, filter empty string from PATH Tim Horton **20091224033217 Ignore-this: 1aec55452f917d0be2bff7fcf5937766 doesDirectoryExist returns True if given an empty string using ghc <= 6.10.4. This causes getDirectoryContents to raise an exception and X.P.Shell does not render. This is only an issue if you have an empty string in your PATH. Using ghc == 6.12.1, doesDirectoryExist returns False given an empty string, so this should not be an issue in the future. ] [small tweak to battery logger Brent Yorgey **20091227085641 Ignore-this: 350dfed0cedd250cd9d4bd3391cbe034 ] [Use imported xC_bottom_right_corner in A.MouseResize Adam Vogt **20091227233705 Ignore-this: 52794f788255159b91e68f2762c5f6a1 ] [X.A.MouseResize: assign an appropriate cursor for the resizing inpuwin Tomas Janousek **20091227212140 Ignore-this: d9ce96c2cd0312b6b5be4acee30a1da3 ] [Fix the createSession bug in spawnPipe Spencer Janssen **20091227003501 Ignore-this: 2d7f8746eb657036d39f3b9aac22b3c9 Both the new XMonad.Core.xfork function and spawnPipe call createSession, calling this function twice results in an error. ] [Let the core know about MouseResizableTile's draggers, so they are stacked correctly Jan Vornberger **20091223145428 Ignore-this: 7c096aba6b540ccf9b49c4ee86c6091a ] [Update all uses of forkProcess to xfork Spencer Janssen **20091223064558 Ignore-this: 963a4ddf1d2f4096bbb8969b173cd0c1 ] [Make X.L.Minimize explicitly mark minimized windows as boring Jan Vornberger **20091222214529 Ignore-this: b1e8adf26ac87dede6c1b7a7d687411c ] [Actions/Search: added openstreetmap intrigeri at boum.org**20091222114545 Ignore-this: fafc4680c8b59b7a044d995c1dacec9a ] [Add a search predicate option to XMonad.Prompt Mike Lundy **20091221025408 Ignore-this: 8e8804eeb9650d38bc225e15887310da ] [In D.Extending note how <+> can be used with keybindings. Adam Vogt **20091220190739 Ignore-this: ebea8ef8a835ed368fa06621add6519f ] [Fix MultiToggle crashes with decorated layouts Tomas Janousek **20091220004733 Ignore-this: 9208f5da9f0de95464ea62cb45e8f291 The problem was that certain layouts keep their "world" state in their value, which was thrown away and forgotten after ReleaseResources during toggle. In particular, decorated layouts store some X11 handles in them and allocate/deallocate it as appropriate. If any modification to their state is ignored, they may try to deallocate already deallocated memory, which results in a crash somewhere inside Xlib. This patch makes Transformers reversible so that nothing is ever ignored. As a side effect, layout transformers now do receive messages and messages for the base layout do not need the undo/reapply cycle -- we just pass messages to the current transformed layout and unapply the transformer when needed. (This, however, doesn't mean that the base layout is not asked to release resources on a transformer change -- we still need the transformer to release its resources and there's no way to do this without asking the base layout as well.) ] [Golf / style change in U.ExtensibleState Adam Vogt **20091208010506 Ignore-this: c35bd85baae4700e14417ac7e07de959 ] [Style changes in EwmhDesktops Adam Vogt **20091219003824 Ignore-this: 905eff9ed951955c8f62617b2d82302e ] [Add support for fullscreen through the _NET_WM_STATE protocol audunskaugen at gmail.com**20091214135119 Ignore-this: 430ca3c6779e36383f8ce8e477ee9622 This patch adds support for applications using the gtk_window_fullscreen function, and other applications using _NET_WM_STATE for the same purpose. ] [TAG 0.9.1 Spencer Janssen **20091216233651 Ignore-this: 713d9dd89d775e30346f57a61038d308 ] [Bump version to 0.9.1 Spencer Janssen **20091216232634 Ignore-this: bcd799c3341ee6c69a259e1dca747cac ] [Match X11 dependencies with xmonad's Spencer Janssen **20091216012630 Ignore-this: bcbd6e3e5e2675cdac6f1d1b1bc09853 ] [Safer X11 version dependency Spencer Janssen **20091216005916 Ignore-this: 6dc805a8a0c7a3d3369bc1d6d97d4f56 ] [Update Prompt for numlockMask changes Spencer Janssen **20091103222621 Ignore-this: 4980e2fdf4c296a266590cc4acf76e1e ] [X.L.MouseResizableTile: change description for mirrored variant Tomas Janousek **20091211124218 Ignore-this: dbc02fb777e35cdc15fb11979c1e983e The description for mirrored MouseResizableTile is now "Mirror MouseResizableTile", to follow the standard of other layouts that can be mirrored using the Mirror modifier. ] [X.A.GridSelect: documentation typo fix Tomas Janousek **20091211182515 Ignore-this: 521bef2a73a9e969d7a96defb555177b spotted by Justin on IRC ] [A.GridSelect shouldn't grab keys if there are no choices. Adam Vogt **20091210183038 Ignore-this: 48509f780120014a10b32e7289369f32 Thanks thermal2008 in #xmonad for bringing up the corner case when gridselect is run with an empty list of choices. ] [onScreen' variation for X () functions Nils Schweinsberg **20091209003717 Ignore-this: 6a9644c729c2b60f94398260f3640e4d ] [Added Bluetile's config Jan Vornberger **20091209150309 Ignore-this: 641ae527ca6f615e81822b6f38f827e7 ] [BluetileCommands - a list of commands that Bluetile uses to communicate with its dock Jan Vornberger **20091208234431 Ignore-this: 1a5a5e69c7c37d3ffe8d8e09496568de ] [Use lookup instead of find in A.PerWorkspaceKeys Adam Vogt **20091129032650 Ignore-this: 7ecb043df4317365ff3d25b17303eed8 ] [Change of X.A.OnScreen, more simple and predictable behaviour of onScreen, new functions: toggle(Greedy)OnScreen Nils Schweinsberg **20091207155050 Ignore-this: c375250778758e401217bcad83567d3b ] [Module to ensure that a dragged window always stays in front of all other windows Jan Vornberger **20091129004506 Ignore-this: a8a389198ccc28a66686561d4d17e91b ] [Decoration that allows to switch the position of windows by dragging them onto each other. Jan Vornberger **20091129003431 Ignore-this: 38aff0f3beb1a1eb304219c4f3e85593 ] [A decoration with small buttons and a supporting module Jan Vornberger **20091129002416 Ignore-this: 2d65133bc5b9ad29bad7d06780bdaa4 ] [XMonad.Actions.Search: finally fixed the internet archive search plugin gwern0 at gmail.com**20091205033435 Ignore-this: c78ecebced9bc8e39e6077ffa9f9f182 ] [XMonad.Actions.Search: in retrospect, a bit silly to make everyone go through SSL gwern0 at gmail.com**20091205033318 Ignore-this: 452b4e6efb83935fc1063ab695ae074d ] [Prompt.hs: Corrected quit keybindings Tim Horton **20091203050041 Ignore-this: e8cd2cd1d41f6807f68157ef37c631ea ] [Extended decoration module with more hooks and consolidated some existing ones Jan Vornberger **20091128234310 Ignore-this: 5a23af3009ecca2feb9a84f8c6f8ac33 ] [Extended decoration theme to contain extra static text that always appears in the title bar Jan Vornberger **20091024213928 Ignore-this: 95f46d6b9ff716a2d8002a426c1012c8 ] [Extended paintAndWrite to allow for multiple strings to be written into the rectangle Jan Vornberger **20091024205111 Ignore-this: eb7d32284b7f98145038dcaa14f8075e ] [Added the alignment option 'AlignRightOffset' Jan Vornberger **20091024204513 Ignore-this: 58cc00e1be669877e38a97e36b924969 ] [Prevent windows from being decorated that are too small to contain decoration. Jan Vornberger **20090627094316 Ignore-this: 39b806462bbd424f1206b635e9d506e1 ] [X.L.MouseResizableTile: keep draggers on the bottom of the window stack. Tomas Janousek **20091126173413 Ignore-this: 8089cf8ce53580090b045f4aebb1b899 ] [Implemented smarter system of managing borders for BorderResize Jan Vornberger **20091122233651 Ignore-this: 4775c082249e598a84c79b2e819f28b0 ] [X.H.DynamicLog: fix xmonadPropLog double-encoding of UTF-8 Tomas Janousek **20091121004829 Ignore-this: bde612bbd1a19951f9718a03e737c4ac dynamicLogString utf-8 encodes its output, xmonadPropLog shouldn't do that again. ] [X.H.DynamicLog: make documentation for 'dzen' and 'xmobar' slightly more clear Brent Yorgey **20091121170739 Ignore-this: c9a241677fda21ef93305fc3882f102e ] [X.H.ManageDocks: ignore struts that cover an entire screen on that screen Tomas Janousek **20091119145043 Ignore-this: ad7bbf10c49c9f3e938cdc3d8588e202 Imagine a screen layout like this: 11111111 11111111 11111111 222222 <--- xmobar here 222222 222222 When placing xmobar as indicated, the partial strut property indicates that an entire height of screen 1 is covered by the strut, as well as a few lines at the top of screen 2. The original code would create a screen rectangle of negative height and wreak havoc. This patch causes such strut to be ignored on the screen it covers entirely, resulting in the desired behaviour of a small strut at the top of screen 2. Please note that this semantics of _NET_WM_STRUT and _NET_WM_STRUT_PARTIAL is different to what is in wm-spec. The "correct" thing to do would be to discard the covered portion of screen 1 leaving two narrow areas at the sides, but this new behaviour is probably more desirable in many cases, at least for xmonad/xmobar users. The correct solution of having separate _NET_WM_STRUT_PARTIAL for each Xinerama screen was mentioned in wm-spec maillist in 2007, but has never really been proposed, discussed and included in wm-spec. Hence this "hack". ] [Use imported 'fi' in PositionStoreHooks Adam Vogt **20091119103112 Ignore-this: 6563a3093083667c79aa491a6f59b805 ] [Changed interface of X.U.ExtensibleState Daniel Schoepe **20091116171013 Ignore-this: 9a830f9341e461628974890bab0bd65b Changed the interface of X.U.ExtensibleState to resemble that of Control.Monad.State and modified the modules that use it accordingly. ] [PositionStoreFloat - a floating layout with support hooks Jan Vornberger **20091115184833 Ignore-this: 8b1d0fcef1465356d72cb5f1f32413b6 ] [PositionStore utility to store information about position and size of a window Jan Vornberger **20091108195735 Ignore-this: 2f6e68a490deb75cba5d007b30c93fb2 ] [X.H.Urgencyhook fix minor doc bug Anders Engstrom **20091115131121 Ignore-this: 18b63bccedceb66c77b345a9300f1ac3 ] [X.H.DynamicLog fix minor indentation oddness Anders Engstrom **20091115130707 Ignore-this: 7f2c49eae5527874ca4499767f4167c4 ] [X.A.CycleWS cycle by tag group Anders Engstrom **20091115130217 Ignore-this: 909da8c00b47a31d04f59bd3751c60bc Allow grouping of workspaces, so that a user can cycle through those in the same group. Grouping is done by using a special character in the tag. ] [Use less short names in X.Prompt Adam Vogt **20091115025647 Ignore-this: 1d27b8efc4d829a5642717c6f6426336 ] [Use io instead of liftIO in Prompt Adam Vogt **20091115025301 Ignore-this: cd4031b74cd5bb874cd2c3cc2cb087f2 ] ['io' and 'fi' are defined outside of Prompt Adam Vogt **20091115024001 Ignore-this: 3426056362db9cbfde7d2f4edbfe6f36 ] [Use zipWithM_ instead of recursion in Prompt.printComplList Adam Vogt **20091115023451 Ignore-this: 2457500ed871ef120653a3d4ada13441 ] [Minor style changes in DynamicWorkspaces Adam Vogt **20091115022751 Ignore-this: 1a6018ab134e4420a949354575a8a110 ] [X.A.DynamicWorkspaces fix doc and add behaviour Anders Engstrom **20091113233903 Ignore-this: ab7c20a9c1b43ebc6a7f4700d988fb73 Before this patch the documentation claims that it won't do anything on non-empty workspaces when it actually does. This patch fixes the documentation to reflect the actual behaviour, but also adds the behaviour promised by the documentation in other functions. It does not break configs. In addition it also provides functions to help removing empty workspaces when leaving them. ] [rework XMonad.Util.Dzen daniel at wagner-home.com**20091114051509 Ignore-this: 16d93f91c54f7d195b1a418e6c0351c5 ] [generalize IO actions to MonadIO m => m actions daniel at wagner-home.com**20091114023616 Ignore-this: 2c801a27b0ffee34a2f0daca3778613a This should not cause any working configs to stop working, because IO is an instance of MonadIO, and because complete configs will pin down the type of the call to IO. Note that XMonad.Config.Arossato is not a complete config, and so it needed some tweaks; with a main function, this should not be a problem. ] [fix documentation to match implementation daniel at wagner-home.com**20091114021328 Ignore-this: 6dbbb118b139f443c40a573445a48d07 ] [Bypass more of stringToKeysym in U.Paste Adam Vogt **20091114223726 Ignore-this: 617c922647e9f49f5ecefa0eb1c65d3c ] [Don't erase floating information with H.InsertPosition (Issue 334) Adam Vogt **20091113161402 Ignore-this: de1c03eb860ea25b390ee5c756b02997 ] [Rename gridselectViewWorkspace to gridselectWorkspace, add another example. Adam Vogt **20091112211435 Ignore-this: 462cf1c7f66ab97a1ce642977591a910 The name should be more general to suggest uses other than just viewing other workspaces. ] [X.A.DynamicWorkspaces: fix addWorkspace and friends so they never add another copy of an existing workspace Brent Yorgey **20091112201351 Ignore-this: 5bfe8129707b038ed04383b7566b2323 ] [Trim whitespace in H.FloatNext Adam Vogt **20091111022702 Ignore-this: 1ad52678246fa1ac951169c2356ce10b ] [Use ExtensibleState in H.FloatNext Adam Vogt **20091111022513 Ignore-this: 760d95a685af080466cb4164d1096423 ] [Make a haddock link direct in C.Desktop. Adam Vogt **20091111013810 Ignore-this: da724a7974c3de60f49996c1fe92d3fb ] [Change A.TopicSpace haddocks to use block quotes. Adam Vogt **20091111013241 Ignore-this: 6f7f43d2715cfde62b9c05c7d9a0da2 ] [Add defaultTopicConfig, to allow adding more fields to TopicSpace later. Adam Vogt **20091111012915 Ignore-this: 6dad95769651a9a1ef8d771f81c91f8e ] [X.A.WindowGo: fix haddock markup Spencer Janssen **20091111003256 Ignore-this: c6a06de900ca8b67498abf5152e3d9ea ] [Minor style corrections in X.U.SpawnOnce Daniel Schoepe **20091109201543 Ignore-this: 1264852c23b4f84b2580bf4567529c68 ] [Add gridselectViewWorkspace in X.A.GridSelect Daniel Schoepe **20091109155815 Ignore-this: 5543211e9e3fd325cb798b004635a525 ] [minor-doc-fix-in-ManageHelpers `Henrique Abreu '**20091104172727 Ignore-this: 231ad417541bc3c17a1cb2dff139d55d ] [Set buffering to LineBuffering in scripts/xmonadpropread.hs Daniel Schoepe **20091108204106 Ignore-this: 4e593fc1461fbbfb5b147c7c7702584e (Required for the script to work properly with tools like dzen) ] [X.U.ExtensibleState: style Spencer Janssen **20091108182858 Ignore-this: f189da75ad2c57ae9cca48eaf69a6bad ] [X.A.DynamicWorkspaces: new 'addWorkspacePrompt' method Brent Yorgey **20091108170503 Ignore-this: a3992b1b7938be80d8fd2a5a503a4042 ] [Remove defaulting when using NoMonomorphismRestriction in H.EwmhDesktops Adam Vogt **20091107195255 Ignore-this: ca3939842639c94ca4fd1ff6624319c1 ] [Update A.TopicSpace to use extensible state. No config changes required. Adam Vogt **20091107194502 Ignore-this: 7a82aad512bb727b3447de0faa4a210f ] [Inline tupadd function in A.GridSelect Adam Vogt **20091101190312 Ignore-this: 458968154303ab865c304f387d6ac83b ] [Alphabetize exposed-modules Spencer Janssen **20091107174946 Ignore-this: 919684aea7747a756b303f9b34a2870b ] [Use X.U.SpawnOnce in my config Spencer Janssen **20091107174615 Ignore-this: fe8f5f75136128280942771ec429f09a ] [Add XMonad.Util.SpawnOnce Spencer Janssen **20091107173820 Ignore-this: 8d4657bbaa8dbeb1d0f9d22293bfef19 ] [Store deserialized data after reading in X.U.ExtensibleState Daniel Schoepe **20091107103832 Ignore-this: 192beca56e9437292bd3f16451ae9e66 ] [Fixed conflict between X.U.ExtensibleState and X.C.Sjanssen Daniel Schoepe **20091107103619 Ignore-this: 80f4bb218574d7c528af17473c6e4f66 ] [Use X.U.ExtensibleState instead of IORefs Daniel Schoepe **20091106115601 Ignore-this: e0e80e31e51dfe76f2b2ed597892cbba This patch changes SpawnOn, DynamicHooks and UrgencyHooks to use X.U.ExtensibleState instead of IORefs. This simplifies the usage of those modules thus also breaking current configs. ] [Add X.U.ExtensibleState Daniel Schoepe **20091106115336 Ignore-this: d80d9d0c10a53fb71a375e432bd29344 ] [My config uses xmonadPropLog now Spencer Janssen **20091107005230 Ignore-this: 8f16b8bea86dfcd3739f1566f5897578 ] [Add xmonadpropread script Spencer Janssen **20091107004858 Ignore-this: 8cc7ed36ec1126d0139638148f9642e8 ] [Add experimental xmonadPropLog function Spencer Janssen **20091107004624 Ignore-this: f09b2c11b16a3af993b63d1b39566120 ] [XMonad.Actions.Search: imdb search URL tweak for bug #33 gwern0 at gmail.com**20091103222330 Ignore-this: bae5e6d3ec6c4b6591016ece9dffb202 ] [Clean imports for L.BoringWindows Adam Vogt **20091103140649 Ignore-this: 56946a652329390dbdd63746ca23ee8e ] [I maintain L.BoringWindows Adam Vogt **20091103140509 Ignore-this: de853972b4c1c4cefa2dc29e68828d5d ] [fix window rectangle calculation in X.A.UpdatePointer Tomas Janousek **20091026154918 Ignore-this: ad0c3a020b802854919c7827faa001ad ] [Implement hasProperty in terms of runQuery in U.WindowProperties Adam Vogt **20091031154945 Ignore-this: 1c351bc436e0e323dc25d8f5ff734dcb This addresses issue 302 for unicode titles by actually using the complicated XMonad.ManageHook.title code, instead of reimplementing it with stringProperty (which doesn't appear to handle unicode). ] [Add functions to access the current input in X.Prompt Daniel Schoepe **20091030235033 Ignore-this: 3f568c1266d85dcaa5722b19bbbd61dd ] [Remove putSelection, fixes #317 Spencer Janssen **20091030224354 Ignore-this: 6cfd6d92e1d133bc9e3cbb7c8339f735 ] [Fix typo in H.FadeInactive documentation Adam Vogt **20091029165736 Ignore-this: b2af487cd382416160d5540b7f210464 ] [X.L.MultiCol constructor 0 NWin bugfig Anders Engstrom **20091029105633 Ignore-this: e6a24f581593424461a8675984d14d25 Fix bug where the constructor did not accept catch-all columns. Also some minor cleaning. ] [X.H.ManageHelpers: added currentWs that returns the current workspace Ismael Carnales **20091028193519 Ignore-this: dcd3dac6bd741d26747807691f125637 ] [X.L.MultiColumns bugfix and formating Anders Engstrom **20091027131741 Ignore-this: 6978f485d18adb8bf81cf6c8e0d0332 Fix bug where a column list of insufficient length could be used to find the column of the window. Also fix formating to conform better with standards. ] [X.L.MultiColumns NWin shrinkning fix Anders Engstrom **20091027005932 Ignore-this: 9ba40ee14ec12c3885173817eac2b564 Fixed a bug where the list containing the number of windows in each column was allowed the shrink if a column was unused. ] [New Layout X.L.MultiColumns Anders Engstrom **20091024175155 Ignore-this: a2d3d2eee52c28eab7d125f6b621cada New layout inspired the realization that I was switching between Mirror Tall and Mirror ThreeCol depending on how many windows there were on the workspace. This layout will make those changes automatically. ] [Changing behaviour of ppUrgent with X.H.DynamicLog mail at n-sch.de**20090910010411 Ignore-this: 3882f36d5c49e53628485c1570bf136a Currently, the ppUrgent method is an addition to the ppHidden method. This doesn't make any sense since it is in fact possible to get urgent windows on the current and visible screens. So I've raised the ppUrgent printer to be above ppCurrent/ppVisible and dropped its dependency on ppHidden. In addition to that this makes it a lot more easier to define a more custom ppUrgent printer, since you don't have to "undo" the ppHidden printer anymore. This also basicly removes the need for dzenStrip, although I just changed the description. -- McManiaC / Nils ] [fix X.U.Run.spawnPipe fd leak Tomas Janousek **20091025210246 Ignore-this: 24375912d505963fafc917a63d0e79a0 ] [TAG 0.9 Spencer Janssen **20091026013449 Ignore-this: 542b6105d6deed65e12d1f91c666b0b2 ] Patch bundle hash: 77cdd20a30613bdf42ff776ced87b005293de813 From vogt.adam at gmail.com Sun Dec 1 20:56:22 2013 From: vogt.adam at gmail.com (adam vogt) Date: Sun, 1 Dec 2013 15:56:22 -0500 Subject: [xmonad] Two patches for xmonad-contrib: new layout modifier and new "conditional" layout In-Reply-To: <529B6AF8.2010705@rambler.ru> References: <529B6AF8.2010705@rambler.ru> Message-ID: Hi Ilya, I have some concerns/suggestions for these modules. First about InRegion: 1. XMonad.Layout.Gaps does the same thing (except with pixels and not fractions of the screen dimensions), so I think if we call InRegion GapsRelative that'll emphasize the connection. 2. LayoutBuilder's (layoutAll (relBox a b c d)) is supposed to do the same thing as (inRegion a b c d). In IfMax there are some things that should be re-written, unless I'm missing something. For example, you write: + let l1' = fromMaybe l1 ml1' + return (wrs, Just $ IfMax n l1' l2) Why not: + return (wrs, fmap (\l1' -> IfMax n l1' l2) ml1' ) You run the underlying layout with workspace name "", when you could propagate it. There are some unnecessary constraints on the LayoutClass instance. It should be fine to just have `(LayoutClass l1 a, LayoutClass l2 a) =>' right? Did you test with decorated layouts? For example, (ifMax 2 Full simpleTabbed) is ok except that when you click on tabs the focus doesn't change. I imagine one workaround would be to instead: addTabs shrinkText def (ifMax 2 Full Simplest) But maybe both options can be made to work. Or at least the variation that does work should be described somewhere (if it's not already). Regards, Adam On Sun, Dec 1, 2013 at 11:59 AM, Ilya Portnov wrote: > Hello XMonad world. > > There are two patches for xmonad-contrib. > > InRegion is a layout modifier. It runs underlying layout in restricted > rectangle region. You specify that region with X,Y coordinates of top-left > corner, and width, height of rectangle. > All numbers are specified as parts of whole region (e.g., screen > dimensions). So, "inRegion 0 0 1 1 someLayout" will just run someLayout as > is. "inRegion 0.15 0 0.7 1 Full" will give you 15% margins at left and at > right. > > IfMax layout is a "conditional layout". It runs one layout, if there are as > maximum N windows, and otherwise it runs another layout. Example: > > ifMax 2 Full (Tall ...) > In this example, if there are 1 or 2 windows, Full layout will be used; > otherwise, Tall layout will be used. > > With best regards, > Ilya Portnov. > > > _______________________________________________ > xmonad mailing list > xmonad at haskell.org > http://www.haskell.org/mailman/listinfo/xmonad > From rbastian at musiques-rb.org Mon Dec 2 17:25:10 2013 From: rbastian at musiques-rb.org (=?ISO-8859-1?B?UmVu6Q==?= Bastian) Date: Mon, 2 Dec 2013 18:25:10 +0100 Subject: [xmonad] new Message-ID: <20131202182510.39b64d38@lenovo> Hello, I am new on this list. I installed xmonad via Synaptic on Debian 6. & Gnome 2.30.2 The version of xmonadr seems to be "xmonad 0.9.1-2 + b1" I get the error message: rbm at lenovo:~$ xmonad /home/rbm/.xmonad/xmonad-i386-linux: executeFile: does not exist (No such file or directory) X Error of failed request: BadAccess (attempt to access private resource denied) Major opcode of failed request: 2 (X_ChangeWindowAttributes) Serial number of failed request: 7 Current serial number in output stream: 8 What is wrong ? Ren? -- Ren? Bastian www.pythoneon.org From vogt.adam at gmail.com Mon Dec 2 17:32:15 2013 From: vogt.adam at gmail.com (adam vogt) Date: Mon, 2 Dec 2013 12:32:15 -0500 Subject: [xmonad] new In-Reply-To: <20131202182510.39b64d38@lenovo> References: <20131202182510.39b64d38@lenovo> Message-ID: Hello Ren?, It looks like you have another window manager open. You can only have one at a time. I suggest upgrading xmonad to one that supports a --replace flag, (and then running xmonad --replace), or using: There are many other ways to make gnome start xmonad instead of metacity. Regards, Adam On Mon, Dec 2, 2013 at 12:25 PM, Ren? Bastian wrote: > Hello, > > I am new on this list. > > I installed xmonad via Synaptic on Debian 6. & Gnome 2.30.2 > The version of xmonadr seems to be "xmonad 0.9.1-2 + b1" > I get the error message: > > rbm at lenovo:~$ xmonad > /home/rbm/.xmonad/xmonad-i386-linux: executeFile: does not exist (No > such file or directory) X Error of failed request: BadAccess (attempt > to access private resource denied) Major opcode of failed request: 2 > (X_ChangeWindowAttributes) Serial number of failed request: 7 > Current serial number in output stream: 8 > > What is wrong ? > > Ren? > > > > > > > > -- > Ren? Bastian > www.pythoneon.org > _______________________________________________ > xmonad mailing list > xmonad at haskell.org > http://www.haskell.org/mailman/listinfo/xmonad From rbastian at musiques-rb.org Mon Dec 2 19:09:45 2013 From: rbastian at musiques-rb.org (=?ISO-8859-1?B?UmVu6Q==?= Bastian) Date: Mon, 2 Dec 2013 20:09:45 +0100 Subject: [xmonad] new In-Reply-To: References: <20131202182510.39b64d38@lenovo> Message-ID: <20131202200945.47cba666@lenovo> Le Mon, 2 Dec 2013 12:32:15 -0500, adam vogt a ?crit : > Hello Ren?, > > It looks like you have another window manager open. You can only have > one at a time. Yes: Gnome 2.30.2 I installed a recent xmonad (from tarball, etc.) $ xmonad --version => xmonad 0.11 -- I think I am nearer but: --------------------------------------------------------- rbm at lenovo:~$ xmonad --replace X Error of failed request: BadAccess (attempt to access private resource denied) Major opcode of failed request: 2 (X_ChangeWindowAttributes) Serial number of failed request: 7 Current serial number in output stream: 8 --------------------------------------------------------- gives the same. !! After more then 10 years of Linux practice, I dont know how to not lauch a wm :) I tried the maintenance mode [black terminal after rebooting] - as root and as user : it doesnt work .. > I suggest upgrading xmonad to one that supports a > --replace flag, (and then running xmonad --replace), or using: It seems the -- replace option of Version 0.11 has no effect. > > > > There are many other ways to make gnome start xmonad instead of > metacity. > > Regards, > Adam > > On Mon, Dec 2, 2013 at 12:25 PM, Ren? Bastian > wrote: > > Hello, > > > > I am new on this list. > > > > I installed xmonad via Synaptic on Debian 6. & Gnome 2.30.2 > > The version of xmonadr seems to be "xmonad 0.9.1-2 + b1" > > I get the error message: > > > > rbm at lenovo:~$ xmonad > > /home/rbm/.xmonad/xmonad-i386-linux: executeFile: does not exist (No > > such file or directory) X Error of failed request: BadAccess > > (attempt to access private resource denied) Major opcode of failed > > request: 2 (X_ChangeWindowAttributes) Serial number of failed > > request: 7 Current serial number in output stream: 8 > > > > What is wrong ? > > > > Ren? > > -- > > Ren? Bastian > > www.pythoneon.org > > _______________________________________________ > > xmonad mailing list > > xmonad at haskell.org > > http://www.haskell.org/mailman/listinfo/xmonad > From daniel at wagner-home.com Tue Dec 3 21:33:55 2013 From: daniel at wagner-home.com (Daniel Wagner) Date: Tue, 03 Dec 2013 16:33:55 -0500 Subject: [xmonad] new In-Reply-To: <20131202200945.47cba666@lenovo> References: <20131202182510.39b64d38@lenovo> <20131202200945.47cba666@lenovo> Message-ID: <877114e665b515923052d5be1f6ae96c@seas.upenn.edu> I'm not sure why it's behaving that way, but can you adjust whatever tool is starting your other WM to start xmonad instead? There's instructions for many of the common login managers in the xmonad FAQ. ~d On 2013-12-02 14:09, Ren? Bastian wrote: > Le Mon, 2 Dec 2013 12:32:15 -0500, > adam vogt a ?crit : > >> Hello Ren?, >> >> It looks like you have another window manager open. You can only have >> one at a time. > Yes: Gnome 2.30.2 > I installed a recent xmonad (from tarball, etc.) > $ xmonad --version => xmonad 0.11 > -- I think I am nearer but: > --------------------------------------------------------- > rbm at lenovo:~$ xmonad --replace > X Error of failed request: BadAccess (attempt to access private > resource denied) Major opcode of failed request: 2 > (X_ChangeWindowAttributes) Serial number of failed request: 7 > Current serial number in output stream: 8 > --------------------------------------------------------- > gives the same. > > !! After more then 10 years of Linux practice, I dont know how to not > lauch a wm :) > > I tried the maintenance mode [black terminal after rebooting] - as root > and as user : it doesnt work .. > > >> I suggest upgrading xmonad to one that supports a >> --replace flag, (and then running xmonad --replace), or using: > > It seems the -- replace option of Version 0.11 has no effect. >> >> >> >> There are many other ways to make gnome start xmonad instead of >> metacity. >> >> Regards, >> Adam >> >> On Mon, Dec 2, 2013 at 12:25 PM, Ren? Bastian >> wrote: >> > Hello, >> > >> > I am new on this list. >> > >> > I installed xmonad via Synaptic on Debian 6. & Gnome 2.30.2 >> > The version of xmonadr seems to be "xmonad 0.9.1-2 + b1" >> > I get the error message: >> > >> > rbm at lenovo:~$ xmonad >> > /home/rbm/.xmonad/xmonad-i386-linux: executeFile: does not exist (No >> > such file or directory) X Error of failed request: BadAccess >> > (attempt to access private resource denied) Major opcode of failed >> > request: 2 (X_ChangeWindowAttributes) Serial number of failed >> > request: 7 Current serial number in output stream: 8 >> > >> > What is wrong ? >> > >> > Ren? > >> > -- >> > Ren? Bastian >> > www.pythoneon.org >> > _______________________________________________ >> > xmonad mailing list >> > xmonad at haskell.org >> > http://www.haskell.org/mailman/listinfo/xmonad >> > > _______________________________________________ > xmonad mailing list > xmonad at haskell.org > http://www.haskell.org/mailman/listinfo/xmonad From mail at joachim-breitner.de Wed Dec 4 23:45:49 2013 From: mail at joachim-breitner.de (Joachim Breitner) Date: Wed, 04 Dec 2013 23:45:49 +0000 Subject: [xmonad] darcs patch: Change order of calls to setWindowDesktop Message-ID: 1 patch for repository http://code.haskell.org/XMonadContrib: Wed Dec 4 23:44:08 GMT 2013 Joachim Breitner * Change order of calls to setWindowDesktop in order to give a slightly more sensible result when you have a window on multiple or all workspaces. -------------- next part -------------- A non-text attachment was scrubbed... Name: patch-preview.txt Type: text/x-darcs-patch Size: 1142 bytes Desc: Patch preview URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: change-order-of-calls-to-setwindowdesktop.dpatch Type: application/x-darcs-patch Size: 12230 bytes Desc: A darcs patch for your repository! URL: From codesite-noreply at google.com Sun Dec 15 04:46:29 2013 From: codesite-noreply at google.com (codesite-noreply at google.com) Date: Sun, 15 Dec 2013 04:46:29 +0000 Subject: [xmonad] Issue 561 in xmonad: some windows will become bigger and bigger Message-ID: <0-3425899027203913298-11157683462313326662-codesite-noreply=google.com@googlecode.com> Status: New Owner: ---- New issue 561 by kos19... at gmail.com: some windows will become bigger and bigger http://code.google.com/p/xmonad/issues/detail?id=561 my full configuration is https://github.com/kosl90/xmonad-config. tilda is a dropdown style terminal, I float it. the window will become bigger and bigger after hidding and showing repeatedly. What steps will reproduce the problem? 1. show tilda 2. hide tilda 3. repeat 1 and 2 What is the expected output? What do you see instead? What version of the product are you using? On what operating system? xmonad 0.11 on Linux Deepin. Are you using an xmonad.hs? Please attach it and the output of "xmonad --recompile". output nothing. Please provide any additional information below. Attachments: 2013-12-15-123215_1280x800.png 758 KB 2013-12-15-123234_1280x800.png 893 KB -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From polson2 at hawk.iit.edu Mon Dec 16 04:34:06 2013 From: polson2 at hawk.iit.edu (Peter Olson) Date: Sun, 15 Dec 2013 22:34:06 -0600 Subject: [xmonad] servermode patch for xmonad-contrib Message-ID: <52AE82BE.7090500@hawk.iit.edu> Some stuff that I have been working on to generalize XMonad.Hooks.ServerMode so that it will be more useful. This is my first time contributing to an open-source project, so sorry if I made any obvious mistakes. Peter Olson -------------- next part -------------- 1 patch for repository http://code.haskell.org/XMonadContrib: Sun Dec 15 20:51:00 CST 2013 polson2 at hawk.iit.edu * Generalized XMonad.Hooks.ServerMode New patches: [Generalized XMonad.Hooks.ServerMode polson2 at hawk.iit.edu**20131216025100 Ignore-this: e58da3b168a1058f32982833ea25a739 ] { hunk ./XMonad/Hooks/ServerMode.hs 4 ----------------------------------------------------------------------------- -- | -- Module : XMonad.Hooks.ServerMode --- Copyright : (c) Andrea Rossato and David Roundy 2007 +-- Copyright : (c) Peter Olson 2013 and Andrea Rossato and David Roundy 2007 -- License : BSD-style (see xmonad/LICENSE) -- hunk ./XMonad/Hooks/ServerMode.hs 7 --- Maintainer : andrea.rossato at unibz.it +-- Maintainer : polson2 at hawk.iit.edu -- Stability : unstable -- Portability : unportable -- hunk ./XMonad/Hooks/ServerMode.hs 19 -- > import Graphics.X11.Xlib -- > import Graphics.X11.Xlib.Extras -- > import System.Environment +-- > import System.IO -- > import Data.Char hunk ./XMonad/Hooks/ServerMode.hs 21 --- > --- > usage :: String -> String --- > usage n = "Usage: " ++ n ++ " command number\nSend a command number to a running instance of XMonad" --- > +-- > -- > main :: IO () hunk ./XMonad/Hooks/ServerMode.hs 23 --- > main = do --- > args <- getArgs --- > pn <- getProgName --- > let com = case args of --- > [] -> error $ usage pn --- > w -> (w !! 0) --- > sendCommand com --- > --- > sendCommand :: String -> IO () --- > sendCommand s = do +-- > main = parse True "XMONAD_COMMAND" =<< getArgs +-- > +-- > parse :: Bool -> String -> [String] -> IO () +-- > parse input addr args = case args of +-- > ["--"] | input -> repl addr +-- > | otherwise -> return () +-- > ("--":xs) -> sendAll addr xs +-- > ("-a":a:xs) -> parse input a xs +-- > ("-h":_) -> showHelp +-- > ("--help":_) -> showHelp +-- > ("-?":_) -> showHelp +-- > (a@('-':_):_) -> hPutStrLn stderr ("Unknown option " ++ a) +-- > +-- > (x:xs) -> sendCommand addr x >> parse False addr xs +-- > [] | input -> repl addr +-- > | otherwise -> return () +-- > +-- > +-- > repl :: String -> IO () +-- > repl addr = do e <- isEOF +-- > case e of +-- > True -> return () +-- > False -> do l <- getLine +-- > sendCommand addr l +-- > repl addr +-- > +-- > sendAll :: String -> [String] -> IO () +-- > sendAll addr ss = foldr (\a b -> sendCommand addr a >> b) (return ()) ss +-- > +-- > sendCommand :: String -> String -> IO () +-- > sendCommand addr s = do -- > d <- openDisplay "" -- > rw <- rootWindow d $ defaultScreen d hunk ./XMonad/Hooks/ServerMode.hs 56 --- > a <- internAtom d "XMONAD_COMMAND" False +-- > a <- internAtom d addr False +-- > m <- internAtom d s False -- > allocaXEvent $ \e -> do -- > setEventType e clientMessage hunk ./XMonad/Hooks/ServerMode.hs 60 --- > setClientMessageEvent e rw a 32 (fromIntegral (read s)) currentTime +-- > setClientMessageEvent e rw a 32 m currentTime -- > sendEvent d rw False structureNotifyMask e -- > sync d False hunk ./XMonad/Hooks/ServerMode.hs 63 +-- > +-- > showHelp :: IO () +-- > showHelp = do pn <- getProgName +-- > putStrLn ("Send commands to a running instance of xmonad. xmonad.hs must be configured with XMonad.Hooks.ServerMode to work.\n-a atomname can be used at any point in the command line arguments to change which atom it is sending on.\nIf sent with no arguments or only -a atom arguments, it will read commands from stdin.\nEx:\n" ++ pn ++ " cmd1 cmd2\n" ++ pn ++ " -a XMONAD_COMMAND cmd1 cmd2 cmd3 -a XMONAD_PRINT hello world\n" ++ pn ++ " -a XMONAD_PRINT # will read data from stdin.\nThe atom defaults to XMONAD_COMMAND.") -- hunk ./XMonad/Hooks/ServerMode.hs 68 --- compile with: @ghc --make sendCommand.hs@ +-- +-- compile with: @ghc --make xmonadctl.hs@ -- -- run with -- hunk ./XMonad/Hooks/ServerMode.hs 73 --- > sendCommand command number +-- > xmonadctl command +-- +-- or with -- hunk ./XMonad/Hooks/ServerMode.hs 77 --- For instance: +-- > $ xmonadctl +-- > command1 +-- > command2 +-- > . +-- > . +-- > . +-- > ^D -- hunk ./XMonad/Hooks/ServerMode.hs 85 --- > sendCommand 0 +-- Usage will change depending on which event hook(s) you use. More examples are shown below. -- hunk ./XMonad/Hooks/ServerMode.hs 87 --- will ask to xmonad to print the list of command numbers in --- stderr (so you can read it in @~\/.xsession-errors@). ----------------------------------------------------------------------------- module XMonad.Hooks.ServerMode hunk ./XMonad/Hooks/ServerMode.hs 92 ( -- * Usage -- $usage - ServerMode (..) - , serverModeEventHook + serverModeEventHook , serverModeEventHook' hunk ./XMonad/Hooks/ServerMode.hs 94 + , serverModeEventHookCmd + , serverModeEventHookCmd' + , serverModeEventHookF ) where import Control.Monad (when) hunk ./XMonad/Hooks/ServerMode.hs 100 +import Data.Maybe import Data.Monoid import System.IO hunk ./XMonad/Hooks/ServerMode.hs 112 -- @~\/.xmonad\/xmonad.hs@: -- -- > import XMonad.Hooks.ServerMode --- > import XMonad.Actions.Commands -- hunk ./XMonad/Hooks/ServerMode.hs 113 --- Then edit your @handleEventHook@ by adding the 'serverModeEventHook': +-- Then edit your @handleEventHook@ by adding the appropriate event hook from below + +-- | Executes a command of the list when receiving its index via a special ClientMessageEvent +-- (indexing starts at 1). Sending index 0 will ask xmonad to print the list of command numbers +-- in stderr (so that you can read it in @~\/.xsession-errors@). Uses "XMonad.Actions.Commands#defaultCommands" as the default. -- -- > main = xmonad def { handleEventHook = serverModeEventHook } hunk ./XMonad/Hooks/ServerMode.hs 120 +-- +-- > xmonadctl 0 # tells xmonad to output command list +-- > xmonadctl 1 # tells xmonad to switch to workspace 1 -- hunk ./XMonad/Hooks/ServerMode.hs 124 - -data ServerMode = ServerMode deriving ( Show, Read ) - --- | Executes a command of the list when receiving its index via a special ClientMessageEvent --- (indexing starts at 1) serverModeEventHook :: Event -> X All serverModeEventHook = serverModeEventHook' defaultCommands hunk ./XMonad/Hooks/ServerMode.hs 130 -- | serverModeEventHook' additionally takes an action to generate the list of -- commands. serverModeEventHook' :: X [(String,X ())] -> Event -> X All -serverModeEventHook' cmdAction (ClientMessageEvent {ev_message_type = mt, ev_data = dt}) = do +serverModeEventHook' cmdAction ev = serverModeEventHookF "XMONAD_COMMAND" (sequence_ . map helper . words) ev + where helper cmd = do cl <- cmdAction + case lookup cmd (zip (map show [1..]) cl) of + Just (_,action) -> action + Nothing -> mapM_ (io . hPutStrLn stderr) . listOfCommands $ cl + listOfCommands cl = map (uncurry (++)) $ zip (map show ([1..] :: [Int])) $ map ((++) " - " . fst) cl + + +-- | Executes a command of the list when receiving its name via a special ClientMessageEvent. +-- Uses "XMonad.Actions.Commands#defaultCommands" as the default. +-- +-- > main = xmonad def { handleEventHook = serverModeEventHookCmd } +-- +-- > xmonadctl run # Tells xmonad to generate a run prompt +-- +serverModeEventHookCmd :: Event -> X All +serverModeEventHookCmd = serverModeEventHookCmd' defaultCommands + +-- | Additionally takes an action to generate the list of commands +serverModeEventHookCmd' :: X [(String,X ())] -> Event -> X All +serverModeEventHookCmd' cmdAction ev = serverModeEventHookF "XMONAD_COMMAND" (sequence_ . map helper . words) ev + where helper cmd = do cl <- cmdAction + fromMaybe (io $ hPutStrLn stderr ("Couldn't find command " ++ cmd)) (lookup cmd cl) + +-- | Listens for an atom, then executes a callback function whenever it hears it. +-- A trivial example that prints everything supplied to it on xmonad's standard out: +-- +-- > main = xmonad def { handleEventHook = serverModeEventHookF "XMONAD_PRINT" (io . putStrLn) } +-- +-- > xmonadctl -a XMONAD_PRINT "hello world" +-- +serverModeEventHookF :: String -> (String -> X ()) -> Event -> X All +serverModeEventHookF key func (ClientMessageEvent {ev_message_type = mt, ev_data = dt}) = do d <- asks display hunk ./XMonad/Hooks/ServerMode.hs 164 - a <- io $ internAtom d "XMONAD_COMMAND" False + a <- io $ internAtom d key False when (mt == a && dt /= []) $ do hunk ./XMonad/Hooks/ServerMode.hs 166 - cl <- cmdAction - let listOfCommands = map (uncurry (++)) . zip (map show ([1..] :: [Int])) . map ((++) " - " . fst) - case lookup (fromIntegral (head dt) :: Int) (zip [1..] cl) of - Just (_,action) -> action - Nothing -> mapM_ (io . hPutStrLn stderr) . listOfCommands $ cl + let atom = fromIntegral $ toInteger $ foldr1 (\a b -> a + (b*2^32)) dt + cmd <- io $ getAtomName d atom + case cmd of + Just command -> func command + Nothing -> io $ hPutStrLn stderr ("Couldn't retrieve atom " ++ (show atom)) return (All True) hunk ./XMonad/Hooks/ServerMode.hs 172 -serverModeEventHook' _ _ = return (All True) +serverModeEventHookF _ _ _ = return (All True) } Context: [fix UrgencyHook and add filterUrgencyHook Adam Vogt **20130924224738 Ignore-this: 3b7c62275701e6758397977c5c09b744 ] [export XMonad.Hooks.UrgencyHook.clearUrgency (issue 533) Adam Vogt **20130923031349 Ignore-this: dafe5763d9abcfa606f5c1a8cf5c57d6 ] [minor documentation fix: manageDocks doesn't do anything with struts, so don't claim it does Daniel Wagner **20130814125106 Ignore-this: a2610d6c1318ac0977abfc21d1b91632 ] [don't pretend to be LG3D in X.C.Dmwit because this confuses modern GTK Daniel Wagner **20130813211636 Ignore-this: 8f728dc1b4bf5e472d99419cc5920e51 ] [XMonad.Actions.UpdatePointer: generalise updatePointer Liyang HU **20130730071007 Ignore-this: 3374a62b6c63dcc152dbf843cd0577f0 ] [XMonad.Actions.UpdatePointer: document TowardsCentre Liyang HU **20130730053746 Ignore-this: 2d684b12e4fff0ebec254bea4a4546a3 ] [Haddock formatting in H.Minimize Adam Vogt **20130723155658 Ignore-this: 5db3186a51dec58f78954466ded339cb ] [Bump version (and xmonad dependency) to 0.12 Adam Vogt **20130720205857 Ignore-this: ce165178ca916223501f266339f1de39 This makes a breakage due to missing patches in core a bit more obvious. Previously you would have a build failure regarding some missing identifiers (def re-exported by XMonad from Data.Default), while after applying this patch it will be clear that xmonad-core needs to be updated. ] [Fix issue 551 by also getting manpath without -g flag. Adam Vogt **20130716030536 Ignore-this: ded2d51eb7b7697c0fdfaa8158d612df Instead of taking Ondrej's approach of figuring out which man (man-db or http://primates.ximian.com/~flucifredi/man/) is used by the system, just try both sets of flags. ] [Escape dzen markup and remove xmobar tags from window titles by default. Adam Vogt **20130708144813 Ignore-this: cf56bff752fbf78ea06d5c0cb755f615 The issue was that window titles, such as those set by, for example a browser, could set the window title to display something like normal title Which could be executed by xmobar (or dzen). This adds a ppTitleSanitize which does the above functions. This way when users override ppTitle, the benefits are not lost. Thanks to Ra??l Benencia and Joachim Breitner for bringing this to my attention. ] [DynamicBars-use-ExtensibleState gopsychonauts at gmail.com**20130618074755 Ignore-this: afacba51af2be8ede65b9bcf9b002a7 Hooks.DynamicBars was previously using an MVar and the unsafePerformIO hack ( http://www.haskell.org/haskellwiki/Top_level_mutable_state ) to store bar state. Since ExtensibleState exists to solve these sorts of problems, I've switched the file over to use unsafePerformIO instead. Some functions' types had to be changed to allow access to XState, but the public API is unchanged. ] [Catch exceptions when finding commands on PATH in Prompt.Shell Thomas Tuegel **20130616230219 Ignore-this: 5a4d08c80301864bc14ed784f1054c3f ] [Fix haddock parse error in X.A.LinkWorkspaces Adam Vogt **20130528133448 Ignore-this: 42f05cf8ca9e6d1ffae3bd20666d87ab ] [use Data.Default wherever possible, and deprecate the things it replaces Daniel Wagner **20130528013909 Ignore-this: 898458b1d2868a70dfb09faf473dc7aa ] [eliminate references to defaultConfig Daniel Wagner **20130528005825 Ignore-this: 37ae613e4b943e99c5200915b9d95e58 ] [minimal change needed to get xmonad-contrib to build with xmonad's data-default patch Daniel Wagner **20130528001040 Ignore-this: 291e4f6cd74fc2b808062e0369665170 ] [Remove unneeded XSync call in Layout.ShowWName Francesco Ariis **20130517153341 Ignore-this: 4d107c680572eff464c8f6ed9fabdd41 ] [Remove misleading comment: we definitely don't support ghc-6.6 anymore Adam Vogt **20130514215851 Ignore-this: 2d071cb05709a16763d039222264b426 ] [Fix module name in comment of X.L.Fullscreen Adam Vogt **20130514215727 Ignore-this: cb5cf18c301c5daf5e1a2527da1ef6bf ] [Minor update to cabal file (adding modules & maintainership) Adam Vogt **20130514215632 Ignore-this: 82785e02e544e1f797799bed5b5d9be2 ] [Remove trailing whitespace in X.A.LinkWorkspaces Adam Vogt **20130514215421 Ignore-this: 5015ab4468e7931876eb66b019af804c ] [Update documentation of LinkWorkspaces Module quesel at informatik.uni-oldenburg.de**20110328072813 Ignore-this: da863534931181f551c9c54bc4076c05 ] [Added a module for linking workspaces quesel at informatik.uni-oldenburg.de**20110210165018 Ignore-this: 1dba2164cc3387409873d33099596d91 This module provides a way to link certain workspaces in a multihead setup. That way, when switching to the first one the other heads display the linked workspaces. ] [Cache results from calcGap in ManageDocks Adam Vogt **20130425155811 Ignore-this: e5076fdbdfc68bc159424dd4e0f14456 http://www.haskell.org/pipermail/xmonad/2013-April/013670.html ] [Remove unnecessary contexts from L.MultiToggle Adam Vogt **20130217163356 Ignore-this: 6b0e413d8c3a58f62088c32a96c57c51 ] [Generalises modWorkspace to take any layout-transforming function gopsychonauts at gmail.com**20130501151425 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. ] [since XMonad.Config.Dmwit mentions xmobar, we should include the associated .xmobarrc file Daniel Wagner **20130503194055 Ignore-this: 2f6d7536df81eb767262b79b60eb1b86 ] [warning police Daniel Wagner **20130502012700 Ignore-this: ae7412ac77c57492a7ad6c5f8f50b9eb ] [XMonad.Config.Dmwit Daniel Wagner **20130502012132 Ignore-this: 7402161579fd2e191b60a057d955e5ea ] [minor fixes to the haddock markup in X.L.IndependentScreens Daniel Wagner **20130411193849 Ignore-this: b6a139aa43fdb39fc1b86566c0c34c7a ] [add whenCurrentOn to X.L.IndependentScreens Daniel Wagner **20130408225251 Ignore-this: ceea3d391f270abc9ed8e52ce19fb1ac ] [Allow to specify the initial gaps' states in X.L.Gaps Paul Fertser **20130222072232 Ignore-this: 31596d918d0050e36ce3f64f56205a64 ] [should bump X11 dependency, too, to make sure we have getAtomName Daniel Wagner **20130225180527 Ignore-this: 260711f27551f18cc66afeb7b4846b9f ] [getAtomName is now defined in the X11 library Daniel Wagner **20130225180323 Ignore-this: 3b9e17c234679e98752a47c37132ee4e ] [Allow to limit maximum row count in X.Prompt completion window Paul Fertser **20130221122050 Ignore-this: 923656f02996f2de2b1336275392c5f9 On a keyboard-less device (such as a smartphone), where one has to use an on-screen keyboard, the maximum completion window height must be limited to avoid overlapping the keyboard. ] [Note in U.NameActions that xmonad core can list default keys now Adam Vogt **20130217233026 Ignore-this: 937bff636fa88171932d5192fe8e290b ] [Export U.NamedActions.addDescrKeys per evaryont's request. Adam Vogt **20130217232619 Ignore-this: a694a0a3ece70b52fba6e8f688d86344 ] [Add EWMH DEMANDS_ATTENTION support to UrgencyHook. Maarten de Vries **20130212181229 Ignore-this: 5a4b314d137676758fad9ec8f85ce422 Add support for the _NET_WM_STATE_DEMANDS_ATTENTION atom by treating it the same way as the WM_HINTS urgency flag. ] [Unconditionally set _NET_WORKAREA in ManageDocks Adam Vogt **20130117180851 Ignore-this: 9f57e53fba9573d8a92cf153beb7fe7a ] [spawn command when no completion is available (if alwaysHighlight is True); changes commandToComplete in Prompt/Shell to complete the whole word instead of using getLastWord c.lopez at kmels.net**20130209190456 Ignore-this: ca7d354bb301b555b64d5e76e31d10e8 ] [order-unindexed-ws-last matthewhague at zoho.com**20120703222726 Ignore-this: 4af8162ee8b16a60e8fd62fbc915d3c0 Changes the WorkspaceCompare module's comparison by index to put workspaces without an index last (rather than first). ] [SpawnOn modification for issue 523 Adam Vogt **20130114014642 Ignore-this: 703f7dc0f800366b752f0ec1cecb52e5 This moves the function to help clean up the `Spawner' to the ManageHook rather than in functions like spawnOn. Probably it makes no difference, the reason is because there's one manageSpawn function but many different so this way there are less functions to write. ] [Update L.TrackFloating.useTransient example code Adam Vogt **20130112041239 Ignore-this: e4e31cf1db742778c1d59d52fdbeed7a Suggest useTransient goes to the right of trackFloating which is the configuration actually tested. ] [Adapt ideas of issue 306 patch to a new modifier in L.TrackFloating Adam Vogt **20130112035701 Ignore-this: d54d27b71b97144ef0660f910fd464aa ] [Make X.A.CycleWS not rely on hidden WS order Dmitri Iouchtchenko **20130109023328 Ignore-this: 8717a154b33253c5df4e9a0ada4c2c3e ] [Add X.H.WorkspaceHistory Dmitri Iouchtchenko **20130109023307 Ignore-this: c9e7ce33a944facc27481dde52c7cc80 ] [Allow removing arbitrary workspaces Dmitri Iouchtchenko **20121231214343 Ignore-this: 6fce4bd3d0c5337e5122158583138e74 ] [Remove first-hidden restriction from X.A.DynamicWorkspaces.removeWorkspace' Dmitri Iouchtchenko **20121231214148 Ignore-this: 55fb0859e9a5f476a834ecbdb774aac8 ] [Add authorspellings file for `darcs show authors'. Adam Vogt **20130101040031 Ignore-this: c3198072ebc6a71d635bec4d8e2c78fd This authorspellings file includes a couple people who've contributed to xmonad (not XMonadContrib). When people have multiple addresses, the most recent one has been picked. ] [TAG 0.11 Adam Vogt **20130101014231 Ignore-this: 57cf32412fd1ce912811cb7fafe930f5 ] Patch bundle hash: 919d364fcdae765b3ad0f330dd518eea9fb16a9e From wferi at niif.hu Tue Dec 17 18:30:54 2013 From: wferi at niif.hu (Ferenc Wagner) Date: Tue, 17 Dec 2013 19:30:54 +0100 Subject: [xmonad] how to handle "request focus" events properly In-Reply-To: (Brandon Allbery's message of "Sat, 30 Nov 2013 23:30:42 -0500") References: Message-ID: <87y53j72jl.fsf@lant.ki.iif.hu> Brandon Allbery writes: > On Sat, Nov 30, 2013 at 11:09 PM, Javran Cheng wrote: > >> I'm wondering what is the proper way of handling some "request focus" >> events, I have some scenario here: >> > > If you have EwmhDesktops configured (including by using > XMonad.Config.Desktop as your base config, or one of its descendants such > as XMonad.Config.Xfce or XMonad.Config.Gnome) then we handle the EWMH focus > request message. > > Many people do not like it when their browser demands focus (Firefox and > Chrome are both happy to demand focus when some other program has focus, > instead of only when they are switching focus from one of their windows to > another), so we do not force support for the EWMH focus change message by > default as this would make it very difficult to turn off. I positively hate that Firefox, if visible on the other screen, steals focus from my MUA when I click on some URL which Firefox opens. How could I get rid of this? My config is basically: main = do xmproc <- spawnPipe "xmobar /home/wferi/.xmonad/xmobar.hs" xmonad $ withUrgencyHook NoUrgencyHook $ defaultConfig { terminal = "urxvt", manageHook = composeAll [logNewWindows, manageHook defaultConfig, manageDocks, title =? "Audio Settings" --> doFloat], layoutHook = smartBorders $ avoidStruts $ layoutHook defaultConfig, logHook = dynamicLogWithPP $ sjanssenPP { ppOutput = hPutStrLn xmproc, ppUrgent = xmobarColor "red" "" } } `additionalKeysP` [ ("M-S-l", spawn "sleep 1; xset dpms force off; xtrlock") ] logNewWindows :: ManageHook logNewWindows = do wt <- title wr <- appName wc <- className io . putStrLn . concat $ ["new window ",wr,"/",wc," \"",wt,"\""] idHook -- Thanks, Feri. From allbery.b at gmail.com Tue Dec 17 19:01:54 2013 From: allbery.b at gmail.com (Brandon Allbery) Date: Tue, 17 Dec 2013 14:01:54 -0500 Subject: [xmonad] how to handle "request focus" events properly In-Reply-To: <87y53j72jl.fsf@lant.ki.iif.hu> References: <87y53j72jl.fsf@lant.ki.iif.hu> Message-ID: On Tue, Dec 17, 2013 at 1:30 PM, Ferenc Wagner wrote: > I positively hate that Firefox, if visible on the other screen, steals > focus from my MUA when I click on some URL which Firefox opens. How > could I get rid of this? My config is basically: > That doesn't seem to have the EWMH hooks, so Firefox is probably falling back to hard focusing its own windows. About the only way to prevent that is to arrange for it to have a dummy XSetInputFocus() in scope, or to use a hacked EWMH that advertises but ignores the EWMH focus change event. (This hacked EWMH is not in xmonad-contrib. Yet.) -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From seschwar at gmail.com Tue Dec 17 22:59:26 2013 From: seschwar at gmail.com (Sebastian Schwarz) Date: Tue, 17 Dec 2013 23:59:26 +0100 Subject: [xmonad] how to handle "request focus" events properly In-Reply-To: <87y53j72jl.fsf@lant.ki.iif.hu> References: <87y53j72jl.fsf@lant.ki.iif.hu> Message-ID: <878uvjm6cx.fsf@domain.invalid> On 2013-17-12, Ferenc Wagner wrote: > I positively hate that Firefox, if visible on the other screen, steals > focus from my MUA when I click on some URL which Firefox opens. How > could I get rid of this? Did you set Firefox' browser.tabs.loadDivertedInBackground setting to true in about:config? Apart from not selecting the new tab in the Firefox window it also prevents Firefox from grabbing the window manager focus. From vogt.adam at gmail.com Thu Dec 19 18:24:23 2013 From: vogt.adam at gmail.com (adam vogt) Date: Thu, 19 Dec 2013 13:24:23 -0500 Subject: [xmonad] servermode patch for xmonad-contrib In-Reply-To: <52AE82BE.7090500@hawk.iit.edu> References: <52AE82BE.7090500@hawk.iit.edu> Message-ID: Hi Peter, I applied your patch. Having substantial code in the comments is not very convenient, since then people have to copy-paste to run it even if there is no customization. But that's how it was before you make changes. Furthermore there's no guarantee that it can compile. There are a couple options I think are better than the current situation: 1. have a (xmonadServerMode :: XConfig layout -> IO ()) which picks up on environment variables, so I think you could then send commands like: xmonad DO_SOMETHING=parameter 2. export a XMonad.Hooks.ServerMode.main, which is the same as the example code: runghc -e XMonad.Hooks.ServerMode.main -a ... 3. something else Regards, Adam On Sun, Dec 15, 2013 at 11:34 PM, Peter Olson wrote: > Some stuff that I have been working on to generalize XMonad.Hooks.ServerMode > so that it will be more useful. This is my first time contributing to an > open-source project, so sorry if I made any obvious mistakes. > > Peter Olson > > > _______________________________________________ > xmonad mailing list > xmonad at haskell.org > http://www.haskell.org/mailman/listinfo/xmonad > From vogt.adam at gmail.com Thu Dec 19 18:28:10 2013 From: vogt.adam at gmail.com (adam vogt) Date: Thu, 19 Dec 2013 13:28:10 -0500 Subject: [xmonad] Two patches for xmonad-contrib: new layout modifier and new "conditional" layout In-Reply-To: References: <529B6AF8.2010705@rambler.ru> Message-ID: Hello, I've pushed the ifMax patch. I left out the InRegion because it is redundant. Please correct me if that's wrong. -- Adam On Sun, Dec 1, 2013 at 3:56 PM, adam vogt wrote: > Hi Ilya, > > I have some concerns/suggestions for these modules. First about InRegion: > > 1. XMonad.Layout.Gaps does the same thing (except with pixels and not > fractions of the screen dimensions), so I think if we call InRegion > GapsRelative that'll emphasize the connection. > > 2. LayoutBuilder's (layoutAll (relBox a b c d)) is supposed to do the > same thing as (inRegion a b c d). > > > In IfMax there are some things that should be re-written, unless I'm > missing something. For example, you write: > > + let l1' = fromMaybe l1 ml1' > + return (wrs, Just $ IfMax n l1' l2) > > Why not: > > + return (wrs, fmap (\l1' -> IfMax > n l1' l2) ml1' ) > > You run the underlying layout with workspace name "", when you could > propagate it. > > There are some unnecessary constraints on the LayoutClass instance. It > should be fine to just have `(LayoutClass l1 a, LayoutClass l2 a) =>' > right? > > Did you test with decorated layouts? For example, (ifMax 2 Full > simpleTabbed) is ok except that when you click on tabs the focus > doesn't change. I imagine one workaround would be to instead: > > addTabs shrinkText def (ifMax 2 Full Simplest) > > But maybe both options can be made to work. Or at least the variation > that does work should be described somewhere (if it's not already). > > Regards, > Adam > > On Sun, Dec 1, 2013 at 11:59 AM, Ilya Portnov wrote: >> Hello XMonad world. >> >> There are two patches for xmonad-contrib. >> >> InRegion is a layout modifier. It runs underlying layout in restricted >> rectangle region. You specify that region with X,Y coordinates of top-left >> corner, and width, height of rectangle. >> All numbers are specified as parts of whole region (e.g., screen >> dimensions). So, "inRegion 0 0 1 1 someLayout" will just run someLayout as >> is. "inRegion 0.15 0 0.7 1 Full" will give you 15% margins at left and at >> right. >> >> IfMax layout is a "conditional layout". It runs one layout, if there are as >> maximum N windows, and otherwise it runs another layout. Example: >> > ifMax 2 Full (Tall ...) >> In this example, if there are 1 or 2 windows, Full layout will be used; >> otherwise, Tall layout will be used. >> >> With best regards, >> Ilya Portnov. >> >> >> _______________________________________________ >> xmonad mailing list >> xmonad at haskell.org >> http://www.haskell.org/mailman/listinfo/xmonad >> From polson2 at hawk.iit.edu Thu Dec 19 18:56:26 2013 From: polson2 at hawk.iit.edu (Peter Olson) Date: Thu, 19 Dec 2013 12:56:26 -0600 Subject: [xmonad] servermode patch for xmonad-contrib In-Reply-To: References: <52AE82BE.7090500@hawk.iit.edu> Message-ID: <52B3415A.40705@hawk.iit.edu> Yeah, I agree with you. I started thinking about that after submitting the patch. I was modeling it after the version that was already there (which wasn't that great, hence why I rewrote it). At the very least, I intend to have the "sendCommand" function, and maybe the "sendAll" function in the main module, instead of in the comments, which would allow any Haskell application to very easily talk to xmonad. I think that option #1 is a good idea. How would that work, since it would require the same binary to either start the window manager or send the command to the running instance of xmonad. I'm guessing that looking at the code for xmonad --restart and xmonad --recompile would help with this? I'm not really sure what option 2 entails, since I am not very familiar with ghc/cabal. Thanks for the advice, Peter On 12/19/2013 12:24 PM, adam vogt wrote: > Hi Peter, > > I applied your patch. > > Having substantial code in the comments is not very convenient, since > then people have to copy-paste to run it even if there is no > customization. But that's how it was before you make changes. > Furthermore there's no guarantee that it can compile. There are a > couple options I think are better than the current situation: > > 1. have a (xmonadServerMode :: XConfig layout -> IO ()) which picks up > on environment variables, so I think you could then send commands > like: > > xmonad DO_SOMETHING=parameter > > 2. export a XMonad.Hooks.ServerMode.main, which is the same as the example code: > > runghc -e XMonad.Hooks.ServerMode.main -a ... > > 3. something else > > Regards, > Adam > > On Sun, Dec 15, 2013 at 11:34 PM, Peter Olson wrote: >> Some stuff that I have been working on to generalize XMonad.Hooks.ServerMode >> so that it will be more useful. This is my first time contributing to an >> open-source project, so sorry if I made any obvious mistakes. >> >> Peter Olson >> >> >> _______________________________________________ >> xmonad mailing list >> xmonad at haskell.org >> http://www.haskell.org/mailman/listinfo/xmonad >> From vogt.adam at gmail.com Thu Dec 19 20:03:49 2013 From: vogt.adam at gmail.com (adam vogt) Date: Thu, 19 Dec 2013 15:03:49 -0500 Subject: [xmonad] servermode patch for xmonad-contrib In-Reply-To: <52B3415A.40705@hawk.iit.edu> References: <52AE82BE.7090500@hawk.iit.edu> <52B3415A.40705@hawk.iit.edu> Message-ID: Hi Peter, For #1, the trick is that when /usr/bin/xmonad calls ~/.xmonad/xmonad-$arch-$os, the latter can access environment variables (System.Environment.getEnv / getEnvironment). Actually I made a mistake and the syntax is the slightly uglier: CMD=1 xmonad Then the xmonad.hs can contain something like: main = do e <- getEnvironment case lookup "CMD" e of Just n -> print n -- or whatever the sendCommand does _ -> xmonad theNormalConfig The code above could be hidden in another function: xmonadServerMode :: XConfig layout -> IO ()) We kind of discussed this earlier: . For #2, the idea is: ghc -e 'anything allowed in ghci' -e 'a second line you type into ghci' Then somebody just makes this definition for their shell: function xmonadCtrl () { ghc -e 'let main = XMonad.Hooks.ServerMode.exampleMain' -e ":main $*" } # Brandon probably has some portability suggestions? Or they could compile a very simple file: import XMonad.Hooks.ServerMode; main = exampleMain Or we could add an `executable xmonadcmd' section to the .cabal file... as in the commented-out bit of . I prefer the the other three options, since an xmonadcmd binary included by default incorrectly suggests that the feature is supported by out-of-the-box. Hope this helps. Adam On Thu, Dec 19, 2013 at 1:56 PM, Peter Olson wrote: > Yeah, I agree with you. I started thinking about that after submitting the > patch. I was modeling it after the version that was already there (which > wasn't that great, hence why I rewrote it). > > At the very least, I intend to have the "sendCommand" function, and maybe > the "sendAll" function in the main module, instead of in the comments, which > would allow any Haskell application to very easily talk to xmonad. > > I think that option #1 is a good idea. How would that work, since it would > require the same binary to either start the window manager or send the > command to the running instance of xmonad. I'm guessing that looking at the > code for xmonad --restart and xmonad --recompile would help with this? > > I'm not really sure what option 2 entails, since I am not very familiar with > ghc/cabal. > > Thanks for the advice, > Peter > > > On 12/19/2013 12:24 PM, adam vogt wrote: >> >> Hi Peter, >> >> I applied your patch. >> >> Having substantial code in the comments is not very convenient, since >> then people have to copy-paste to run it even if there is no >> customization. But that's how it was before you make changes. >> Furthermore there's no guarantee that it can compile. There are a >> couple options I think are better than the current situation: >> >> 1. have a (xmonadServerMode :: XConfig layout -> IO ()) which picks up >> on environment variables, so I think you could then send commands >> like: >> >> xmonad DO_SOMETHING=parameter >> >> 2. export a XMonad.Hooks.ServerMode.main, which is the same as the example >> code: >> >> runghc -e XMonad.Hooks.ServerMode.main -a ... >> >> 3. something else >> >> Regards, >> Adam >> >> On Sun, Dec 15, 2013 at 11:34 PM, Peter Olson >> wrote: >>> >>> Some stuff that I have been working on to generalize >>> XMonad.Hooks.ServerMode >>> so that it will be more useful. This is my first time contributing to an >>> open-source project, so sorry if I made any obvious mistakes. >>> >>> Peter Olson >>> >>> >>> _______________________________________________ >>> xmonad mailing list >>> xmonad at haskell.org >>> http://www.haskell.org/mailman/listinfo/xmonad >>> > From codesite-noreply at google.com Thu Dec 19 20:17:31 2013 From: codesite-noreply at google.com (codesite-noreply at google.com) Date: Thu, 19 Dec 2013 20:17:31 +0000 Subject: [xmonad] Issue 506 in xmonad: cabal install xmonad-contrib --flags="-use_xft" fails with GHC 7.4.1 In-Reply-To: <1-3425899027203913298-17521669856907108976-codesite-noreply=google.com@googlecode.com> References: <1-3425899027203913298-17521669856907108976-codesite-noreply=google.com@googlecode.com> <0-3425899027203913298-17521669856907108976-codesite-noreply=google.com@googlecode.com> Message-ID: <2-3425899027203913298-17521669856907108976-codesite-noreply=google.com@googlecode.com> Updates: Status: Fixed Comment #2 on issue 506 by vogt.a... at gmail.com: cabal install xmonad-contrib --flags="-use_xft" fails with GHC 7.4.1 http://code.google.com/p/xmonad/issues/detail?id=506 I don't see this failure with ghc-7.6.2 and -f'-use_xft', and Daniel says it's fixed too so I'm closing this. -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From polson2 at hawk.iit.edu Mon Dec 23 02:28:49 2013 From: polson2 at hawk.iit.edu (Peter Olson) Date: Sun, 22 Dec 2013 20:28:49 -0600 Subject: [xmonad] servermode patch for xmonad-contrib In-Reply-To: References: <52AE82BE.7090500@hawk.iit.edu> <52B3415A.40705@hawk.iit.edu> Message-ID: <52B79FE1.2090506@hawk.iit.edu> Hi Adam, I split out the program in the comment into a separate client module. I have tried to make it friendly for both developers and users. Thanks for the help, Peter On 12/19/13 14:03, adam vogt wrote: > Hi Peter, > > For #1, the trick is that when /usr/bin/xmonad calls > ~/.xmonad/xmonad-$arch-$os, the latter can access environment > variables (System.Environment.getEnv / getEnvironment). Actually I > made a mistake and the syntax is the slightly uglier: > > CMD=1 xmonad > > Then the xmonad.hs can contain something like: > > main = do > e <- getEnvironment > case lookup "CMD" e of > Just n -> print n -- or whatever the sendCommand does > _ -> xmonad theNormalConfig > > The code above could be hidden in another function: xmonadServerMode > :: XConfig layout -> IO ()) > > We kind of discussed this earlier: > . > > > For #2, the idea is: ghc -e 'anything allowed in ghci' -e 'a second > line you type into ghci' > > Then somebody just makes this definition for their shell: > > function xmonadCtrl () { ghc -e 'let main = > XMonad.Hooks.ServerMode.exampleMain' -e ":main $*" } > # Brandon probably has some portability suggestions? > > Or they could compile a very simple file: > > import XMonad.Hooks.ServerMode; main = exampleMain > > Or we could add an `executable xmonadcmd' section to the .cabal > file... as in the commented-out bit of > . > I prefer the the other three options, since an xmonadcmd binary > included by default incorrectly suggests that the feature is supported > by out-of-the-box. > > > > Hope this helps. > > Adam > > On Thu, Dec 19, 2013 at 1:56 PM, Peter Olson wrote: >> Yeah, I agree with you. I started thinking about that after submitting the >> patch. I was modeling it after the version that was already there (which >> wasn't that great, hence why I rewrote it). >> >> At the very least, I intend to have the "sendCommand" function, and maybe >> the "sendAll" function in the main module, instead of in the comments, which >> would allow any Haskell application to very easily talk to xmonad. >> >> I think that option #1 is a good idea. How would that work, since it would >> require the same binary to either start the window manager or send the >> command to the running instance of xmonad. I'm guessing that looking at the >> code for xmonad --restart and xmonad --recompile would help with this? >> >> I'm not really sure what option 2 entails, since I am not very familiar with >> ghc/cabal. >> >> Thanks for the advice, >> Peter >> >> >> On 12/19/2013 12:24 PM, adam vogt wrote: >>> Hi Peter, >>> >>> I applied your patch. >>> >>> Having substantial code in the comments is not very convenient, since >>> then people have to copy-paste to run it even if there is no >>> customization. But that's how it was before you make changes. >>> Furthermore there's no guarantee that it can compile. There are a >>> couple options I think are better than the current situation: >>> >>> 1. have a (xmonadServerMode :: XConfig layout -> IO ()) which picks up >>> on environment variables, so I think you could then send commands >>> like: >>> >>> xmonad DO_SOMETHING=parameter >>> >>> 2. export a XMonad.Hooks.ServerMode.main, which is the same as the example >>> code: >>> >>> runghc -e XMonad.Hooks.ServerMode.main -a ... >>> >>> 3. something else >>> >>> Regards, >>> Adam >>> >>> On Sun, Dec 15, 2013 at 11:34 PM, Peter Olson >>> wrote: >>>> Some stuff that I have been working on to generalize >>>> XMonad.Hooks.ServerMode >>>> so that it will be more useful. This is my first time contributing to an >>>> open-source project, so sorry if I made any obvious mistakes. >>>> >>>> Peter Olson >>>> >>>> >>>> _______________________________________________ >>>> xmonad mailing list >>>> xmonad at haskell.org >>>> http://www.haskell.org/mailman/listinfo/xmonad >>>> -------------- next part -------------- 1 patch for repository http://code.haskell.org/XMonadContrib: Sun Dec 22 20:15:47 CST 2013 polson2 at hawk.iit.edu * XMonad.Hooks.ServerMode client module The ServerMode hook was split into a seperate client module. New patches: [XMonad.Hooks.ServerMode client module polson2 at hawk.iit.edu**20131223021547 Ignore-this: 50189763b1b767624280226e78733e7b The ServerMode hook was split into a seperate client module. ] { adddir ./XMonad/Hooks/ServerMode hunk ./XMonad/Hooks/ServerMode.hs 15 -- client. Also consider "XMonad.Hooks.EwmhDesktops" together with -- @wmctrl at . -- --- This is the example of a client: +-- This module requires a client application for it to work. +-- An example client is available in the "XMonad.Hooks.ServerMode.Client" module. -- hunk ./XMonad/Hooks/ServerMode.hs 18 --- > import Graphics.X11.Xlib --- > import Graphics.X11.Xlib.Extras --- > import System.Environment --- > import System.IO --- > import Data.Char --- > --- > main :: IO () --- > main = parse True "XMONAD_COMMAND" =<< getArgs --- > --- > parse :: Bool -> String -> [String] -> IO () --- > parse input addr args = case args of --- > ["--"] | input -> repl addr --- > | otherwise -> return () --- > ("--":xs) -> sendAll addr xs --- > ("-a":a:xs) -> parse input a xs --- > ("-h":_) -> showHelp --- > ("--help":_) -> showHelp --- > ("-?":_) -> showHelp --- > (a@('-':_):_) -> hPutStrLn stderr ("Unknown option " ++ a) --- > --- > (x:xs) -> sendCommand addr x >> parse False addr xs --- > [] | input -> repl addr --- > | otherwise -> return () --- > --- > --- > repl :: String -> IO () --- > repl addr = do e <- isEOF --- > case e of --- > True -> return () --- > False -> do l <- getLine --- > sendCommand addr l --- > repl addr --- > --- > sendAll :: String -> [String] -> IO () --- > sendAll addr ss = foldr (\a b -> sendCommand addr a >> b) (return ()) ss --- > --- > sendCommand :: String -> String -> IO () --- > sendCommand addr s = do --- > d <- openDisplay "" --- > rw <- rootWindow d $ defaultScreen d --- > a <- internAtom d addr False --- > m <- internAtom d s False --- > allocaXEvent $ \e -> do --- > setEventType e clientMessage --- > setClientMessageEvent e rw a 32 m currentTime --- > sendEvent d rw False structureNotifyMask e --- > sync d False --- > --- > showHelp :: IO () --- > showHelp = do pn <- getProgName --- > putStrLn ("Send commands to a running instance of xmonad. xmonad.hs must be configured with XMonad.Hooks.ServerMode to work.\n-a atomname can be used at any point in the command line arguments to change which atom it is sending on.\nIf sent with no arguments or only -a atom arguments, it will read commands from stdin.\nEx:\n" ++ pn ++ " cmd1 cmd2\n" ++ pn ++ " -a XMONAD_COMMAND cmd1 cmd2 cmd3 -a XMONAD_PRINT hello world\n" ++ pn ++ " -a XMONAD_PRINT # will read data from stdin.\nThe atom defaults to XMONAD_COMMAND.") --- --- --- compile with: @ghc --make xmonadctl.hs@ --- --- run with --- --- > xmonadctl command --- --- or with --- --- > $ xmonadctl --- > command1 --- > command2 --- > . --- > . --- > . --- > ^D --- --- Usage will change depending on which event hook(s) you use. More examples are shown below. +-- The examples will assume that you have that client installed. +-- Usage will change depending on which event hook(s) you use. -- ----------------------------------------------------------------------------- hunk ./XMonad/Hooks/ServerMode.hs 42 import XMonad.Actions.Commands -- $usage --- You can use this module with the following in your --- @~\/.xmonad\/xmonad.hs@: --- --- > import XMonad.Hooks.ServerMode --- --- Then edit your @handleEventHook@ by adding the appropriate event hook from below +-- You can use this module by editing your @handleEventHook@ with +-- the appropriate event hook from below -- | Executes a command of the list when receiving its index via a special ClientMessageEvent -- (indexing starts at 1). Sending index 0 will ask xmonad to print the list of command numbers addfile ./XMonad/Hooks/ServerMode/Client.hs hunk ./XMonad/Hooks/ServerMode/Client.hs 1 +----------------------------------------------------------------------------- +-- | +-- Module : XMonad.Hooks.ServerMode.Client +-- Copyright : (c) Peter Olson 2013 and Andrea Rossato and David Roundy 2007 +-- License : BSD-style (see xmonad/LICENSE) +-- +-- Maintainer : polson2 at hawk.iit.edu +-- Stability : unstable +-- Portability : unportable +-- +-- This is a client application for the "XMonad.Hooks.ServerMode" module. +-- It is intended to be used in an external program, not xmonad.hs. +-- +-- These examples assume the following in your xmonad.hs: +-- +-- > import XMonad +-- > import XMonad.Hooks.ServerMode +-- > +-- > main = xmonad { handleEventHook = serverModeEventHookCmd } +-- + +module XMonad.Hooks.ServerMode.Client + ( -- * Usage + -- $usage + xmonadctl + , parse + , repl + , sendAll + , sendCommand + , showHelp + ) where + +import Graphics.X11.Xlib +import Graphics.X11.Xlib.Extras +import System.Environment +import System.IO + +-- $usage +-- +-- For users, put the following in a file called xmonadctl.hs: +-- +-- > import XMonad.Hooks.ServerMode.Client +-- > main = xmonadctl +-- +-- Then compile it with: +-- +-- > ghc --make xmonadctl +-- +-- Then run it like this: +-- +-- > xmonadctl view"1" view"2" ... +-- > xmonadctl -a "XMONAD_COMMAND" view"1" view"2" ... +-- +-- or +-- +-- > $ xmonadctl +-- > view"1" +-- > view"2" +-- > . +-- > . +-- +-- or +-- +-- > $ xmonadctl -a "XMONAD_COMMAND" +-- > view"1" +-- > view"2" +-- > . +-- > . +-- +-- For more details on the command line arguments, +-- see the builtin help or the documentation for the 'parse' function +-- +-- For developers wishing to communicate with xmonad from external applications, +-- call @xmonadctl@ as described above, or use 'sendCommand' or 'sendAll' in your program. +-- + +-- | A main for this program. +-- +-- > main = xmonadctl +-- +xmonadctl :: IO () +xmonadctl = parse showHelp True "XMONAD_COMMAND" =<< getArgs + +-- | reads the commandline arguments and sends the specified messages. +-- +-- Arguments: +-- +-- -help: Displays the help message +-- +-- -shouldRepl: If true, then parse will repl if no messages are input on the command line +-- +-- -addr: The atom that the program should transmit under. +-- Can be overriden by the -a commandline switch +-- +-- -args: The list of command line arguments that the function should process +-- +-- Switches: +-- +-- ---: ignore any further command line switches, just send the remaining arguments as-is +-- +-- --a ATOM: an atom name to send the commands under. Affects all remaining arguments. +-- Can be specified multiple times. +-- +-- --f FILE: Reads messages from a file and sends them. +-- +-- --h: display help +-- +-- > import System.Environment +-- > parse showHelp True "XMONAD_COMMAND" =<< getArgs +-- +parse :: IO () -> Bool -> String -> [String] -> IO () +parse help shouldRepl addr args = case args of + ["--"] | shouldRepl -> repl addr stdin + | otherwise -> return () + ("--":xs) -> sendAll addr xs + ("-a":a:xs) -> parse help shouldRepl a xs + ("-f":f:xs) -> withFile f ReadMode (repl addr) >> parse help False addr xs + ("-h":_) -> help + ("--help":_) -> help + ("-?":_) -> help + (a@('-':_):_) -> hPutStrLn stderr ("Unknown option " ++ a) + + (x:xs) -> sendCommand addr x >> parse help False addr xs + [] | shouldRepl -> repl addr stdin + | otherwise -> return () + +-- | reads commands from the specified handle and sends each line to xmonad +-- on the specified address +-- +-- > repl "XMONAD_COMMAND" stdin +-- +repl :: String -> Handle -> IO () +repl addr h = do e <- hIsEOF h + case e of + True -> return () + False -> do l <- hGetLine h + sendCommand addr l + repl addr h + +-- | sendAll sends many commands to xmonad using the specified atom +-- +-- > sendAll "XMONAD_COMMAND" ["shift\"1\"", "view\"1\""] +-- +sendAll :: String -> [String] -> IO () +sendAll addr xx = sequence_ $ map (sendCommand addr) xx + +-- | sendCommand sends the specified string to xmonad using the specified atom +-- +-- > sendCommand "XMONAD_COMMAND" "view\"1\"" +-- +sendCommand :: String -> String -> IO () +sendCommand addr s = do + d <- openDisplay "" + rw <- rootWindow d $ defaultScreen d + a <- internAtom d addr False + m <- internAtom d s False + allocaXEvent $ \e -> do + setEventType e clientMessage + setClientMessageEvent e rw a 32 m currentTime + sendEvent d rw False structureNotifyMask e + sync d False + +-- | Shows the help message for the default program +showHelp :: IO () +showHelp = do pn <- getProgName + putStrLn ("Send commands to a running instance of xmonad. xmonad.hs must be configured with XMonad.Hooks.ServerMode to work.\n-a atomname can be used at any point in the command line arguments to change which atom it is sending on.\nIf sent with no arguments or only -a atom arguments, it will read commands from stdin.\nEx:\n" ++ pn ++ " cmd1 cmd2\n" ++ pn ++ " -a XMONAD_COMMAND cmd1 cmd2 cmd3 -a XMONAD_PRINT hello world\n" ++ pn ++ " -a XMONAD_PRINT # will read data from stdin.\nThe atom defaults to XMONAD_COMMAND.") + +-- xmonadctl command +-- +-- or with +-- +-- $ xmonadctl +-- command1 +-- command2 +-- . +-- . +-- . +-- ^D hunk ./xmonad-contrib.cabal 184 XMonad.Hooks.ScreenCorners XMonad.Hooks.Script XMonad.Hooks.ServerMode + XMonad.Hooks.ServerMode.Client XMonad.Hooks.SetWMName XMonad.Hooks.ToggleHook XMonad.Hooks.UrgencyHook } Context: [ServerMode properly indent Adam Vogt **20131219201440 Ignore-this: 761b39c3e3c90b6123f068e8b1d34e5d ] [remove ServerMode tabs Adam Vogt **20131219201000 Ignore-this: f21448c248ec0ac289c309ed964ebcff ] [fix -Wall ServerMode Adam Vogt **20131219181030 Ignore-this: 708dd5fc60f43dee3d1da085002052f ] [documentation note that ServerMode is similar to wmctrl Adam Vogt **20131219180748 Ignore-this: 3215bdf1c698c798eca8ed7f62a0f591 ] [Generalized XMonad.Hooks.ServerMode polson2 at hawk.iit.edu**20131216025100 Ignore-this: e58da3b168a1058f32982833ea25a739 ] [IfMax-Layout Ilya Portnov **20131201072634 Ignore-this: dac53f2a0505e740f05fdf03f1db0c21 This adds a new ("conditional") layout, IfMax, which simply runs one layout, if there are <= N windows, and else runs another layout. ] [fix UrgencyHook and add filterUrgencyHook Adam Vogt **20130924224738 Ignore-this: 3b7c62275701e6758397977c5c09b744 ] [export XMonad.Hooks.UrgencyHook.clearUrgency (issue 533) Adam Vogt **20130923031349 Ignore-this: dafe5763d9abcfa606f5c1a8cf5c57d6 ] [minor documentation fix: manageDocks doesn't do anything with struts, so don't claim it does Daniel Wagner **20130814125106 Ignore-this: a2610d6c1318ac0977abfc21d1b91632 ] [don't pretend to be LG3D in X.C.Dmwit because this confuses modern GTK Daniel Wagner **20130813211636 Ignore-this: 8f728dc1b4bf5e472d99419cc5920e51 ] [XMonad.Actions.UpdatePointer: generalise updatePointer Liyang HU **20130730071007 Ignore-this: 3374a62b6c63dcc152dbf843cd0577f0 ] [XMonad.Actions.UpdatePointer: document TowardsCentre Liyang HU **20130730053746 Ignore-this: 2d684b12e4fff0ebec254bea4a4546a3 ] [Haddock formatting in H.Minimize Adam Vogt **20130723155658 Ignore-this: 5db3186a51dec58f78954466ded339cb ] [Bump version (and xmonad dependency) to 0.12 Adam Vogt **20130720205857 Ignore-this: ce165178ca916223501f266339f1de39 This makes a breakage due to missing patches in core a bit more obvious. Previously you would have a build failure regarding some missing identifiers (def re-exported by XMonad from Data.Default), while after applying this patch it will be clear that xmonad-core needs to be updated. ] [Fix issue 551 by also getting manpath without -g flag. Adam Vogt **20130716030536 Ignore-this: ded2d51eb7b7697c0fdfaa8158d612df Instead of taking Ondrej's approach of figuring out which man (man-db or http://primates.ximian.com/~flucifredi/man/) is used by the system, just try both sets of flags. ] [Escape dzen markup and remove xmobar tags from window titles by default. Adam Vogt **20130708144813 Ignore-this: cf56bff752fbf78ea06d5c0cb755f615 The issue was that window titles, such as those set by, for example a browser, could set the window title to display something like normal title Which could be executed by xmobar (or dzen). This adds a ppTitleSanitize which does the above functions. This way when users override ppTitle, the benefits are not lost. Thanks to Ra??l Benencia and Joachim Breitner for bringing this to my attention. ] [DynamicBars-use-ExtensibleState gopsychonauts at gmail.com**20130618074755 Ignore-this: afacba51af2be8ede65b9bcf9b002a7 Hooks.DynamicBars was previously using an MVar and the unsafePerformIO hack ( http://www.haskell.org/haskellwiki/Top_level_mutable_state ) to store bar state. Since ExtensibleState exists to solve these sorts of problems, I've switched the file over to use unsafePerformIO instead. Some functions' types had to be changed to allow access to XState, but the public API is unchanged. ] [Catch exceptions when finding commands on PATH in Prompt.Shell Thomas Tuegel **20130616230219 Ignore-this: 5a4d08c80301864bc14ed784f1054c3f ] [Fix haddock parse error in X.A.LinkWorkspaces Adam Vogt **20130528133448 Ignore-this: 42f05cf8ca9e6d1ffae3bd20666d87ab ] [use Data.Default wherever possible, and deprecate the things it replaces Daniel Wagner **20130528013909 Ignore-this: 898458b1d2868a70dfb09faf473dc7aa ] [eliminate references to defaultConfig Daniel Wagner **20130528005825 Ignore-this: 37ae613e4b943e99c5200915b9d95e58 ] [minimal change needed to get xmonad-contrib to build with xmonad's data-default patch Daniel Wagner **20130528001040 Ignore-this: 291e4f6cd74fc2b808062e0369665170 ] [Remove unneeded XSync call in Layout.ShowWName Francesco Ariis **20130517153341 Ignore-this: 4d107c680572eff464c8f6ed9fabdd41 ] [Remove misleading comment: we definitely don't support ghc-6.6 anymore Adam Vogt **20130514215851 Ignore-this: 2d071cb05709a16763d039222264b426 ] [Fix module name in comment of X.L.Fullscreen Adam Vogt **20130514215727 Ignore-this: cb5cf18c301c5daf5e1a2527da1ef6bf ] [Minor update to cabal file (adding modules & maintainership) Adam Vogt **20130514215632 Ignore-this: 82785e02e544e1f797799bed5b5d9be2 ] [Remove trailing whitespace in X.A.LinkWorkspaces Adam Vogt **20130514215421 Ignore-this: 5015ab4468e7931876eb66b019af804c ] [Update documentation of LinkWorkspaces Module quesel at informatik.uni-oldenburg.de**20110328072813 Ignore-this: da863534931181f551c9c54bc4076c05 ] [Added a module for linking workspaces quesel at informatik.uni-oldenburg.de**20110210165018 Ignore-this: 1dba2164cc3387409873d33099596d91 This module provides a way to link certain workspaces in a multihead setup. That way, when switching to the first one the other heads display the linked workspaces. ] [Cache results from calcGap in ManageDocks Adam Vogt **20130425155811 Ignore-this: e5076fdbdfc68bc159424dd4e0f14456 http://www.haskell.org/pipermail/xmonad/2013-April/013670.html ] [Remove unnecessary contexts from L.MultiToggle Adam Vogt **20130217163356 Ignore-this: 6b0e413d8c3a58f62088c32a96c57c51 ] [Generalises modWorkspace to take any layout-transforming function gopsychonauts at gmail.com**20130501151425 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. ] [since XMonad.Config.Dmwit mentions xmobar, we should include the associated .xmobarrc file Daniel Wagner **20130503194055 Ignore-this: 2f6d7536df81eb767262b79b60eb1b86 ] [warning police Daniel Wagner **20130502012700 Ignore-this: ae7412ac77c57492a7ad6c5f8f50b9eb ] [XMonad.Config.Dmwit Daniel Wagner **20130502012132 Ignore-this: 7402161579fd2e191b60a057d955e5ea ] [minor fixes to the haddock markup in X.L.IndependentScreens Daniel Wagner **20130411193849 Ignore-this: b6a139aa43fdb39fc1b86566c0c34c7a ] [add whenCurrentOn to X.L.IndependentScreens Daniel Wagner **20130408225251 Ignore-this: ceea3d391f270abc9ed8e52ce19fb1ac ] [Allow to specify the initial gaps' states in X.L.Gaps Paul Fertser **20130222072232 Ignore-this: 31596d918d0050e36ce3f64f56205a64 ] [should bump X11 dependency, too, to make sure we have getAtomName Daniel Wagner **20130225180527 Ignore-this: 260711f27551f18cc66afeb7b4846b9f ] [getAtomName is now defined in the X11 library Daniel Wagner **20130225180323 Ignore-this: 3b9e17c234679e98752a47c37132ee4e ] [Allow to limit maximum row count in X.Prompt completion window Paul Fertser **20130221122050 Ignore-this: 923656f02996f2de2b1336275392c5f9 On a keyboard-less device (such as a smartphone), where one has to use an on-screen keyboard, the maximum completion window height must be limited to avoid overlapping the keyboard. ] [Note in U.NameActions that xmonad core can list default keys now Adam Vogt **20130217233026 Ignore-this: 937bff636fa88171932d5192fe8e290b ] [Export U.NamedActions.addDescrKeys per evaryont's request. Adam Vogt **20130217232619 Ignore-this: a694a0a3ece70b52fba6e8f688d86344 ] [Add EWMH DEMANDS_ATTENTION support to UrgencyHook. Maarten de Vries **20130212181229 Ignore-this: 5a4b314d137676758fad9ec8f85ce422 Add support for the _NET_WM_STATE_DEMANDS_ATTENTION atom by treating it the same way as the WM_HINTS urgency flag. ] [Unconditionally set _NET_WORKAREA in ManageDocks Adam Vogt **20130117180851 Ignore-this: 9f57e53fba9573d8a92cf153beb7fe7a ] [spawn command when no completion is available (if alwaysHighlight is True); changes commandToComplete in Prompt/Shell to complete the whole word instead of using getLastWord c.lopez at kmels.net**20130209190456 Ignore-this: ca7d354bb301b555b64d5e76e31d10e8 ] [order-unindexed-ws-last matthewhague at zoho.com**20120703222726 Ignore-this: 4af8162ee8b16a60e8fd62fbc915d3c0 Changes the WorkspaceCompare module's comparison by index to put workspaces without an index last (rather than first). ] [SpawnOn modification for issue 523 Adam Vogt **20130114014642 Ignore-this: 703f7dc0f800366b752f0ec1cecb52e5 This moves the function to help clean up the `Spawner' to the ManageHook rather than in functions like spawnOn. Probably it makes no difference, the reason is because there's one manageSpawn function but many different so this way there are less functions to write. ] [Update L.TrackFloating.useTransient example code Adam Vogt **20130112041239 Ignore-this: e4e31cf1db742778c1d59d52fdbeed7a Suggest useTransient goes to the right of trackFloating which is the configuration actually tested. ] [Adapt ideas of issue 306 patch to a new modifier in L.TrackFloating Adam Vogt **20130112035701 Ignore-this: d54d27b71b97144ef0660f910fd464aa ] [Make X.A.CycleWS not rely on hidden WS order Dmitri Iouchtchenko **20130109023328 Ignore-this: 8717a154b33253c5df4e9a0ada4c2c3e ] [Add X.H.WorkspaceHistory Dmitri Iouchtchenko **20130109023307 Ignore-this: c9e7ce33a944facc27481dde52c7cc80 ] [Allow removing arbitrary workspaces Dmitri Iouchtchenko **20121231214343 Ignore-this: 6fce4bd3d0c5337e5122158583138e74 ] [Remove first-hidden restriction from X.A.DynamicWorkspaces.removeWorkspace' Dmitri Iouchtchenko **20121231214148 Ignore-this: 55fb0859e9a5f476a834ecbdb774aac8 ] [Add authorspellings file for `darcs show authors'. Adam Vogt **20130101040031 Ignore-this: c3198072ebc6a71d635bec4d8e2c78fd This authorspellings file includes a couple people who've contributed to xmonad (not XMonadContrib). When people have multiple addresses, the most recent one has been picked. ] [TAG 0.11 Adam Vogt **20130101014231 Ignore-this: 57cf32412fd1ce912811cb7fafe930f5 ] Patch bundle hash: d42a630680013516427f811f87ffdd799842a5a0 From codesite-noreply at google.com Wed Dec 25 09:48:30 2013 From: codesite-noreply at google.com (codesite-noreply at google.com) Date: Wed, 25 Dec 2013 09:48:30 +0000 Subject: [xmonad] Issue 552 in xmonad: Prompt.Workspace wrong completion In-Reply-To: <0-3425899027203913298-11014016535058918009-codesite-noreply=google.com@googlecode.com> References: <0-3425899027203913298-11014016535058918009-codesite-noreply=google.com@googlecode.com> Message-ID: <1-3425899027203913298-11014016535058918009-codesite-noreply=google.com@googlecode.com> Comment #1 on issue 552 by ondrej.g... at gmail.com: Prompt.Workspace wrong completion http://code.google.com/p/xmonad/issues/detail?id=552 AFAIK there is a similar issue with Prompt.RunOrRaise and Prompt.LaunchApp. However, Prompt.Shell escapes the spaces correctly, perhaps the code used in that module should be standardized. -- You received this message because this project is configured to send all issue notifications to this address. You may adjust your notification preferences at: https://code.google.com/hosting/settings From celoserpa at gmail.com Fri Dec 27 22:05:27 2013 From: celoserpa at gmail.com (Marcelo de Moraes Serpa) Date: Fri, 27 Dec 2013 16:05:27 -0600 Subject: [xmonad] spawnOn does not launch the app in the specified workspace Message-ID: Hi list, I'm trying to spawn a few apps at startup using XMonad.Actions.SpawnOn. I'm using this repo as a starting point: github.com/davidbrewer/xmonad-ubuntu-conf. I have modified the xmonad.hs as follows: ... > myWorkspaces = > [ > "7:Chat", "8:Dbg", "9:Pix", > "4:Docs", "5:Dev", "6:Web", > "1:Term", "2:Hub", "3:Mail", > "0:VM", "Extr1", "Extr2" > ] ... > main = do > xmproc <- spawnPipe "xmobar ~/.xmonad/xmobarrc" > xmonad $ withUrgencyHook NoUrgencyHook $ defaultConfig { > focusedBorderColor = myFocusedBorderColor > , normalBorderColor = myNormalBorderColor > , terminal = myTerminal > , borderWidth = myBorderWidth > , layoutHook = myLayouts > , workspaces = myWorkspaces > , modMask = myModMask > , handleEventHook = fullscreenEventHook > , startupHook = do > setWMName "LG3D" > windows $ W.greedyView startupWorkspace > spawn "~/.xmonad/startup-hook" > >> * spawnOn "7:Chat" "firefox"* > > , manageHook = manageHook defaultConfig > <+> composeAll myManagementHooks > <+> manageDocks > , logHook = dynamicLogWithPP $ xmobarPP { > ppOutput = hPutStrLn xmproc > , ppTitle = xmobarColor myTitleColor "" . shorten myTitleLength > , ppCurrent = xmobarColor myCurrentWSColor "" > . wrap myCurrentWSLeft myCurrentWSRight > , ppVisible = xmobarColor myVisibleWSColor "" > . wrap myVisibleWSLeft myVisibleWSRight > , ppUrgent = xmobarColor myUrgentWSColor "" > . wrap myUrgentWSLeft myUrgentWSRight > } > } > `additionalKeys` myKeys ... However, it will just always spawn the app in the *current* workspace, and never in the workspace passed in the 1st argument. I'm using: * Ubuntu 12.04 LTS * xmonad 0.10 (installed from Ubuntu's 12.04 deb packages) * And I'm using the git repo I mentioned above as a starting point. Am I doing anything wrong? Thanks in advance, -- Marcelo -------------- next part -------------- An HTML attachment was scrubbed... URL: From allbery.b at gmail.com Fri Dec 27 22:26:16 2013 From: allbery.b at gmail.com (Brandon Allbery) Date: Fri, 27 Dec 2013 17:26:16 -0500 Subject: [xmonad] spawnOn does not launch the app in the specified workspace In-Reply-To: References: Message-ID: On Fri, Dec 27, 2013 at 5:05 PM, Marcelo de Moraes Serpa < celoserpa at gmail.com> wrote: > >>> * spawnOn "7:Chat" "firefox"* >> >> , manageHook = manageHook defaultConfig >> <+> composeAll myManagementHooks >> <+> manageDocks >> , > > I don't see manageSpawn in the manageHook; this is necessary for spawnOn to work, as the documentation in the SpawnOn module tells you. -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net -------------- next part -------------- An HTML attachment was scrubbed... URL: