text:
Courier D'aguilar, QLD
At Fast Courier we offer a selection of courier services to and from D'aguilar, QLD. With so many people and businesses needing to ship goods and packages in and out of the D'aguilar, QLD, our courier services play a vital role in transporting our customers goods to and from D'aguilar, QLD with great prices and in a timely manner.
We offer a range of services from D'aguilar, QLD , including same-day delivery, next-day delivery, international shipping, and more.
Fast Courier is your go-to courier booking service for all your package and courier services needs throughout D'aguilar, QLD. Don't settle for just one courier provider when you can quickly and easily select from a range of premium D'aguilar, QLD Courier services.
Choose from a variety of flexible & affordable services for regular and occasional senders. In an instant get custom quotes for your delivery needs and time frame from multiple couriers. Discover the best price for Same Day Fast Delivery Couriers in D'aguilar, QLD, Interstate, International & more.
Simply add your needs, get the quote and select the courier service. Book Online, Pay and You'll have your shipment ID and Tracking Number
Shop around and book in an instant from the best D'aguilar, QLD Courier companies available
Find the best courier quotes to our most popular destinations across Australia We cover majority of package delivery services from D'aguilar, QLD
Fast Courier is focused on the fast and reliable transportation of packages.We provide a variety of courier services including same-day delivery, next-day delivery, international shipping, and more, using diverse modes of transport such as motorcycles, bicycles, trucks, and airplanes to ensure timely deliveries.
Shipping to or from D'AGUILAR, QLD
Thanks to improved transport connections, shipping times and prices to or from D'aguilar, QLD are more competitive than ever. Whether you're sending a pallet, skid or carton in D'aguilar, QLD you can easily find the most cost-effective shipping option by booking online using Fast courier's cheap courier quotes.
To simplify your domestic shipping experience, we've built a postage calculator to help you determine the best carrier to use for your shipping needs in D'aguilar, QLD.Our aim is to make the process as straightforward and affordable as possible.
Cheapest parcel delivery to or from D'AGUILAR, QLD
If you're seeking the most cost-effective option to ship a package to or from D'aguilar, QLD, Fast Courier is your go-to resource. We collaborate with top-tier couriers like Fedex, TNT, Northline, Allied Express, Couriers Please and Star Track offering you access to reduced rates on their services.
The shipping cost to or form D'aguilar, QLD varies based on your package's size and your desired delivery speed. To find the best rate, use our courier quote form. Just input your parcel's weight and dimensions, and you'll instantly receive a range of competitively priced quotes from various carriers. Choose the option that best meets your needs and budget, and complete your booking online—it's straightforward and efficient!
Cheap postage to or from D'AGUILAR, QLD
If you prefer to use the postal system and you're looking for the cheapest postage to or from D'aguilar, QLD, you can book Star Track services at a discounted rate.
Star Track is a subsidiary of Australia post allowing you to ship packages to post office boxes from D'aguilar, QLD. Star Track is ideal for sending parcels to or from D'aguilar, QLD that weigh up to 21kg. This service includes online parcel tracking and can be dropped off at any post office in Australia.
Useful information for sending a parcel to / from D'AGUILAR, QLD
When preparing to send a parcel, to / from D'aguilar, QLD, there are several important factors to consider to ensure that your shipment reaches its destination safely and efficiently. Here are some key points of useful information for sending parcels to or from any location:
Choose the Right Courier
- Reputation and Reliability: We provide a list of vetted couriers from our network ensuring reliability and timely deliveries.
- Service Types: Ensure the courier offers the specific services you need, such as express delivery, same day shipping, or fragile item handling.
Packaging Your Parcel Properly
- Box Selection: Use a sturdy box that is the right size for your item. Too large a box can cause items to shift and become damaged.
- Cushioning: Protect items with appropriate cushioning materials such as bubble wrap, foam, or packing peanuts.
- Sealing: Seal the box securely with strong tape, especially at the edges and openings.
- Clear Information: Clearly write or print out the labels after making a booking. Place the labels on the top side of the parcel and ensure they are easy to read.
- Internal Note: Include a note inside the package with both the sender's and recipient's contact information in case the external label gets damaged.
Tracking and Insurance
- Tracking: Opt for a tracking option to monitor your shipment's progress. This feature often provides peace of mind and real-time updates.
- Insurance: Consider purchasing insurance, especially for valuable items. This will protect against loss or damage during transit.
Pricing and Time Estimates
- Cost Effectiveness: Compare different couriers and services to find the best rates and delivery times that suit your needs.
- Time-Sensitive Shipments: If the parcel needs to arrive by a specific date, consider using an expedited service.
Check for Updates and Delays
- Stay Informed: Keep an eye on tracking information and be proactive in dealing with any delays or issues flagged by the courier service.


