Git Product home page Git Product logo

xmonad-testing's Introduction

XMonad logo

Hackage License Made in Haskell
Stack Cabal Nix
GitHub Sponsors Open Collective
Chat on #xmonad@irc.libera.chat Chat on #xmonad:matrix.org

xmonad

A tiling window manager for X11.

XMonad is a tiling window manager for X11. Windows are arranged automatically to tile the screen without gaps or overlap, maximising screen use. Window manager features are accessible from the keyboard: a mouse is optional. xmonad is written, configured and extensible in Haskell. Custom layout algorithms, key bindings and other extensions may be written by the user in config files. Layouts are applied dynamically, and different layouts may be used on each workspace. Xinerama is fully supported, allowing windows to be tiled on several physical screens.

This repository contains the xmonad package, a minimal, stable, yet extensible core. It is accompanied by xmonad-contrib, a library of hundreds of additional community-maintained tiling algorithms and extension modules. The two combined make for a powerful X11 window-manager with endless customization possibilities. They are, quite literally, libraries for creating your own window manager.

Installation

For installation and configuration instructions, please see:

If you run into any trouble, consult our documentation or ask the community for help.

Contributing

We welcome all forms of contributions:

Please do read the CONTRIBUTING document for more information about bug reporting and code contributions. For a brief overview of the architecture and code conventions, see the documentation for the XMonad.Doc.Developing module. If in doubt, talk to us.

Authors

Started in 2007 by Spencer Janssen, Don Stewart and Jason Creighton, the XMonad project lives on thanks to new generations of maintainers and dozens of contributors.

xmonad-testing's People

Contributors

byorgey avatar favonia avatar geekosaur avatar hrothen avatar hvr avatar jaseemabid avatar mgsloan avatar pjones avatar samdoshi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xmonad-testing's Issues

Building with Stack on NixOS: missing Xinerama.dll

(I'm just starting to use NixOS, so I'm probably the root cause of my problems.)

I've been trying to compile my XMonad setup under NixOS. To do so, I've copied the nixpkgs.nix from xmonad-testing to my .xmonad, and the nix: declaration from xmonad-testing's stack.yaml into my own.

Trying to building with stack --nix build fails with the message:

Preprocessing executable 'xmonad'  for thblt-xmonad-0.2
[1 of 5] Compiling XMonad.Thblt.Misc [...snip...]
<command line>: can't load .so/.DLL for: libXinerama.so (libXinerama.so: cannot object shared object file: No such file or directory) 

Tbh, I don't even understand why the build would need a .so file...

Repo no longer works with new xmonad

With stack:

$ stack setup
...
$ stack build
Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for xmonad-contrib-0.16:
    xmonad-0.13 from stack configuration does not match >=0.15 && <0.16  (latest matching version
                is 0.15)
needed since xmonad-contrib is a build target.

Some different approaches to resolving this:

  * Set 'allow-newer: true'
    in /home/rharwood/.stack/config.yaml to ignore all version constraints and build anyway.

  * Consider trying 'stack solver', which uses the cabal-install solver to attempt to find some working
    build configuration. This can be convenient when dealing with many complicated constraint errors, but
    results may be unpredictable.

  * Recommended action: try adding the following to your extra-deps
    in /home/rharwood/xmonad-testing.git/master/stack.yaml:

xmonad-0.15@sha256:db671d78ecd66f39f23decf60974a3e078525ec9d2be68a3946b0cfb4d3954fa

Plan construction failed.
$ 

Or cabal:

$ cabal new-build
Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] next goal: xmonad (user goal)
[__0] rejecting: xmonad-0.15/installed-7vd..., xmonad-0.15, xmonad-0.14.2,
xmonad-0.14 (constraint from user target requires ==0.13)
[__0] trying: xmonad-0.13
[__1] next goal: xmonad-contrib (user goal)
[__1] rejecting: xmonad-contrib-0.16 (conflict: xmonad==0.13, xmonad-contrib
=> xmonad>=0.15 && <0.16)
[__1] rejecting: xmonad-contrib-0.15/installed-HnM..., xmonad-contrib-0.15,
xmonad-contrib-0.14, xmonad-contrib-0.13, xmonad-contrib-0.12,
xmonad-contrib-0.11.4, xmonad-contrib-0.11.3, xmonad-contrib-0.11.2,
xmonad-contrib-0.11.1, xmonad-contrib-0.11, xmonad-contrib-0.10,
xmonad-contrib-0.9.2, xmonad-contrib-0.9.1, xmonad-contrib-0.9,
xmonad-contrib-0.8.1, xmonad-contrib-0.8, xmonad-contrib-0.7,
xmonad-contrib-0.6, xmonad-contrib-0.5 (constraint from user target requires
==0.16)
[__1] fail (backjumping, conflict set: xmonad, xmonad-contrib)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: xmonad, xmonad-contrib

$ 

cp: cannot create regular file '/home/.../.xmonad/xmonad-x86_64-linux` Text file busy

~/.xmonad/build

#!/bin/sh -eu

EXE_NAME=xmonad-exec
OUTPUT=$1

stack build
cp -u `stack exec which $EXE_NAME` $OUTPUT

When I press Mod+q to restart XMonad, I see the following errors in xmessage.

Error detected while loading xmonad configuration file: /home/guardian/.xmonad/xmonad.hs
my-xmonad-conf-0.0.0: unregistering (local file changes: xmonad.hs)
my-xmonad-conf-0.0.0: build (lib + exe)
Preprocessing library my-xmonad-conf-0.0.0...
Preprocessing executable 'xmonad-exec' for my-xmonad-conf-0.0.0...
[1 of 1] Compiling Main             ( xmonad.hs, .stack-work/dist/x86_64-linux-ncurses6/Cabal-1.24.2.0/build/xmonad-exec/xmonad-exec-tmp/Main.o )
Linking .stack-work/dist/x86_64-linux-ncurses6/Cabal-1.24.2.0/build/xmonad-exec/xmonad-exec ...
my-xmonad-conf-0.0.0: copy/register
Installing library in
/home/guardian/.xmonad/.stack-work/install/x86_64-linux-ncurses6/lts-8.12/8.0.2/lib/x86_64-linux-ghc-8.0.2/my-xmonad-conf-0.0.0-8nPXW84KMRtC7tbNBwzyZ5
Installing executable(s) in
/home/guardian/.xmonad/.stack-work/install/x86_64-linux-ncurses6/lts-8.12/8.0.2/bin
Registering my-xmonad-conf-0.0.0...
cp: cannot create regular file '/home/guardian/.xmonad/xmonad-x86_64-linux': Text file busy

Please check the file for errors.

XMonad Build Scripts cause compilation failures.

build script examples use mv -u which breaks subsequence builds
because previous runs displaced the build result.

cp -u fails because the destination is already being used by
xmonad process.

geekosaur suggested rm -f $TARGET.old && mv $TARGET $TARGET.old && mv $new $TARGET.
I prefer rm -f $TARGET.old && mv $TARGET $TARGET.old && cp $new $TARGET, but these commands update xmonad binary even when there is no change.

We need something better.

run-in-xephyr.sh: NIX_PATH: unbound variable

I get this error: NIX_PATH: unbound variable when I try to execute ./bin/run-in-xephyr.sh.

I have tracked down the issue to the -u flag in the shebang (#!/bin/sh -eu). But why is this flag necessary?

The POSIX manual states:

-u
When the shell tries to expand an unset parameter other than the '@' and '*' special parameters, it shall write a message to standard error and the expansion shall fail with the consequences specified in Consequences of Shell Errors.

Is there a reason why execution should fail when NIX_PATH is not set? Or can we drop the -u flag? run-in-xephyr.sh seems to run fine without it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.