text:
Xmonad/Frequently asked questions
xmonad: frequently asked questions
For configuration tricks, and using xmonad.hs, see Xmonad/General_xmonad.hs_config_tips.
For more documentation, see:
When I start xmonad, nothing happens.
Don't panic, this is expected behavior. XMonad is a minimal window manager, meaning it doesn't set a background, start a status bar, display a splash screen or play a soothing sound effect when it starts up. Once xmonad has started, the only thing it does is listen for your first command. Try pressing mod-shift-enter (that is Alt, Shift, and Enter pressed at the same time) to bring up an xterm. Once the xterm appears, use it to read xmonad's man page or point a web browser at http://xmonad.org/tour.html. If no xterm appears, see if any other advice on this page applies.
What build dependencies does xmonad have?
The hackage page for xmonad lists all dependencies, including:
- Haskell X11 bindings:
- C libraries:
- libX
- libXext
- libXinerama
You likely have these already if you've built any programs for X.
xmonad is also availble pre-packaged for many distributions:
Using your distro package is almost always preferred.
Can I install without root permission?
Yes, the Haskell libraries that xmonad depends on can all by installed in the user package database. Simply append --user to the install phase:
$ runhaskell Setup.hs install --user
The library will be registered in your ~/.ghc/ database.
How can I use xmonad with a display manager? (xdm, kdm, gdm)
The simplest way is to create or modify your ~/.xsession file to run xmonad. If you don't already have a .xsession, the minimal example looks like:
This requires that the ghc and the xmonad executable (or a symlink to them) are in a directory in the display manager $PATH environment. Alternatively, you can use the full path to xmonad and set ghc's path systemwide. If you do this, you'll also have to change the mod-q binding to use /path/to/xmonad and restart X to have xmonad use the new mod-q (first time only) since the mod-q binding calls xmonad to recompile itself. (See mod-q doesn't work section below.)
People using 'startx' can use these example xinitrc and run-xmonad scripts.
If you are using xdm, you're done. Login and enjoy xmonad.
If you're using kdm or gdm (KDE and GNOME's display mangers, respectively), you're almost done. When logging in, select the entry that says "xsession" or "default session" from the menu in order to use your ~/.xsession to start xmonad.
Alternatively, if you want a menu entry specifically for xmonad, create a file named "xmonad.desktop" in your /usr/share/xsessions (location varies by distribution) directory. For example:
[Desktop Entry] Encoding=UTF-8 Name=xmonad Comment=This session starts xmonad Exec=/usr/local/bin/xmonad Type=Application
Replace the "Exec=..." line with the actual path to your xmonad executable, and you should be able to login by selecting "xmonad" as a session from the menu in gdm/kdm.
For instructions on using gdm to launch a full GNOME session with xmonad as the window manager read this.
Compiling xmonad on PowerPC and compiler is not interactive
If you have ghc installed and are trying to compile xmonad and your compiler complains about not being interactive, never fear. To compile Setup.hs simply type:
ghc --make Setup.hs -o Setup
Now you can:
./Setup configure ./Setup build sudo ./Setup install
If during the build process ghc complains about the "impossible happening", and mentions that you should change something to "-fvia-C", just edit the *.cabal file replacing the line that sets the arguments for ghc, changing "-fasm" to "-fvia-C".
How do I uninstall xmonad?
If you have installed xmonad using your package manager, then just use it. The following applies if you have built xmonad from source code (either darcs or stable release). Let's assume you've installed xmonad to
the $PREFIX
(that is, gave --prefix=$PREFIX
argument to Setup.lhs configure
). If unsure, try your
and /usr/local
as $PREFIX
rm -f $PREFIX/bin/xmonad rm -rf $HOME/.xmonad rm -rf $PREFIX/lib/xmonad-$VERSION # If you have installed XMonadContrib: rm -rf $PREFIX/lib/xmonad-contrib-$VERSION
If you have installed xmonad 0.5 or newer, also run
ghc-pkg unregister xmonad # If you have installed XMonadContrib: ghc-pkg unregister xmonad-contrib
Do not forget to purge that evil source code!
not found errors or changes to xmonad.hs won't take effect
Ensure that ghc, and the xmonad executable are both in the environment PATH from which you start X. Alternatively symlink them to locations already in the PATH. ghc-pkg list
should show ghc, xmonad, X11, etc. without brackets, e.g. {xmonad} is bad. ghc-pkg check
will tell you if you have inconsistent dependencies or other registration problems.
The mod-q action calls the xmonad binary to recompile itself, so if your display manager is starting it with /path/to/xmonad you'll also have to edit your xmonad.hs mod-q binding to use the full path and restart X (or in newer versions use 'xmonad --restart') to restart xmonad with the new mod-q full path binding.
If you recently changed ghc versions see #Upgraded GHC and now xmonad xmonad-contrib etc are not found
Configuring xmonad requires GHC, which is 200MB!
Yes. You can use xmonad-light, which allows some of the basic configurations, but if you really want to get the best xmonad experience, you need GHC.
Installing xmonad in a sandbox
This is possible. However ghc needs to know where the sandbox is, so that your configuration can be recompiled. The best way is to set the environment variable GHC_PACKAGE_PATH to /path/to/ghc/db (where you actually started the sandbox).
How do I configure xmonad?
By creating and editing the ~/.xmonad/xmonad.hs file, a Haskell source file.
You can use any Haskell you want in this module. The xmonad-contrib package contains many extension modules to make customizing xmonad easier. To have your changes take effect, save the xmonad.hs and either restart (mod-q) or exit X and log back in.
Example configurations are available on the wiki.
For extensive information on configuring, see the links at the top of this page, and the configuration tips page.
Rebinding the mod key (Alt conflicts with other apps; I want the ___ key!)
xmonad uses 'alt', actually mod1, as the default modifier. You may bind to other mod keys by editing your xmonad.hs modMask value, or by using xmodmap to rebind a key to mod1. The apple command key can be rebound to mod1 in this way. Use xmodmap to find what key your mod1 is bound to, as well.
You can rebind the Caps Lock key, to mod, if you wish. See this mailing list item.
If your new key binding doesn't appear to work, double check it doesn't clash with an existing binding.
An example, binding to the mod4 (often 'Win') key:
import XMonad
main = xmonad defaultConfig
{ modMask = mod4Mask
, terminal = "urxvt"
Multi head and workspaces (desktops)
See also xinerama troubles if your multi-head setup doesn't behave as described below.
XMonad's defaults with multiple monitors may seem confusing and chaotic until explained and illustrated. First we'll look at how things work by default, then at common workspace keybinding customizations.
To focus visible workspaces rather than swapping their screens modify your keybindings as shown in the next section below. See the section about other customizations to give each monitor its own set of workspaces.
The xmonad man page nicely summarizes how multi-head works by default:
- When running with multiple monitors (Xinerama, TwinView, xrandr), each screen has exactly one workspace visible. Pressing
switches the focus between screens, while pressingshift-mod-{w,e,r}
moves the current window to that screen. When xmonad starts, workspace 1 is on screen 1, workspace 2 is on screen 2, etc. When switching workspaces to one that is already visible, the current and visible workspaces are swapped.
visible workspaces swap (default keybindings): When you have multiple workspaces visible and mod-n to a different visible workspace, your current one swaps with the other one. We'll see how to change that below, if you don't like the swapping -- simply change 'greedyView' to 'view' in your workspace key bindings. To illustrate with two monitors, using the convention "[1*] [3 ]" to mean workspaces 1 and 3 are visible with left monitor the currently active one:
-- 'greedyView' (default) workspace switching (easier to swap visible workspaces) -- Typical keystrokes are mod-{w,e,r} to a screen, then mod-N a workspace [1*] [3 ] -- mod-3 --> [3*] [1 ] -- mod-e, mod-4 --> [3 ] [4*] [3 ] [4*] -- mod-w, mod-4 --> [4*] [3 ]
my focus moves instead (custom workspace switching bindings): By replacing the 'greedyView' function with 'view' in the workspace switching bindings you can have your focus shift to the monitor displaying the given workspace, instead of having that workspace 'brought to you.' (See the next section for examples of how to do this.) For example:
-- 'view' workspace switching -- (easier to focus another visible workspace, harder to swap) [1*] [3 ] -- mod-3 --> [1 ] [3*] -- mod-4 --> [1 ] [4*] [1 ] [4*] -- mod-w --> [1*] [4 ] -- mod-4 --> [1 ] [4*]
users may also want to add key bindings such as shiftNextScreen and swapNextScreen from the xmonad-contrib extension XMonad.Actions.CycleWS.
Replacing greedyView with view
Here is an example of changing your workspace switching bindings to use view
rather than greedyView
using XMonad.Util.EZConfig's additionalKeysP:
(See contrib docs for EZConfig for more details)
import XMonad
-- skipped
import qualified XMonad.StackSet as W
import XMonad.Util.EZConfig
main = do
xmonad $ defaultConfig {
workspaces = myWorkspaces
-- skipped
} `additionalKeysP` myKeys
myWorkspaces = ["1","2","3","4","5","6","7","8","9"]
myKeys = [
-- other additional keys
] ++ -- (++) is needed here because the following list comprehension
-- is a list, not a single key binding. Simply adding it to the
-- list of key bindings would result in something like [ b1, b2,
-- [ b3, b4, b5 ] ] resulting in a type error. (Lists must
-- contain items all of the same type.)
[ (otherModMasks ++ "M-" ++ [key], action tag)
| (tag, key) <- zip myWorkspaces "123456789"
, (otherModMasks, action) <- [ ("", windows . W.view) -- was W.greedyView
, ("S-", windows . W.shift)]
For use with additionalKeys or default binding style:
-- as above
myKeys =
-- other additional keys
[((m .|. mod1Mask, k), windows $ f i) -- Replace 'mod1Mask' with your mod key of choice.
| (i, k) <- zip myWorkspaces [xK_1 .. xK_9]
, (f, m) <- [(W.view, 0), (W.shift, shiftMask)]]
Other multi head customizations
By default, XMonad doesn't link all your monitor screens into one workspace like Gnome and friends, neither does it use a model like dwm's where each monitor has its own set of workspaces. To set up dwm style workspaces for each screen, see (0.9 or greater) Layout.IndependentScreens
Screens are in wrong order
With xmonad-contrib newer than 0.8.*, (darcs version), see also XMonad.Actions.PhysicalScreens
Sometimes drivers don't do what you want, and your screens left to right are something weird like 1 0 2, so your mod-{w,e,r} bindings are messed up. Your driver may provide a utility to set screen order, but if not, or if you just don't want to mess with it, here's how to rebind the screen switching bindings:
Note that if you choose not to use myKeys for the key lists appended together with ++
you will need to add parentheses to get something in the form `additionalKeys` ( [......] ++ [.......] )
Using XMonad.Util.EZConfig's additionalKeysP:
import XMonad
-- skipped
import qualified XMonad.StackSet as W
import XMonad.Util.EZConfig
main = do
xmonad $ defaultConfig {
-- skipped
} `additionalKeysP` myKeys
modm = mod4Mask
myKeys =
-- other additional keys
[ (mask ++ "M-" ++ [key], screenWorkspace scr >>= flip whenJust (windows . action))
| (key, scr) <- zip "wer" [1,0,2] -- was [0..] *** change to match your screen order ***
, (action, mask) <- [ (W.view, "") , (W.shift, "S-")]
Using default key binding method or XMonad.Util.EZConfig's additionalKeys:
-- as above
myKeys =
-- other additional keys
[((m .|. mod1Mask, key), screenWorkspace sc >>= flip whenJust (windows . f)) -- Replace 'mod1Mask' with your mod key of choice.
| (key, sc) <- zip [xK_w, xK_e, xK_r] [1,0,2] -- was [0..] *** change to match your screen order ***
, (f, m) <- [(W.view, 0), (W.shift, shiftMask)]]
I don't want the focus to follow the mouse
Easy. There is a setting focusFollowsMouse in the xmonad.hs file; set it to False and restart with mod+q.
How do I configure pointer-follows-focus?
If you are using > xmonad-0.7, you can use the already defined XMonad.Actions.UpdatePointer:
myLogHook = dynamicLogWithPP .... >> updatePointer
For xmonad-0.7, in your config, import XMonad.Actions.Warp from Xmonad contrib and
add this function:
pointerFollowsFocus :: Rational -> Rational -> X ()
pointerFollowsFocus h v = do
dpy <- asks display
root <- asks theRoot
withFocused $ \w -> do
wa <- io $ getWindowAttributes dpy w
(sameRoot,_,w',_,_,_,_,_) <- io $ queryPointer dpy root
if (sameRoot && w == w') then
return ()
io $ warpPointer dpy none w 0 0 0 0
(fraction h (wa_width wa)) (fraction v (wa_height wa))
where fraction x y = floor (x * fromIntegral y)
Then set the logHook in your config to "pointerFollowsFocus x y". If you already have a logHook, append "
>> pointerFollowsFocus x y" to it. For example:
myLogHook = dynamicLogWithPP defaultPP { ppCurrent = xmobarColor "#60ff45" ""
, ppVisible = xmobarColor "#fffff0" "" } >> pointerFollowsFocus 1 1
Does xmonad support a statusbar?
Yes. The Hooks.DynamicLog and Hooks.ManageDocks modules are your friends for this purpose.
Arbitrary external programs may be used as a statusbar. See for example dzen or xmobar, an extensible status bar.
xmonad lets you use any application as a 'statusbar', as long as it is visible in a given 'gap' on the screen, and has the override-redirect property set to true. Many status bar/dock programs already set this property, for example, dzen. To set other applications, you can sometimes use normal X resources. For example, to use xclock, launch it with
xclock -digital -xrm '*overrideRedirect: True' -geometry 1024x30+0+0
If, like xclock, your app doesn't set wm strut properties, so that ManageDocks and avoidStruts automatically leaves a gap, you can do it manually. Import the Layout.Gaps module and, set a gap of, e.g. (30,0,0,0), in xmonad.hs. A similar trick can be done for xsystray.
Also see the Layout.Monitor module.
You can see screenshots of statusbars on the screenshots page.
You can also use Gnome or KDE trays and menus with xmonad. The Hooks.EwmhDesktops, Config.Desktop, Config.Gnome, Config.Kde, etc. modules make desktop environment status bars more useful with xmonad.
To display xmonad logHook output in gnome-panel, see xmonad log applet.
dzen status bars
xmonad's XMonadContrib library comes with a really easy function for getting a status bar working with dzen. To use it, simply have a ~/.xmonad/xmonad.hs containing:
import XMonad
import XMonad.Hooks.DynamicLog
-- 0.9 main:
main = xmonad =<< dzen defaultConfig
-- 0.8.1 main:
main = dzen xmonad
which will launch xmonad with dzen2 if found, set up with nice colours and workspace information. See Don's config example for more information or DynamicLog dzen's documentation.
There is an excellent command-line option and in-text command reference for the SVN version of dzen2 here
gkrellm or other monitors that aren't bars
Gkrellm does not behave like a dock by default. However, there is an option in .gkrellm2/user_config
which says dock = 0
. If you set it to 1 xmonad will recognize gkrellm as a dock.
Unfortunately gkrellm usually won't hide under other windows regardless of any combination of above
and below
options in said config file. Opening and closing the gkrellm config usually resolves this (right click the top of gkrellm and select Configure.. from the menu).
In xmonad-darcs (will release as xmonad-0.9) the Layout.Monitor module may be helpful.
Make space for a panel dock or tray
ManageDocks makes it possible for Xmonad to work with panels in the way they expect, automatically leaving the appropriate amount of room for them at the edges of the screen. ManageDocks has been enabled in the example configuration above. By itself, configuration looks like this:
import XMonad
import XMonad.Hooks.ManageDocks
main = xmonad defaultConfig
{ manageHook = manageDocks <+> manageHook defaultConfig
, layoutHook = avoidStruts $ layoutHook defaultConfig
Make new windows appear 'below' rather than 'above' the current window
See also the Hooks.InsertPosition module for placement hooks other than W.SwapDown to use in stack order manageHooks.
Force a few tiled windows down
If you only need to position a few windows below rather than above, and can specify window properties that will avoid matching floating dialogs, etc. then adding a few swapDown manageHooks (or similar from Hooks.InsertPosition referenced above) should do the trick.
import XMonad
import qualified XMonad.StackSet as W
main = xmonad defaultConfig
{ manageHook = composeAll
[ resource =? "downer" --> doF W.swapDown
, title =? "obnoxious window" --> doF W.swapDown
, className =? "MPlayer" --> doFloat
Limit windows forced down by using composeOne
To position as many windows as possible below the focus while avoiding problems with z-order while using multiple floating windows, use Hooks.ManageHelpers composeOne and (-?>) in place of composeAll and (-->) to specify hooks that only fire if earlier ones have not matched. You can use this to add swapDown last in your composeOne list, so that it's applied only to windows that haven't earlier been floated or identified as transient or dialog windows.
import XMonad
import qualified XMonad.StackSet as W
import XMonad.Hooks.ManageDocks (checkDock)
import XMonad.Hooks.ManageHelpers
main = xmonad defaultConfig
-- no dialogs, gimp or mplayer windows will get swapped down
-- since they matched earlier in the composeOne list
{ manageHook = composeOne
[ checkDock -?> doIgnore -- equivalent to manageDocks
, isDialog -?> doFloat
, className =? "Gimp" -?> doFloat
, className =? "MPlayer" -?> doFloat
, return True -?> doF W.swapDown
For a more complex composeOne example, see mauke's manageHooks.
Force all new windows down
(doF W.swapDown
is the same as using insertPosition Lower ____
.) To avoid problems with floating window dialogs it's highly recommended to also add an isDialog
hook as shown below. Adding doF W.swapDown
to your manageHook will result in new windows being inserted below the focus; for floating windows this means behind the current window. A minimal config would look like this:
import XMonad
import qualified XMonad.StackSet as W
import XMonad.Hooks.ManageHelpers
main = xmonad defaultConfig
{ manageHook = isDialog --> doF W.shiftMaster <+> doF W.swapDown
-- To prevent unwanted swaps on other workspaces when using
-- this hook with other doShift hooks, make sure to put
-- doF W.swapDown furthest to the right, or last in a
-- composeAll hook list
Warning: doF W.swapDown
without restrictions will result in new floating windows popping up behind focused floating windows, and undesirable focus changes when starting and quickly destroying a window. It is better to only match specific windows to swapDown or use composeOne as shown above.
Avoid the master window, but otherwise manage new windows normally
Note that this is not a good solution for people who use floating windows, since many operations on floats put the floating window into the master position. Some transient windows will be swappedDown to appear below the floating parent unless the user keeps a tiled window in master and floating windows lower in the stack at all times. As with swapDown it's best to use it only on specific windows or at the end of a composeOne list if you use floating windows very often.
-- <snip>
import qualified XMonad.StackSet as W
import XMonad.Hooks.ManageHelpers
-- <snip>
myManageHook = fmap not isDialog --> doF avoidMaster
-- or if you have other stuff in the managehook, more like
-- myManageHook = (otherStuff) <+> (fmap not isDialog --> doF avoidMaster)
avoidMaster :: W.StackSet i l a s sd -> W.StackSet i l a s sd
avoidMaster = W.modify' $ \c -> case c of
W.Stack t [] (r:rs) -> W.Stack t [r] rs
otherwise -> c
Prevent new windows from stealing focus
Use a doF W.focusDown
manageHook on selected windows, or even
on all windows, similar to the swapDown examples above.
For an avoidMaster that keeps the focus with the master instead of focusing
the newly created window replace W.Stack t [] (r:rs) -> W.Stack t [r] rs
with W.Stack t [] (r:rs) -> W.Stack r [] (t:rs)
in the above avoidMaster code.
Firefox annoyances
Stop Firefox from taking focus while using EwmhDesktops
If one uses EWM Hints support, firefox is enabled to choose when you view its workspace, i.e. if you open links from emails or irc or whatever. If you find it annoying... In about:config (vimperator :preferences!) set browser.tabs.loadDivertedInBackground
to True to be able to load urls while working elsewhere, then browse them all later when you choose to shift to the firefox workspace. Also ubuntu users may need to disable the ubufox
Firefox's annoying popup downloader
Some applications, notably Firefox 1 and 2, create transient windows not set with the transient property. (e.g. firefox's download manager). When these windows appear, they can take focus and be annoying. For the case of firefox, the 'Download Statusbar' extension is useful for disabling this annoying UI feature.
Watch fullscreen flash video
Since approximately November 2010, the stock configuration no longer causes flash windows to immediately disappear. However, tiling flash's windows is often not what you want. Try some or all of the following hooks.
For browser plugins and most apps, including mplayer floated by manage hook (as in the default manageHook) the following setup allows normal toggling of fullscreen. A few mplayer versions are configured to use a different fullscreen method, but they can be made to work with the isFullscreen hook by adding a line fstype=none
to ~/.mplayer/config, or using the -fstype=none
flag from the command line. See also the end of the faq regarding using handleEventHook instead.
Add one of the following manageHooks, and modify layoutHook with smartBorders:
-- other imports
import qualified XMonad.StackSet as W
import XMonad.Hooks.ManageHelpers
import XMonad.Layout.NoBorders
main = xmonad defaultConfig {
-- skipped
, layoutHook = smartBorders (yourExistingLayoutHook) -- Don't put borders on fullFloatWindows
, manageHook = myManageHooks
myManageHooks = composeAll
-- Allows focusing other monitors without killing the fullscreen
-- [ isFullscreen --> (doF W.focusDown <+> doFullFloat)
-- Single monitor setups, or if the previous hook doesn't work
[ isFullscreen --> doFullFloat
-- skipped
If you have multi-head and the focusDown hook doesn't work for you, in darcs xmonad/xmonad-contrib (greater than 0.9.1) XMonad.Hooks.EwmhDesktops has a fullscreenEventHook that is also worth a try. Add it to any existing handleEventHook with <+>, or simply use it as your handleEventHook if you don't already have one. This also is useful for people who prefer tiling mplayer when not fullscreened, or use totem, vlc, or other players that require something like fullscreenEventHook to work at all.
Floating a window or sending it to a specific workspace by default
See General xmonad.hs config tips regarding manageHook, and the section here about 'xprop' for this.
Startup programs
You may launch programs at startup in the usual X manner: by adding them to your .xsession or .Xinitrc. For example, the following .xsession file launches xpmroot to set the background image, xmodmap to rebind caps lock to ctrl. It then launches a status bar program with dzen, before finally launching xmonad:
# .xsession xpmroot ~/.bg/407511721_eb8559457c_o.xpm & xrdb -merge .Xresources
xmodmap -e "remove Lock = Caps_Lock" xmodmap -e "keysym Caps_Lock = Control_L" xmodmap -e "add Control = Control_L"
status | dzen2 -ta r -fg '#a8a3f7' \ -bg '#3f3c6d' \ -fn '-*-terminus-medium-r-normal--16-*' \ -e "button1=exec:xterm" & urxvt &
You may also launch applications from your xmonad.hs, using startupHook, however this runs each time xmonad is restarted with mod-q. Also in > xmonad-0.8 see spawnPid, mkSpawner, spawnOn.
Use manageHook to arrange your programs on different workspaces by matching various window properties such as className, appName (resource), title, or role.
Using floating windows
Use the regular swap or focus up and down to navigate them, and regular mod-enter to raise a window to the front. For a mod-enter binding, the darcs shiftMaster works better than swapMaster if you use multiple floats over tiled windows. See also this swapDown manage hook warning above. If you use that manageHook on all windows you will create new floats behind existing ones. If you use lots of floats for some reason for better float usability see SimpleFloat layout, FloatKeys, Hooks.Place, and Config.Bluetile in xmonad-contrib.
Setting the X cursor
By default xmonad doesn't set a particular X cursor, which usually means the default X cursor will be used by the system. To set your own custom cursor, use the xsetroot program, as follows, from your startup file, i.e. .xinitrc, .xsession, display manager startup or .Desktop files:
# For example, a nice left-pointing arrow head cursor
xsetroot -cursor_name left_ptr
If you have development headers for X11, other cursors can be found in /usr/include/X11/cursorfont.h
Note that some display managers, such as "slim", don't unset the changes they make to the cursor when the window manager starts. This can be worked around by setting the cursor, as above.
Removing the borders around mplayer
You can also use the fullscreen layout, with the NoBorders smartBorders layout modifier, which automatically takes care of most cases.
To add 'smartBorders' to the default tiling modes:
import XMonad
import XMonad.Layout.NoBorders
main = xmonad $
{ layoutHook = smartBorders $ layoutHook defaultConfig
-- other fields like terminal, modMask, etc.
You can also remove borders with a key binding using Actions.NoBorders extension. There's drawback: you need manually remove border any time you launch mplayer.
Although this action should be able to be automated, unfortunately you cannot currently use manageHook for this purpose. That's because borders are drawn after runManageHook is executed (see Operations.hs for details).
Alternatively you can manually move the mplayer window 1 pixel to the left and one pixel up by importing XMonad.Actions.FloatKeys and adding a keybinding similar to ((modm, xK_b), withFocused (keysMoveWindow (-1,-1)). (I have not tested yet if this can be used in combination with the manageHook.)
I need to find the class title or some other X property of my program
When using XMonad.Layout.IM, ManageHooks, XMonad.Actions.WindowGo, or several other modules you need to specify detailed information about a window's properties.
See below for a script to nicely format output from the xprop program discussed in detail in this FAQ.
Otherwise, you can generally find what you need by splitting your screen between the window and a terminal; in the terminal, run xprop WM_CLASS or the like, and then click on the window. xprop will print out quite a bit of useful information about the window.
- resource (also known as appName) is the first element in WM_CLASS(STRING)
- className is the second element in WM_CLASS(STRING)
- title is WM_NAME(STRING)
For example, in WM_CLASS(STRING) = "emacs", "Emacs"
-- "emacs" is resource (appName), "Emacs" is className.
(Applications may change the title after window creation, before xprop sees it. If possible, use resource or class in such cases.) stringProperty "WM_WINDOW_ROLE" can also be useful.
Sample output might look like:
_MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 XdndAware(ATOM) = BITMAP WM_STATE(WM_STATE): window state: Normal icon window: 0x0 WM_HINTS(WM_HINTS): Client accepts input or input focus: True Initial state is Normal State. window id # of group leader: 0xf600001 _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 257949716 _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL _NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0xf600013 WM_CLIENT_LEADER(WINDOW): window id # 0xf600001 _NET_WM_PID(CARDINAL) = 476661 WM_LOCALE_NAME(STRING) = "en_US.utf8" WM_CLIENT_MACHINE(STRING) = "localhost" WM_NORMAL_HINTS(WM_SIZE_HINTS): program specified minimum size: 32 by 34 program specified resize increment: 8 by 17 program specified base size: 16 by 0 window gravity: NorthWest WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST WM_CLASS(STRING) = "emacs", "Emacs" WM_ICON_NAME(STRING) = "emacs@craft" _NET_WM_ICON_NAME(UTF8_STRING) = 0x45, 0x4d, 0x41, 0x43, 0x53 WM_NAME(STRING) = "EMACS" _NET_WM_NAME(UTF8_STRING) = 0x45, 0x4d, 0x41, 0x43, 0x53
Note: the last several lines contain useful information like the CLASS and hinting information.
What about other properties, such as WM_WINDOW_ROLE?
Use stringProperty
to extract string information, for
stringProperty "WM_WINDOW_ROLE" =? "presentationWidget" --> doFloat
For non-string properties, try XMonad.Hooks.ManageHelpers.
Consult the XMonad.ManageHook documentation for more information.
A handy script to print out window information
This script will print window information (if available) in formats usable within xmonad.hs. It is also included in the $src/XMonadContrib/scripts directory with darcs XMonadContrib (>= 0.10).
#! /bin/sh exec xprop -notype \ -f WM_NAME 8s ':\n title =\? $0\n' \ -f WM_CLASS 8s ':\n appName =\? $0\n className =\? $1\n' \ -f WM_WINDOW_ROLE 8s ':\n stringProperty "WM_WINDOW_ROLE" =\? $0\n' \ WM_NAME WM_CLASS WM_WINDOW_ROLE \ ${1+"$@"}
It works like xprop: by default you click on a window with the crosshairs, or you can specify windows using the -id or -name options. (The -root and -font selectors could be used, but are less than useful. Also, -frame is unlikely to do anything useful.)
See Matching specific windows by setting the resource name or class for how you can change what programs use for some of these strings.
What is the xK_ value for this key?
Pressing the key of interest while focusing a xev window gives useful information. To limit xev's output use something like:
xev | sed -ne '/^KeyPress/,/^$/p'
A complete list can be found at XMonad key symbols.
How can I send a key sequence to a window?
This can be useful when some application uses a hotkey that you want to use in XMonad, yet be able to send the application window the hotkey when needed.
A solution is to use xdotool, which can (among other nifty things), send a fake keypress to the currently focused window. So, for instance, you can use the following keybinding to send Alt+L to the focused window by pressing Ctrl+Alt+L:
, ((mod1Mask|controlMask, xK_l), spawn "xdotool key alt+l")
xdotool can also paste a line of ASCII text into the focused window. For instance, the following keybinding will insert the email address email@example.com each time the key Ctrl+Alt+e is pressed:
, ((mod1Mask|controlMask, xK_e), spawn "xdotool text 'email@example.com'")
The XMonad.Util.Paste
module (in >= xmonad-contrib-0.9) defines functions to to the same with
pure Haskell code.
I don't use a statusbar, but I'd like to have layout displayed for some time when it changes
Let's assume you have import qualified XMonad.StackSet as W
in xmonad.hs.
Add the following declaration somewhere in the toplevel:
curLayout :: X String
curLayout = gets windowset >>= return . description . W.layout . W.workspace . W.current
Then add the keybinding:
, ((mod1Mask, xK_a ), sendMessage NextLayout >> (curLayout >>= \d->spawn $"xmessage "++d))
You might want to change xmessage to the more friendly program, such as osd_cat, qt-dialog or dzen2.
Another option is to use Layout.ShowWName which has some user configurable options such as font, color and fade timings.
More flexible way is to use dynamicLogString
from XMonad.Hooks.DynamicLog
(was added after 0.6 release), which can also display current workspace, window name, layout, and even arbitrary [X (Maybe String)]
, and format them nicely, printing them to xmonad's stdout.
How can I make xmonad use UTF8?
TODO: is this still accurate? Doesn't xmonad-0.8 and greater always use UTF8 with no extra imports or configuration changes?
Due to extensions like DynamicLog, xmonad is capable of text outputting which is not by default but can be encoded in UTF8. Therefore, if you want to output non-ASCII characters, you can take advantage of the System.IO.UTF8 module.
For example using DynamicLog you can define its output ppOutput like his:
import qualified System.IO.UTF8
-- lots of other stuff
ppLog = defaultPP
{ ppOutput = \s -> do
h <- openFile "/home/$USER/.xmonad/xmonad.log" WriteMode
System.IO.UTF8.hPutStrLn h s
hClose h
As it may not be ideal to reopen the file before every writing, you can just place the code somewhere else. See ray's config in xmonad's config archive.
How do I use compositing with xmonad?
Xmonad has the ability to use some compositing features yet still be actually useable ;-). For example, some really nice transparency can be used with a composite aware app like urxvt and xcompmgr.
First enable compositing in your X server configuration by including the following in your xorg.conf
Section "Extensions" Option "Composite" "enable" EndSection
restart the X server and confirm it's working with xdpyinfo | grep Composite. If it returns Composite, then good...
Include this in ~/.Xdefaults
URxvt.depth: 32 URxvt*background: rgba:0000/0000/0000/cccc
this specifies that urxvt uses 32 bit colors and uses a transparent black background. The four c's specify the amount of alpha with ffff being full black and 0000 being fully transparent. You can also use the fading and blurRadius resources to give some nice effects in the transparency. see man urxvt.
finally you need to fire up xcompgr so that this will all actually work. probably you'll want to include it in your ~/.xinitrc or ~/.xsession file:
xcompmgr -c &
the -c option provides a soft shadow around your windows. There are many options, see man xcompmgr.
For an example with screenshots see andrewsw's config in the config archive.
On newer versions of XMonad, see also XMonad.Hooks.FadeInactive documentation.
How do I find a function which does ...?
Hayoo! API search can be used to find existing functions within XMonad and XMonadContrib which do useful things. For example, the search string
(next AND screen) package:xmonad
will find all existing functions which mention moving to the next Xinerama screen.
Multi head or xinerama troubles
xmonad does not detect my multi-head setup
To diagnose the problem, execute the following on the command line:
ghc -e Graphics.X11.Xinerama.compiledWithXinerama
If the output is True, skip to the getScreenInfo test below. If the output is False, your Haskell X11 library was not built against Xinerama. This is true of old Debian and Ubuntu packages, and may also occur if you built from source.
First, be sure that the Xinerama development headers are installed (libxinerama-dev in Debian and Ubuntu).
Next, check the configure output for the Haskell X11 library for the following lines (If using cabal: cabal install X11 -v --reinstall):
checking X11/extensions/Xinerama.h usability... yes checking X11/extensions/Xinerama.h presence... yes checking for X11/extensions/Xinerama.h... yes
If any of these lines end in "no", the Xinerama headers are not installed. If the lines end in "yes", execute:
runghc Setup clean runghc Setup configure --user --prefix=$HOME runghc Setup build runghc Setup install
In the X11, xmonad and xmonad-contrib source directories. Try the compiledWithXinerama diagnostic again, this time it should return True. As always, execute "xmonad --recompile" when reinstalling any part of xmonad.
If compiledWithXinerama is True and multi-head still doesn't work, execute "xmonad --recompile" and press mod-q. If the problem persists, execute this command:
ghc -e "Graphics.X11.openDisplay [] >>= Graphics.X11.Xinerama.getScreenInfo"
Here is a sample output from a system with two 1280 by 1024 monitors, oriented side by side:
[Rectangle {rect_x = 0, rect_y = 0, rect_width = 1280, rect_height = 1024}, Rectangle {rect_x = 1280, rect_y = 0, rect_width = 1280, rect_height = 1024}]
Check to see whether there is a Rectangle corresponding to each of your screens. If there is not, and the compiledWithXinerama diagnostic returns True, there may be a problem with your X server configuration. The most common one is having your monitors set to clone one another. See 'man xrandr', or, if using the proprietary nvidia drivers, 'nvidia-settings' to see how reconfigure them.
Also, there can be two versions of the X11 haskell library installed, one of them built with Xinerama, and other without it. If XMonad is using the one built with Xinerama, and the output of the commands use the version without it, all these tests will work but these problems will persist. Check the output of ghc-pkg to see if there is more than one version of X11 installed.
Missing X11 headers
Your build will fail if you've not installed the X11 C library headers at some point. ./configure for the Haskell X11 library will fail. To install the X11 C libs:
- debian
apt-get install libx11-dev
X11 fails to find libX11 or libXinerama
Cabal has difficulty locating library directories on some platforms (such as the Mac or RHEL4). First, locate the directory that contains libX11.so (libX11.dylib on Mac OS X). Add the following line to the .cabal file for the package:
extra-lib-dirs: /your/path/here/
For example, on a 64 bit machine you might need to add:
extra-lib-dirs: /usr/X11R6/lib/lib64
You can also add the paths to your .buildinfo file, or set the LD_LIBRARY_PATH environment variable.
Something is weird with multi head windows or workspaces (desktops)
See Configuration: Multi head and workspaces
Configuring xmonad to show in-process Xinerama diagnostic information
The following will allow you to display a message box with the above-mentioned Xinerama diagnostic information when you press Ctrl-Mod-Shift X.
import qualified Graphics.X11 import qualified Graphics.X11.Xinerama import Data.List (intercalate) ... xineramaDebug :: X () xineramaDebug = do rectangles <- liftIO $ Graphics.X11.openDisplay [] >>= Graphics.X11.Xinerama.getScreenInfo -- Really ought to quote xinerama and show rectangle, but this will -- do for now. spawn ("xmessage \"" ++ "Compiled with Xinerema: " ++ show Graphics.X11.Xinerama.compiledWithXinerama ++ "\n" ++ "Rectangles:\n" ++ intercalate "\n" (map show rectangles) ++ "\"")
and add the following to your additionalKeys:
((mod1Mask .|. shiftMask .|. controlMask, xK_x), xineramaDebug)
(and you may need to add X11 as a dependency in your cabal file).
X Error of failed request: BadAccess (attempt to access private resource denied)
This message seen at xmonad's stdout when starting xmonad means that another window manager is already running. If the other WM was started from a DE, you can use Util.Replace to have xmonad ask the other WM to exit before starting up. Note: If exiting your previously running wm would lead to your X session ending, then this method won't work.
Otherwise refer to the appropriate page for starting xmonad instead of your other WM (Gnome, KDE).
mod-q doesn't work
Upgraded GHC and now xmonad xmonad-contrib etc are not found
When you change ghc versions you need to rebuild or reinstall haskell libraries to make sure they are compatible and registered with the new ghc. Often your distro packagers will try to make this as automatic as possible, by making it just happen. Or at least they will make it easier, e.g. gentoo's ghc-updater and haskell-updater. (This isn't just a Haskell/ghc issue; it's true for other languages, too: c.f. python-updater scripts, distro policies regarding gcc and glibc changes.)
Changes to the config file ignored or 'xmonad not found' when starting X
Both ghc and xmonad must be in your display manager init's $PATH when starting X and xmonad for reconfiguration by mod-q. Make sure the environment from which you start xmonad has the appropriate settings.
When changing the xmonad.hs and restarting with mod-q, xmonad will attempt to exec the xmonad binary. This means it must be in your $PATH environment variable, or the exec will fail silently and the old xmonad instance keeps running.
With xmonad 0.5 and later, mod-q will also call ghc on your ~/.xmonad/xmonad.hs file, and will continue with defaults if ghc is not found.
Additionally, if you change and reinstall the haskell-X11 or XMonadContrib library, changes to that package will not be noticed by xmonad's recompilation checker, so xmonad.hs won't be recompiled. (needs confirmation: is this true?) To fix this:
xmonad --recompile
after reinstalling the contrib library.
Tabbed or other decorated layouts not shown
Both xmobar and xmonad's default
use the -misc-fixed-*-*-*-*-10-*-*-*-*-*-*-*
font by default. This is
possibly the most commonly installed font in the *nix world, but if it's not installed,
or core fonts aren't working for some reason, you'll have problems. Without the font
you have set in your Theme....
tabs and other decorated layouts will simply not draw. There should be font related errors in .xsession-errors or wherever your display manager directs stderr to help confirm that this is the cause of missing decorations. xmobar will spit out a cryptic error message and refuse to run.
Check with xfontsel that you have the fixed 10 font if you want to use the defaults. For xft, check that your xmonad and xmobar were compiled with xft support. (They are by default on most distros) Then customize your theme by using something like the following in your layoutHook
myTabbed = tabbed shrinkText defaultTheme {
fontName = "xft:terminus:size=12" -- choose an installed font
-- more theme customizations
main = do
-- skipped
, layoutHook = avoidStruts $ myTabbed ||| layoutHook defaultConfig
DE panels pagers or EwmhDesktops are broken (just upgraded to >0.8)
Starting with 0.9, EwmhDesktops users must change configuration by removing the obsolete ewmhDesktopsLayout from layoutHook, (it no longer exists), and updating to the current ewmh support which still includes a logHook, but in place of the old layout modifier, uses a startupHook and handleEventHook (see ff.).(No need to change config if using ewmh via Config.Desktop, Config.Gnome, etc. Your config will automatically be updated to use current ewmh support.)
Users of defaultConfig that explicitly include EwmhDesktops hooks and the ewmhDesktopsLayout modifier should remove them and instead use the new ewmh
function which adds EWMH support to defaultConfig
all at once. You should keep avoidStruts and manageDocks if you're using them.
The 0.9 way to use EwmhDesktops rather than a desktop config is:
import XMonad
import XMonad.Hooks.EwmhDesktops
main = xmonad $ ewmh defaultConfig {
-- normal customizations
defaultGaps doesn't work any more! (just upgraded to >0.7)
See Make space for a panel section: use XMonad.Hooks.ManageDocks avoidStruts for this instead of Gaps, or import XMonad.Layout.Gaps.
Showing fractions of lines in gvim, urxvt,etc.
This is due to certain layouts doesn't care about so called size hints (resize increments) specifically the WM_NORMAL_HINTS(WM_SIZE_HINTS) (use xprop to see it). This, combined with certain programs, like gvim, which doesn't check if it gets enough size to render the last line and uses it anyway render this annoying behaviour. Aside from patching the offending program, you can:
- Use a layout which uses these size hints like Hinted Grid, or HintedTile
- Use the layoutHints modifier on any layout
- Workaround in .vimrc. These lines in your .vimrc lets you change the number of lines with F4/Shift-F4:
- Change the color of default GTK background (white lines), to match gvim background
map <F4> :let &lines=&lines-1<CR> map <S-F4> :let &lines=&lines+1<CR>
style "vimfix" { bg[NORMAL] = "#000000" } widget "vim-main-window.*GtkForm" style "vimfix"
Emacs mini-buffer starts at wrong size
ontoillogical says: Most people turn off menus and toolbars and adjust fonts in their .emacs. That's what breaks emacs' display in tiling WMs. To get emacs to look correctly, move all of the stuff that affects how emacs draws a frame to .Xdefaults/.Xresources
For reference here is the relevant section of mine:
Emacs.font: DejaVu Sans Mono-12 Emacs.fontBackend: xft Emacs.menuBar: off Emacs.toolBar: -1 Emacs.verticalScrollBars: off
If you're having emacs sizing problems setting these in .Xdefaults is still worth a try even if you don't have any custom .emacs settings.
Losing text when resizing xterms
Being a dynamic tiling window manager, xmonad, like ion or dwm, makes heavy use of resizing. Clients such as xterm, might not take well to resizing and the window might require a refresh (Ctrl-L). To minimize this, several users recommend urxvt (rxvt-unicode), which handles resizing much better.
I just resized my terminal, but the terminal app didn't resize.
This is a SIGWINCH bug in the Linux kernel, believe it or not, in the 2.6.26 series. Details here: http://groups.google.com/group/fa.linux.kernel/browse_thread/thread/8044876def45c0b0/4b7f4cd87feafe5e?show_docid=4b7f4cd87feafe5e.
The simplest solution is to up/downgrade to a kernel version without this bug.
Double encoding of command lines in ghc 7.8 and later
Because earlier versions of ghc had runtimes that just truncated characters, use of Unicode outside the range '\0' .. '\255' required that xmonad and utilities (notably http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Util-Run.html) encode such to UTF-8 before passing them to e.g. executeFile
ghc 7.8 and later perform this encoding themselves, leading to double encoding from functions such as spawnPipe
. (spawn
would not have been affected in versions of xmonad that do not use the utf8-string
package; current versions are affected.)
A quick way to work around this is to
import qualified GHC.IO.Encoding as GIO
at the top of xmonad.hs
, and then as the first thing in your main
GIO.setFileSystemEncoding GIO.char8
which will restore the old behavior. Bugs have been recorded against the main offenders, so they can be updated to behave correctly according to the ghc version.
XMonad is frozen!
XMonad stops but the current window still responds to keys
Usually this is because a dynamicLog is writing to a pipe handle that's not being read. For example the xmonad.hs writes to some status bar in the logHook, but the status bar is not installed, not in $PATH, not set up to read its stdin, or just plain not running. Eventually the pipe fills up and blocks and xmonad waits for it to be read before continuing.
To cat the full pipe and free up xmonad, find xmonad's pid via pgrep or htop, etc. let's say it's 1001, then ls -l /proc/1001/fd/
and look for the largest numbered pipe. Let's use 4. Then cat /proc/1001/fd/4
to unblock xmonad so you can fix your xmonad.hs and xmobarrc to work correctly. (If catting that pipe doesn't spew out a bunch of stuff and unfreeze things, try the others listed.)
With the post 0.9 =<< xmobar
and statusBar
modifiers it isn't obvious that xmonad is writing to a pipe. If you don't want xmonad info shown in your
status bar, you will probably be better off launching it by other means such as .xinitrc. You can also customize your PP's ppOutput field to use the default hPutStrLn
to write to stdout, or change it to \s -> return ()
to do nothing at all.
With xmobar, if your logHook is writing to its stdin via ppOutput = hPutStrLn foo
, make sure the .xmobarrc commands
include a Run StdinReader
line, and the template
includes %StdinReader%
For examples of an .xmobarrc with working StdinReader, see this arch linux help page or John Goerzen's xmonad config tutorial.
See also this issue on the xmonad bug tracker.
XMonad stops responding to keys (usually due to unclutter)
The number one cause for this is the 'unclutter' program, which can fool some clients into thinking they've lost the pointer, when in fact they have not. See the '-noevents' flag to unclutter. Or use XMonad.Actions.Warp or XMonad.Actions.UpdatePointer xmonad-contrib extension instead.
An app seems to have frozen and xmonad stops responding to keys
Often you can get X to behave again by running 'xclock -display :0' on the appropriate display via ssh or from a virtual terminal. If that's not enough kill suspect apps similarly.
There is also an option in (pre evdev versions of) xorg.conf which enables the key combination Ctrl+Alt+Keypad-Divide to break active keyboard and mouse grabs.
This may allow xmonad to continue normally in such cases. To enable this key combination, add the following line to your xorg.conf in the Section Server Flags then restart X:
Option "AllowDeactivateGrabs" "on"
Problems with Java applications, Applet java console
There are two classes of problems: blank, grey windows and windows that can't be focused for keyboard input. The latter should be fixed in the newest xmonad, so follow the instructions on the website for getting a copy of the darcs repository and build it. Remember to rebuild xmonad-contrib (preferably also from darcs) afterwards! The remainder of this section covers the blank, grey window problems.
The Java gui toolkit has a hardcoded list of so-called "non-reparenting" window managers. xmonad is not on this list (nor are many of the newer window managers). Attempts to run Java applications may result in `grey blobs' where windows should be, as the Java gui code gets confused.
Preferred Method
If you are using openjdk6 >= 1.6.1, the cleanest way to work around the hardcoded list is to warn the vm that xmonad is non-reparenting by exporting the appropriate environment variable:
Using JDK 7 seems to work well, too, see below.
Using SetWMName
Otherwise, you can lie to Java about what window manager you are using, by having the SetWMName extension convince Java that xmonad is "LG3D". (**WARNING: This *breaks* recent versions of gtk+3!** Use the Preferred Method above instead, if necessary upgrading your Java to a version which supports it.) Normally you would use this in the startup hook, like this:
-- etc
import XMonad.Hooks.SetWMName
main = do
xmonad $ defaultConfig
{ modMask = mod4Mask
, startupHook = setWMName "LG3D"
-- other customizations
However, modules using Hooks.EwmhDesktops, such as Config.Gnome, Config.Desktops, etc. also set WM Name as part of supporting Extended Window Manager Hints. Combining EWMH support with the "LG3D" workaround takes special attention to modifying the appropriate hook for your xmonad version:
Starting with xmonad-0.9. the window manager name is set once in EWMH startupHook after each mod-q, along with other EWMH initialization, but after that can be changed and not overwritten till the next mod-q. See below for example startupHooks combining both startupHooks.
In xmonad versions 0.7 and 0.8 the EWMH configs setWMName to "xmonad" on each logHook event, so to use "LG3D" instead, it's necessary to either
- patch the XMonad.Hooks.EwmhDesktops source and rebuild xmonad-contrib
- use the version 0.8.* hack shown below to repeatedly setWMName "LG3D" after the ewmh logHook runs.
Using SetWMName with EwmhDesktops
For xmonad-0.9 0.9.1 or darcs:
Add ewmhDesktopsStartup, (or 'startupHook gnomeConfig', etc.) to startupHook before setWMName.
Defining the EWMH hooks yourself:
-- etc
import XMonad.Hooks.EwmhDesktops
import XMonad.Hooks.SetWMName
main = xmonad defaultConfig
{ -- skipped
, startupHook = ewmhDesktopsStartup >> setWMName "LG3D"
Using a desktop config as your base:
xmonad desktopConfig
{ -- skipped
, startupHook = startupHook desktopConfig >> setWMName "LG3D"
If instead you're using the ewmh config modifier to add EWMH support, then define your config at top-level to allow over-riding the startupHook definition with your own version:
-- etc
import XMonad.Hooks.EwmhDesktops
import XMonad.Hooks.SetWMName
-- define an EWMH base config to use later in main
conf = ewmh defaultConfig
{ manageHook = myManageHooks <+> manageDocks <+> manageHook defaultConfig
, layoutHook = avoidStruts $ myLayout ||| layoutHook defaultConfig
, logHook = dynamicLogWithPP xmobarPP
{ ppOutput = hPutStrLn xmproc
, ppLayout = const ""
, ppTitle = xmobarColor "green" "" . shorten 80
-- Override the WM Name setting for the "LG3D" workaround
-- but still use the rest of the EWMH base config you just
-- defined, including its startupHook ewmh initialization
main = do
xmproc <- spawnPipe "xmobar"
xmonad conf
{ startupHook = startupHook conf >> setWMName "LG3D"
For xmonad-0.8.* :
-- etc
import XMonad.Hooks.EwmhDesktops
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.SetWMName
main = do
xmproc <- spawnPipe "xmobar"
xmonad $ defaultConfig
{ manageHook = myManageHooks <+> manageDocks <+> manageHook defaultConfig
, layoutHook = avoidStruts $ ewmhDesktopsLayout $ myLayout ||| layoutHook defaultConfig
-- NOTE: no '$' is used between dynamicLogWithPP and xmobarPP
, logHook = dynamicLogWithPP xmobarPP
{ ppOutput = hPutStrLn xmproc
, ppLayout = const ""
, ppTitle = xmobarColor "green" "" . shorten 80
>> ewmhDesktopsLogHook
>> setWMName "LG3D"
---- or with a desktop config, e.g.
-- , logHook = logHook gnomeConfig >> setWMName "LG3D"
With xmonad-0.9 or greater there is no need to spam the X server with setWMName in logHook, see above for how to modify startupHook instead.
Changing AWT Toolkit
Another option is to use an AWT toolkit that is more window manager agnostic, (Some report that this causes keyboard to fail in some java applications. It also doesn't seem to work as widely or reliably as setWMName or other preferred methods above.) If you want to try it, set the environment variable:
This seems to fix some versions of:
- cgoban3
- Netbeans
- processing [1]
Even if you don't use Bash, you can often set environmental variables by putting them in .profile and logging back in:
export AWT_TOOLKIT=MToolkit
Using the free blackdown java runtime also seems to work correctly to fix this issue.
Use JDK 7
- Using JDK 7 also seems to work well.
Gunnar Ahlberg #xmonad:I just downloaded and early binary release of JDK 7 and it looks like the new Java version behaves properly ... I tried using some Gui apps that gave me the infamous grey windows with Java6 (or Java5 without setting AWT_TOOLKIT=MToolkit) and so far no problems occured.
JDK 7 solved problems remaining even when using setWMName "LG3D" in logHook.
Persuade a java application to use a specific java runtime (JRE)
Sometimes it turns out that a program works with a specific JRE version, but not with another. Commercial programs tend to ship with their own JRE, so you may even notice that one program works while another doesn't. (For example, I've had a setup where Maple had problems while Matlab behaved well.) A java symlink in the right place can do wonders here. See this Ubuntu bug report for a number of examples.
XMonad doesn't save my layouts and windows
xmonad will remember your workspace layouts during dynamic restart (mod-q), but not when quitting X altogether. Note that this means if you add or remove layouts to the config.hs file, the changes won't be noticed during a hot-restart (the state from the previous session will be used).
You can reinitialise the xmonad state dynamically with mod-shift-space.
Some keys not working
If you've an unusual keyboard, X may not know precisely which keys you've bound xmonad actions to. An example is when you use a French keyboard layout. You may need to set your own mod key, or use different key bindings in xmonad.hs. See the xmonad.org docs on configuring and customizing for advice on rebinding keys. Also currently xmonad only handles the first of duplicate key symbols bound, so if you have for example multiple xK_Backspace keys not all will be bound. There are patches available on the xmonad mailing list (or darcswatch) to change this.
Media keys
XMonad.Util.EZConfig additionalKeysP or Graphics.X11.ExtraTypes are the best way to bind the XF86 family of special keys. Note that some special laptop keys are handled by acpi and may show up as button events instead, or even bypass X completely.
French keyboard workspace switching
See XMonad.Config.Azerty for an azertyConfig to use in place of defaultConfig. This will adjust keybindings for the azerty layout, fixing workspaces switching, etc.
Numeric keypad keys like xK_KP_2 not working
Bind to the non-numeric versions of these keys. They work regardless of NumLock status. To avoid conflicts with other apps you probably want to use them with modifiers. Here is an example of using them to navigate workspaces in the usual mod-N mod-shift-N way, but on the key pad:
myWorkspaces = ["1","2","3","4","5","6","7","8","9","0"]
modm = mod4Mask -- win key for mod
myKeys = -- use with EZConfig.additionalKeys or edit to match your key binding method
-- more custom keybindings
[((m .|. modm, k), windows $ f i)
| (i, k) <- zip myWorkspaces numPadKeys
, (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
-- Non-numeric num pad keys, sorted by number
numPadKeys = [ xK_KP_End, xK_KP_Down, xK_KP_Page_Down -- 1, 2, 3
, xK_KP_Left, xK_KP_Begin, xK_KP_Right -- 4, 5, 6
, xK_KP_Home, xK_KP_Up, xK_KP_Page_Up -- 7, 8, 9
, xK_KP_Insert] -- 0
Keybindings dont work with rdesktop
Try running with the "-K" (keep window manager key bindings) switch. For example, rdesktop -K -f 666.666.666.666
then press Ctrl-Alt-Enter, or simply rdesktop -K 666.666.666.666
Copy and Paste on the Mac
When using X11 for Mac OS X, and you switch from the quartz WM to xmonad, you can lose copy/paste functionality between X windows and normal Mac apps. To fix this, and restore copy and paste, add
quartz-wm --only-proxy &
in your .xinitrc above the line that runs xmonad. It will capture and syncronize copy/paste events in both environments. More specifically, it mirrors OS X copy actions into both PRIMARY and CLIPBOARD, but only CLIPBOARD into OS X paste.
OpenOffice looks bad
OpenOffice won't use (strangely) the GTK look, unless the following environment variable is set:
Use this if you don't like the default look of OpenOffice in xmonad.
Help! xmonad just segfaulted
Due to this bug in GHC's recompilation checker,
if you updated a previously built xmonad, or XMonadContrib, when a dependent library has changed in the meantime, GHC will happily go ahead and link your libraries together, into a broken binary. This will at best produce a linker error, and at worst, a version of xmonad that will segfault.
The rule is: when rebuilding, for example, XMonadContrib, always clean first if any library it depends on has changed.
runhaskell Setup.lhs clean
You may also want to make sure your config gets rebuilt:
xmonad --recompile
Another possibility is your xmonad was compiled against a very old version of the haskell-x11 library. Use haskell-X11-1.4.2 or newer. This version incorporates a couple of WM_HINTS related segfault bug fixes.
Cabal: Executable stanza starting with field 'flag small_base description'
When using ghc 6.6, or old versions of Cabal, you may get errors when configuring:
*** Exception: getSection got a line without a '{'. Consider this a bug.
These are all symptoms of trying to compile xmonad with an old version of cabal.
The darcs version after xmonad 0.4 switched to requiring Cabal 1.2 to build xmonad. You must have Cabal 1.2 or newer to build xmonad older than 0.4. It will work fine with ghc 6.6.1, and you do not need to updated ghc. This will also not break older packages. Get cabal from Hackage:
Build and install as usual, then rebuild xmonad.
To build Cabal with ghc 6.6.1 you will also need the filepath library, which is also (of course) available from hackage:
configure: error: cannot run C compiled programs.
This typically means that you have /tmp mounted with noexec. To use another directory, make an alias that temporarily changes $TMPDIR, like
alias cabal="TMPDIR=[insert directory here, eg ~/.cabal/build but make sure the directory exists] cabal"
A manage hook is having no effect
If a manage hook that checks an attribute of a window(e.g. resource =? "foo" --> bar) doesn't work even though the property is the same as reported by xprop, it can be caused by a program setting the corresponding property after the window has been created. To debug whether or not the term on the right hand side is at fault, it is useful to log which resource (or other property) xmonad sees:
(resource >>= io . appendFile "/home/<youruser>/xmonad_debug" >> idHook)
If opening the desired window causes xmonad to produce a log entry with the resource you were interested in, it means that the term on the right-hand side of --> is not working.
Is there an Xmonad equivalent for Wayland?
As of this writing, https://github.com/L-as/waymonad appears to be actively maintained.

subset: commoncrawl


text: You are about to leave the FCC website and visit a website belonging to another governmental agency. The FCC does not endorse any product or service, and is not responsible for, nor can it guarantee the validity or timeliness of the content on the page you are about to visit. Additionally, the privacy policies of this governmental website may differ from those of the FCC.


text:
Sorry, this entry is only available in German!
ESMO stellt Christoph Zielinski als Chefredakteur des neuen Open Access-Journals vor
The sender takes full responsibility for the content of this news item. Content may include forward-looking statements which, at the time they were made, were based on expectations of future events. Readers are cautioned not to rely on these forward-looking statements.
As a life sciences organization based in Vienna, would you like us to promote your news and events? If so, please send your contributions to news(at)lisavienna.at.


text:
Stronger Protections for, and Encouraging the Use of, De-Identified (and "Anonymized") Health Data
1) The Importance of De-Identified Health Data
2) De-Identification, Limited Data Set Requirements of the HIPAA Privacy Rule
3) Why a Re-Examination of De-Identification Policy is Needed
4) Some Recommendations for Reform
1) The Importance of De-Identified Health Data
The trend towards adoption of health information technology (health IT) offers substantial benefits not only to individuals in terms of improving health care quality and increasing efficiency, but also to medical research, public health and other functions that derive value from large sets of health-related data.
At the same time, increased electronic flows of health data pose significant risks to privacy. Among the many challenges that will require attention as health IT is promoted through implementation of the stimulus legislation and other means is how to strip health data of personal identifiers in order to eliminate or reduce privacy concerns, while still retaining useful information.
Numerous public and private entities currently use de-identified health data. Among the most widespread applications of de-identified data are quality improvement, public health (including syndromic surveillance), research (including clinical and epidemiological research), and a variety of commercial uses, such as improving the efficiency of operations, and understanding risks to patients.
Health Privacy Project De-identification Paper June 2009
2) De-Identification and Limited Data Set Requirements of the HIPAA Privacy Rule
Under the Health Insurance Portability and Accountability Act (HIPAA) Privacy Rule, health data is categorized in one of three ways: protected health information, de-identified data, and the limited data set. Health data that is fully identifiable–that contains patient names, addresses or other identifiers–is "protected health information" and is subject to some restrictions on access, use, and disclosure.
Two additional classes of data are stripped of identifiers and are either exempted from, or treated differently under, the Privacy Rule. First, "de-identified" data has been so stripped of common identifiers that there is no "reasonable basis" to believe it can be traced back to the subject. Data that qualifies as "de-identified" under the Privacy Rule is not regulated at all; there are no restrictions on who can acquire it or the purposes for which it can be accessed, used, or disclosed.
A "limited data set," by contrast, is stripped of many categories of identifying information but retains information often needed for public health and research (such as birth dates, dates of treatment, and some geographic data). Entities covered by HIPAA may share a limited data set for research, public health and health care operations purposes permitted by the Privacy Rule, so long as all recipients are bound by a data use agreement with the originator of the data.
3) Why a Re-Examination of De-Identification Policy is Needed
Although the intentions underlying the Privacy Rule's three-part approach (protected health information, de-identified data, and the limited data set) were laudable, the framework has been rendered less satisfactory as a result of technology changes and a growing sophistication in the use of data. At least three challenges arise. First, not all uses of de-identified health data or a limited data set require identical levels of identity masking. Ideally, a broader spectrum of data "anonymization" options would better meet the needs of different contexts and ensure that data is accessed or disclosed in the least identifiable form possible for any given purpose. We use the term "anonymized" to refer to data that is intended to be anonymous to data recipients.
Second, the Privacy Rule, by permitting use of fully identified data for treatment, payment, health care operations, and a range of other health-related activities, provides little incentive for covered entities to use data that is less than fully identifiable. Of particular concern is the category of health care operations, which includes some tasks that arguably could be fulfilled with data that is less than fully identifiable. Covered entities are required under the Rule to use the "minimum necessary" amount of data needed to accomplish health care operations tasks, but CDT is unaware of any circumstances in which this standard has been expressly interpreted to set limits on the identifiability of data used for a particular function.
Third, the de-identification provisions of the Privacy Rule may no longer be as effective as they once were at protecting privacy. Changes in society and technology, including a vast explosion in the volume of digital data, have made the re-identification of health information easier and cheaper than ever before. In addition, the Privacy Rule has never included mechanisms for holding all recipients of de-identified data accountable for re-identification.
4) Some Recommendations for Reform
CDT proposes several ways to strengthen the Privacy Rule's de-identification standards and to encourage the use of de-identified data through complimentary policies. We also recommend that the Department of Health and Human Services (HHS) consider creating additional data anonymization options (beyond de-identification and the limited data set), either by regulation or through guidance on how to apply the minimum necessary standard to routine uses and disclosures of data beyond treatment. We offer the following specific recommendations to balance the twin interests of flexibility and data protection:
- Strengthen accountability by requiring data use agreements
HHS should consider requiring HIPAA covered entities to enter into data use agreements with recipients of de-identified data. Such agreements need not rise to the level of business associate agreements, which are needed to protect fully identifiable data. Instead, they can be more limited in scope, similar to those used for limited data sets. In addition, HHS and Congress should consider how to hold entities disclosing and/or receiving de-identified data accountable when data is inappropriately re-identified. - Expand data anonymization options under the Privacy Rule
Different levels of data protections are appropriate in different contexts. Providing only two options for masking data may limit the value that can be derived from data, leaving researchers and others seeking aggregate data with few alternatives beyond the use of fully identifiable data. HHS should consider developing additional data anonymization options that can be used for a broader range of activities and that are appropriately protected against re-identification. - Provide incentives to use less than fully identifiable data for certain purposes
Fully identifiable data may not be needed to accomplish all of the activities currently included in the Privacy Rule under "health care operations." Ideally, the degree of protection for data should increase with its degree of identifiability. While drafting specific yet sufficiently flexible rules to accomplish a sliding scale of protections will be a challenge, the limited data set may serve as a good model for handling data that is not fully identifiable. At a minimum, protections to ensure that data is not inappropriately re-identified are critical. CDT encourages HHS to incorporate these points in the guidance on the Privacy Rule's minimum necessary standard that the stimulus legislation requires be issued by August 17, 2010. - Provide support through "Centers of Excellence" in de-identification
Given that many HIPAA covered entities do not have sufficient in-house expertise to de-identify data using sophisticated methodologies, HHS should consider designating certain existing or new organizations "Centers of Excellence" with respect to data de-identification. Covered entities seeking to release de-identified data could be required or given incentives to consult with these entities to gain the necessary expertise, or could outsource the work of de-identification to them. In developing this process, HHS should consider partnering with the National Institute for Standards and Technology (NIST), which has significant expertise on data anonymization techniques. - Require or encourage the use of limited access datasets and other technical solutions
HHS should consider requiring or encouraging the use of innovative technical solutions to protect data. One promising approach is the use of "limited access datasets," which give users access only to aggregate data that is relevant to specific questions they pose. Information that is not essential to a particular inquiry, including patient identifiers, is never shared, making it much more difficult to associate data with a particular individual. Such technical solutions should be applied to existing databases rather than creating new ones. Allowing data to remain in its place of origin and bringing critical research questions to the data, is the most efficient and effective way to meet the diverse needs of our health system while protecting privacy and security. - Require education and training of staff de-identifying data
Any staff involved in de-identifying health data or working with it should participate in basic training about how best to use procedural and technical means to protect privacy and security. Staff training, perhaps supported by the Centers of Excellence described above, would help to minimize the likelihood of breaches and other misuses of data. - Consider increasing public transparency regarding uses of de-identified data
As discussed, data that has been de-identified according to the Privacy Rule's provisions is free from restrictions on use and disclosure. If it is rigorously de-identified and sufficiently protected against re-identification, such data does not raise a privacy risk to individuals. However, some have expressed other policy concerns about the ways that de-identified data is currently being used. To address these concerns, policymakers could encourage or require a greater degree of public transparency about how data (including de-identified data) is used. Greater transparency could contribute to the development of guidelines regarding data use.


text:
China's latest online sensation is a Bush, but perhaps surprisingly, it's neither the 41st or the 43rd President of the US. In fact, Neil Bush, the younger brother of 43 and the son of 41 has become an online sensation in China after posting a joke photo on China's version of twitter.
Neil Bush was virtually unknown in China a week ago, despite being co-chairman of Beijing-based real estate company, CIIC.
He opened an account on China's vibrant micro-blogging platform, Weibo, back in August 2011 by introducing himself in Chinese, as "the unpolitical member of a very political American family."
Now his microblog has become a hot political topic inside China, after he posted a photo of himself wearing a Communist-style green cap with a red star. Slung across his chest is a bag emblazoned with Chairman Mao's slogan "Serve the People", and he's holding a mug featuring Chairman Mao.
The caption — accompanied by a chuckling face icon — reads, "I'm thinking of joining the Chinese Communist party. What do you think of my accessories?"
This picture has been forwarded almost ten thousand times, with more than five thousand comments posted, mostly sarcastic, which is not atypical on China's microblogs. Most of the comments have not been censored or deleted.
One user wrote, "To join our party, you need to know how to be corrupt and how to take bribes, how to rape young girls and how to cheat and hurt ordinary people. These are not things that ordinary people can do. Can you do that?"
Another offered to sponsor him in exchange for a Green Card, while one wit joked that he would only qualify if he absconded to the US with 200 million dollars, in a reference to a city party secretary, Wang Guoqiang, who fled to the US with his wife and reportedly millions of dollars.
The wealth of China's Communist party members has been much discussed on the internet, with bloggers joking that the legislative session in March should be rechristened Beijing Fashion Week due to the parade of luxury accessories on display. So several wags joked that Bush had noticed the CCP is becoming one of the world's richest political parties.
Another popular comment was that Bush's accessories don't make the grade: Today's basic Communist party gear, one netizen said, includes a Patek Philippe watch and a Hermes bag.
China's own political culture of brutal political campaigns and purges was also skewered, with one Internet user suggesting CCP membership would only be possible if Bush took part in Cultural-revolution-style "struggle sessions" criticising both the junior and the senior presidents in his family.
But others expressed concern about the tastefulness of the photo, drawing parallels to dressing up in Nazi-era uniform. But as one of the few Chinese media reports about this points out, the popularity of Bush's post has little to do with his own political pedigree.
Rather China's unruly online masses are using this as a platform to vent their anger at the Communist party.
(Louisa Lim is NPR's Beijing correspondent.)
Copyright 2021 NPR. To see more, visit https://www.npr.org.


text:
LOS ANGELES — Kobe Bryant is no longer a holdout. He's on Twitter.
With five words — "The antisocial has become social" — the Los Angeles Lakers guard sent the first tweet from his account Friday. About 270,000 people followed his verified account, (at)kobebryant, within a few hours and he was up to 365,000 late Friday night as the Lakers played the Clippers.
Bryant tiptoed into the Twitterverse last week when he briefly took over Nike basketball's account, when he sent out things like a photo of him hanging out with his daughter, an ice bath that he was dreading and even a suit he was wearing to a particular game.
Bryant says those few days made him consider starting his own account, saying he enjoyed connecting with fans "with no filters."
Heat star LeBron James has 6.8 million followers, the most of any NBA player.


text:
Elephant Man, JULY 25 - 2024
ENTERTAiNMENT iN TiME get event tickets or hire/booking well known Artists/Bands/Actors/Speakers for Gig Tours, Clubs, Festivals, Events, TV, Radio and Newspaper interviews when they gig or plan to be in your continent/country/state.
Developing personal relationships, call +46703540900 or leave your name, telephone number and country below and we will call you.
BUSINESS CONCEPT: Reference to make everybody pleased and happy!


text:
Below you can view all the homes for sale in the Kings Pointe subdivision located in Kings Mountain North Carolina. Listings in Kings Pointe are updated daily from data we receive from the Charlotte multiple listing service.
To learn more about any of these homes or to receive custom notifications when a new property is listed for sale in Kings Pointe, give us a call at 704-912-4141.
Kings Pointe For Sale $259,900
105 Sir Lancelot Ln, Kings Mountain, NC 28086
Full Bath(s)
Sq. Ft.
Year Built
Only 7 minutes from the casino! MLS#4159730. EXP Realty LLC.
Kings Pointe For Sale $234,000
142 Crown Ct, Kings Mountain, NC 28086
Close to Kings Casino. A MUST SEE MLS#4151348. Southern Homes of the Carolinas, Inc.
Viewing HOMES 1 to 2 of 2
Similar to: Kings Pointe, Kings Mountain, NC
For Sale Near: Kings Pointe, Kings Mountain, NC
Area Stats
These statistics are updated daily from the Canopy MLS. For further analysis or to obtain statistics not shown below please call Highgarden Real Estate at 704-912-4141 and speak with one of our real estate consultants.
Get Instant Information about any home on this site


text:
Phillips-Research Project 2019
This is the video Phillips-Research Project 2019 that can be downloaded, played and edit with our RedcoolMedia movie maker MovieStudio video editor online and AudioStudio audio editor online
Play, download and edit the video Phillips-Research Project 2019.
-- Created using Powtoon -- Free sign up at http://www.powtoon.com/ -- Create animated videos and animated presentations for free. PowToon is a free tool that allows you to develop cool animated clips and animated presentations for your website, office meeting, sales pitch, nonprofit fundraiser, product launch, video resume, or anything else you could use an animated explainer video. PowToon's animation templates help you create animated presentations and animated explainer videos from scratch. Anyone can produce awesome animations quickly with PowToon, without the cost or hassle other professional animation services require.
Free download, play and edit video and audio from Phillips-Research Project 2019 using RedcoolMedia.net web apps


text:
Chopda Pujan Zakopane Lesser Poland Voivodeship, Poland
Hindu see gods everywhere, whether its' plants of Basil (Tulsi Patra), Money God- Hanuman or Cow, Books are more important that we do pray Books since childhood as we see source Vidhya (knowledge) wisdon, of Ma Saraswati, same as that Hindu around the world do Chopra Punjan as they see source of Ma Laxmi, Weather or not but most Gujarati Business man do their Chopda Poonjan every year on day of Diwali. They start their first writing with God names on first page the Books of ledger. Chopda Puja during Diwali is performed mainly in western parts of India. Chopda Puja date is October 18th evening. Diwali is the last day of financial year in traditional Hindu business and Chopda Pujan is performed on the day on the new account books. This ritual is also known as Muhurat Puja.
This puja is basically performed by the Hindu business community in Gujarat, Rajashtan and Maharashtra. All account books are kept for puja on the day and blessing is sought from Goddess Lakshmi and Ganesha.
In the new account books, people write Subh Labh and draw the sign of Swastik.
In some regions, Chopda Puja is also performed along with Kuber Puja.
- Chopda Pujan for Zakopane Lesser Poland Voivodeship
- Chogadia Subh Muhurata For Chopda Pujan Muhurat are following
- (Shubh)
- (Char, Labh, Amrit)
- (Amrit, Char)
- Muhurat timings are local time of Zakopane Lesser Poland Voivodeship Poland


text:
- To the best of our knowledge, this product is RoHS, REACH and California Prop 65 compliant. Please be advised, Freelin-Wade does not analyze this product for substances of concern.
*Please select the quantity for each item you wish to order or quote and then click the Add Products button.
We Also Recommend:


text:
Pretty/handsome. Loves to dress up. Easily bored. Fussy. Seldom shows emotions. Takes time to recover when hurt. Sensitive. Down-to-Earth. Stubborn. Repost this in 5 mins and you will meet someone new in 8 days that will perfectly balance your personality.
Abstract thoughts. Loves reality and abstract. Intelligent and clever. Changing personality. Attractive. sexiest out of everyone. Temperamental. Quiet, shy and humble. Honest and loyal. Determined to reach goals. Loves freedom. Rebellious when restricted. Loves aggressiveness. Too sensitive and easily hurt. Gets angry really easily but does not show it. Dislikes unnecessary things. Loves making friends but rarely shows it. Horny. Daring and stubborn. Ambitious. Realizing dreams and hopes. Sharp. Loves entertainment and leisure. Romantic on the inside not outside. Superstitious and ludicrous. Spendthrift. Tries to learn to show emotions. Repost this in 5 mins and you will talk to someone new and realize that you are a perfect match.
Attractive personality. sexy. Affectionate Shy and reserved. Secretive. Naturally honest, generous and sympathetic. Loves peace and serenity. Sensitive to others. Great kisser. Easily angered. Trustworthy. Appreciative and returns kindness. Hardly shows emotions. Tends to bottle up feelings. Observant and assesses others. If you repost this in the next 5 mins, you will meet your new love in 8 days.
Suave and compromising. Funny and humorous. Stubborn. Very talkative. Calm and cool. Kind and sympathetic. Concerned and detailed. Loyal. Does work well with others. Very confident. Sensitive. Positive Attitude. Thinking generous. Good memory. Clever and knowledgeable. Loves to look for information. Able to cheer everyone up and/or make them laugh. Able to motivate oneself and others. Understanding. Fun to be around. Outgoing. Hyper. Bubbly personality. Secretive. Boy/girl crazy. Loves sports, music, leisure and travelling. Systematic. hot but has brains. If you repost this in 5 mins, a cutie that's caught your eye will introduce themselves and you will realize that you are very much alike in the next 2 days.
Stubborn and hard-hearted . Strong-willed and highly motivated. Sharp thoughts. Easily angered. Attracts others and loves attention. Deep feelings. Beautiful physically and mentally. Firm Standpoint. Needs no motivation. Shy towards opposite sex. Easily consoled. Systematic (left brain). Loves to dream. Strong clairvoyance. Understanding. Sickness usually in the ear and neck. Good imagination. Good physical. Weak breathing. Loves literature and the arts. Loves travelling. Dislike being at home. Restless. Not having many children. Hardworking. High spirited. If you repost this in the next 5 minutes, you will become close to someone you do not speak to much in the next 4 days.
You've got the best personality and are an absolute pleasure to be around. You love to make new friends and be outgoing. You are a great flirt and more than likely have an a very attractive partner. a wicked hottie. It is also more than likely that you have a massive record collection. You have a great choice in films, and may one day become a famous actor/actress yourself - heck, you've got the looks for it!!! IN the next 6 days you will meet someone that may possibly become one of your closest friends, if you repost this in 5 minutes.
Fun to be with. Secretive. Difficult to fathom and to be understood. Quiet unless excited or tensed. Takes pride in oneself. Has reputation. Easily consoled. Honest. Concerned about people's feelings. Tactful. Friendly. Approachable. Emotional temperamental and unpredictable. Easily hurt. Witty and sparkly. spazzy at times. Not revengeful. Forgiving but never forgets. dislikes nonsensical and unnecessary things. Guides others physically and mentally. Sensitive and forms impressions carefully. Caring and loving. Treats others equally. Strong sense of sympathy. Wary and sharp. Judges people through observations. Hardworking. No difficulties in studying. Loves to be with friends . Always broods about the past and the old friends. Waits for friends. Never looks for friends. Not aggressive unless provoked. Loves to be loved. Easily hurt but takes long to recover. Repost this in the next 5 mins and your reputation will boost someway in the next 12 days
outgoing personality. takes risks. feeds on attention. no self control. kind hearted. self confident. loud and boisterous. VERY revengeful. easy to get along with and talk to. has an "every thing's peachy" attitude. likes talking and singing. loves music. daydreamer. easily distracted. Hates not being trusted. BIG imagination. loves to be loved. hates studying. in need of "that someone". longs for freedom. rebellious when withheld or restricted. lives by "no pain no gain" caring. always a suspect. playful. mysterious. "charming" or "beautiful" to everyone. stubborn. curious. independent. strong willed. a fighter. repost in 5 mins and you will meet the love of your life sometime next month.
Active and dynamic. Decisive and haste but tends to regret. Attractive and affectionate to oneself. Strong mentality. Loves attention. Diplomatic. Consoling, friendly and solves people's problems. Brave and fearless. Adventurous. Loving and caring. Suave and generous. Usually you have many friends. Enjoys to make love. Emotional. Stubborn. Hasty. Good memory. Moving, motivates oneself and others. Loves to travel and explore. Sometimes sexy in a way that only their lover can understand. if you do not repost this in the next 5 mins, someone very close to you will become mad at you in the next 8 days.
Loves to chat. Loves those who love them. Loves to takes things at the centre. Inner and physical beauty. Lies but doesn't pretend. Gets angry often. Treats friends importantly. Brave and fearless. Always making friends. Easily hurt but recovers easily. Daydreamer. Opinionated. Does not care to control emotions. Unpredictable. Extremely smart, but definitely the hottest AND sexiest of them all. repost this in 5 mins or you will not meet the love of your life for 10 years.
Trustworthy and loyal. Very passionate and dangerous. Wild at times. Knows how to have fun. Sexy and mysterious. Everyone is drawn towards your inner and outer beauty and independent personality. Playful, but secretive. Very emotional and temperamental sometimes. Meets new people easily and very social in a group. Fearless and independent. Can hold their own. Stands out in a crowd. Essentially very smart. Usually, the greatest men are born in this month. If you ever begin a relationship with someone from this month, hold on to them because their one of a kind. repost in 5 mins & you will excel in a major event coming up sometime this month.
This straight-up means ur the most good-looking person possible... better than all of these other months! Loyal and generous. Patriotic. Competitive in everything. Active in games and interactions. Impatient and hasty. Ambitious. Influential in organizations. Fun to be with. Easy to talk to, though hard to understand. Thinks far with vision, yet complicated to know. Easily influenced by kindness. Polite and soft-spoken. Having lots of ideas. Sensitive. Active mind. Hesitating, tends to delay. Choosy and always wants the best. Temperamental. Funny and humorous. Loves to joke. Good debating skills. Has that someone always on his/her mind. Talkative. Daydreamer. Friendly. Knows how to make friends. Abiding. Able to show character. one guy/girl kind of person. Loveable. Easily hurt. Prone to getting colds. loves music.
Which Baby Are You ??


text:
HelioRec® builds floating solar power plants for near-shore locations where half of the global population lives.
SDG's of application
Efficient Solutions
The Solar Impulse Efficient Solution label seeks to bridge the gap between ecology and economy, bringing together protection of the environment and financial viability to show that these solutions are not expensive fixes to problems, but rather opportunities for clean economic growth.
The information set out above, is solely for the purposes of information and the Solar Impulse Foundation does not provide any guarantee as to its authenticity, completeness or accuracy. To validate the Membership to the World Alliance for Efficient Solutions, the Solar Impulse Foundation only verifies that each entity is registered and has signed our principles and values stated in the following World Alliance for Efficient Solutions charter. For those Members who are also solution providers, this information does not constitute investment advice or a recommendation to buy into, transact or to enter into any agreement with any of the parties or persons mentioned above. Potential investors or interested parties are solely responsible for their investment or business decisions and for performing any due diligence required by the circumstances.


text:
Privacy Policy
We understand that you are very concerned about the usage and sharing of
your personal information. And we are very appreciated your belief on
our prudence and sensitivity handling this issue. This declaration will
specify our policy regarding the protection of your privacy. Our website
is under the operation of Kernal-Automation.com Inc.
If you have visited our website, that will be considered to be your acceptance to this privacy policy.
Automatically collected information
Whenever you interact with us, we will receive and deposit the given information.
For example, like many other sites, we use "cookies".
When your internet browser visits Kernal-Automation.com, we will collect
some information. (please refer to the sample of information collecting
process stated at the end of this policy)
Many companies provide you with the technology that can help you to
visit the website anonymously. Although under this condition we can't
offer you the individualized experience on our website as your ID is
unidentified, we still like to remind you of the existence of these
E-mail Correspondence
To help us making the E-mail more useful and interesting, when you open
the email from Kernal-Automation.com, we will often receive a mail
confirming you having read the delivered email. (if your computer
support this function)We will also make the comparison between our
customer list and other companies'in order to avoid the junk messages.
The information from other resources:
We may collect your information for other resources and add it into our
customer database (please refer to the sample of information collecting
process stated at the end of this policy)
Cookies can be defined as a kind of discriminating symbols consisting
of letters and numbers read-in your computer hard disc by us through
your internet browser so that our system will identify your browser
during your visit and display the characteristics and quantity of items
in your shopping cart.
The help function of tool bar on your browser will tell you how to
prevent the browser from installing new cookies and inform you when the
browser installing a new cookie or shut down the cookies totally.
Besides, you can close or cancel the alike data of browser add-ons like
Flash cookies by changing its setting or visiting other
However, cookies can help you to make most use of the best special
services from Kernal-Automation.com, so we recommend you to set up an
open status for this program.
The Information from Other Resources
The examples of the information we get from other resources containing
the depatching and address information we get from our forwarder or
other third party, which can correct our record and make it easy to
deliver your next order and contact you..
Account information, purchasing or returning information, searching
keywords and results given by our affiliated enterprises'service, page
browsing information gotten from our cooperative enterprises, searching
result and links, including not-for-free searching list.
The information you can get easily from Kernal-Automation.com containing
the latest order information, identifiable personal information
(including name, email address, password, directory inquiries etc.),
payment settings (including credit card details) and so on.
Kernal-Automation.com Management.