Commit Graph

1506 Commits

Author SHA1 Message Date
Tomas Janousek
5c7e61def2 X.Operations: Small cleanup of module header 2021-09-04 17:52:01 +01:00
Keith
eb48bb4aef generalized signature of updateLayoutsBy 2021-09-04 17:52:01 +01:00
Keith
5eff329fc6 changed order of broadcastMessage to match original.
This uses two new functions (not exported):
`workspacesA` traverses the workspaces in a StackSet.
`runOnWorkspaces` runs `workspacesA` with the X state.
2021-09-04 17:52:01 +01:00
Keith
183e14725f changed broadcastMessage to be O(workspaces).
The current definition of broadcastMessage seems to be O(n^2) in the number of workspaces because it uses sendMessageWithNoRefresh and sendMessageWithNoRefresh uses updateLayout and updateLayout uses runOnWorkspaces.

This changes broadCastMessage and sendMessageWithNoRefresh to each use a single
call to runOnWorkspaces.
2021-09-04 17:52:01 +01:00
Keith
0ab42d4228 added export list to Operations.
This includes Haddock sections that will make the documentation render differently.
2021-09-04 17:52:01 +01:00
Keith
52a5e7ca8c updated documentation of Operations.
Added missing documentation for type alias `D`.

Moved misplaced documentation.

Edited to a consistent style that will play well with Haddock.
2021-09-04 17:46:05 +01:00
Tomas Janousek
f89df98f40 Drop unused import System.Environment (setEnv)
Fixes: 30719202b9 ("Fix xmessage in non-UTF-8 locales")
2021-08-30 18:04:23 +01:00
Tomas Janousek
30719202b9 Fix xmessage in non-UTF-8 locales
`executeFile` encodes the arguments with the current locale's encoding,
and GHC as invoked during recompilation quite likely also outputs any
errors in the locale encoding, which we then read using `readFile` again
decoding in the locale encoding, so it really makes no sense to force a
specific encoding here. What was I thinking? :-)

Related: https://github.com/xmonad/xmonad/issues/322#issuecomment-900503386
Fixes: https://github.com/xmonad/xmonad/issues/324
Fixes: aa35ea1856 ("Make xmessage handle UTF-8 and export it")
2021-08-30 17:45:47 +01:00
Tomáš Janoušek
aa18707c3e Merge pull request #323 from MuhammedZakir/master
Add `--stack-yaml` flag to `stack build --silent`
2021-08-17 19:09:57 +01:00
MuhammedZakir
b77ba03ed9 Add --stack-yaml flag to stack build --silent
Fixes: https://github.com/xmonad/xmonad/issues/322
2021-08-17 23:02:45 +05:30
Tomáš Janoušek
be1d2269ce Merge pull request #318 from liskin/stack-recompile
Recompilation overhaul: stack.yaml detection, deprecation warnings
2021-08-17 10:55:38 +01:00
Tomas Janousek
7bdc7ab9dc Print the recompilation command into the error file
When `stack build --silent` fails, the output is not helpful at all:

    Errors detected while compiling xmonad config: /home/slot/.config/xmonad/xmonad.hs
    ExitFailure 1

    Please check the file for errors.

And even in other circumstances it's helpful to see the command that was
executed, as it makes it easy for the user to diagnose what's wrong.
2021-08-17 10:46:07 +01:00
Tomas Janousek
ae97c1f107 CHANGES: Mention recompilation improvements 2021-08-17 10:46:07 +01:00
Tomas Janousek
782ac25b8e INSTALL: Update after stack.yaml autodetection
Related: https://github.com/xmonad/xmonad/issues/310
2021-08-17 10:46:07 +01:00
Tomas Janousek
8aa0d4a3e0 Detect deprecation warnings during recompilation and warn the user
Deprecation warnings were suppressed during recompilation, which made it
difficult to improve things in the codebase and API as users did not
(know they) have a transition period to adapt their configuration.

See additional discussions about deprecations:

 - https://github.com/xmonad/xmonad-contrib/pull/404#issuecomment-731607447
 - https://github.com/xmonad/xmonad-contrib/pull/410#issuecomment-732841235

Fixes: https://github.com/xmonad/xmonad/issues/304
Related: https://github.com/xmonad/xmonad-contrib/pull/404
Related: https://github.com/xmonad/xmonad-contrib/pull/410
2021-08-17 10:46:07 +01:00
Tomas Janousek
1f8e5b43e1 Fix indent in getDirectories
Fixes: 90101613e7 ("Unclobber dirs/Dirs in import XMonad")
2021-08-17 10:46:07 +01:00
Tomas Janousek
9813e218b0 Move config binary and GHC intermediate outputs to cacheDir
That's where they belong. As XDG was more or less broken in previous
xmonad releases, we can assume few people use it so now's the best time
to move files around.

For users of `~/.xmonad`, this only causes intermediate outputs (.o,
.hi) to go elsewhere.

Fixes: https://github.com/xmonad/xmonad/issues/178
2021-08-17 10:46:07 +01:00
Tomas Janousek
403e4df624 Use "stack ghc" for recompilation when stack.yaml exists
This makes it unnecessary for users of Stack to use a custom build
script, making installation easier.

Inspired by a similar feature in dyre:
a04be85f60

Fixes: https://github.com/xmonad/xmonad/issues/310
2021-08-17 10:46:07 +01:00
Tomas Janousek
aa35ea1856 Make xmessage handle UTF-8 and export it
This unfortunately breaks xmonad-contrib as several modules define their
own `xmessage` function.

Related: https://github.com/xmonad/xmonad/pull/309
2021-08-17 10:46:07 +01:00
Tomas Janousek
3b6d00ba91 Refactor 'recompile' to be less of a spaghetti-code
This is a preparation for autodetecting stack.yaml and using stack for
recompilation.

Related: https://github.com/xmonad/xmonad/issues/310
2021-08-17 10:46:07 +01:00
Tomas Janousek
befc4bc8d8 github: Drop FUNDING.yml
Replaced with https://github.com/xmonad/.github/blob/main/FUNDING.yml,
which points to xmonad's funding platforms instead of mine.

Related: https://github.com/xmonad/xmonad/pull/295
Related: https://github.com/xmonad/xmonad-contrib/pull/544
2021-08-15 22:27:39 +01:00
Tomas Janousek
6c31aad683 github: Sync ISSUE_TEMPLATE with xmonad-contrib
Related: https://github.com/xmonad/xmonad-contrib/pull/533
2021-08-15 22:25:59 +01:00
Tomas Janousek
3e76270245 ci: Disable optimization in the haskell-ci workflow
Cuts a couple dozen seconds from the build. This was already disabled in
the Stack workflow and we just forgot to put it here as well.

Related: https://github.com/xmonad/xmonad-contrib/pull/580
2021-08-08 11:54:58 +01:00
Tomas Janousek
3a414660fc MAINTAINERS: Link to maintainers' GPG keys
I'm the only one with valid GPG key uploaded to GitHub, it seems. :-/

Fixes: https://github.com/xmonad/xmonad/issues/75
2021-08-08 00:53:36 +01:00
Tomas Janousek
453010bb6d Link to xmonad-docs instead of hackage (fixes some links)
Fixes broken links to X.U.Hacks and X.U.ClickableWorkspaces.
2021-08-07 15:14:12 +01:00
Tomas Janousek
2ac8f0ea27 INSTALL: Fixes to ease inclusion into xmonad-web
Jekyll doesn't do autolinks, so wrap the one bare link in angle
brackets.

Also, link to additional resources for configuring xinitrc/xsession.
2021-08-02 21:36:16 +01:00
Tomas Janousek
ad7288030f TUTORIAL: Fixes to ease inclusion into xmonad-web
Also makes it easier to copy & paste.
2021-08-02 15:09:43 +01:00
Tomas Janousek
206fc918bb ci: Verbose nix build 2021-08-01 22:21:43 +01:00
Tomas Janousek
f5a60f82ee Merge branch 'add-nix-flake' 2021-08-01 22:07:11 +01:00
Ivan Malison
a1ee3b4530 Add comment explaining that I am maintaining flake.nix 2021-08-01 22:06:50 +01:00
Ivan Malison
89218fc57d Add nix github workflow 2021-08-01 22:06:49 +01:00
Ivan Malison
71af4239bd Add a flake.nix file 2021-08-01 22:06:49 +01:00
Tomas Janousek
f1d6316526 Merge branch 'broadcast-destroy-window-events' 2021-07-31 15:25:08 +01:00
Yecine Megdiche
92d01e37a0 Broadcast DestroyWindowEvent to layouts
Some layout and layout modifiers that keep track of some window
properties don't do garbage collection and update their state when
windows are destroyed. By broadcasting this event, it should be easier
for layouts to clean up

Related: https://github.com/xmonad/xmonad-contrib/pull/474
2021-07-31 15:24:31 +01:00
Tomas Janousek
101c7052f4 Merge branch 'install-instructions' 2021-07-29 11:33:19 +01:00
Tomas Janousek
7b7feeca42 INSTALL: Use "console" syntax highlighting for console listings 2021-07-29 11:32:20 +01:00
Tomas Janousek
cbe7ee7c03 INSTALL: Add instructions for cabal-install
Related: https://github.com/xmonad/xmonad/issues/199
Related: https://github.com/xmonad/xmonad/issues/310
2021-07-29 11:32:20 +01:00
Tomas Janousek
8adb8463ab INSTALL: Generalize the instructions a bit
Mention installation from distro; factor preparation/download out of
the Stack section (prep for inclusion of cabal-install section).
2021-07-29 11:32:20 +01:00
Tomas Janousek
256eb29ef1 INSTALL: Add section about launching XMonad as default WM 2021-07-25 10:44:41 +01:00
Tomas Janousek
4ba9c8b8c1 INSTALL: Mention dependencies for a couple common distros 2021-07-25 10:44:41 +01:00
Tomas Janousek
98173777fe INSTALL: Drop indent from code blocks
Makes it easier to copy&paste.
2021-07-25 01:17:40 +01:00
Tomáš Janoušek
05aeef0dc2 Merge pull request #308 from liskin/release-infra
Automate and document releasing to Hackage + couple cleanups
2021-07-25 02:17:21 +02:00
Tomas Janousek
85787ce059 Automate and document releasing to Hackage
Pioneered in https://github.com/xmonad/X11, this adds automation for
Hackage releases and updates MAINTAINERS.md with simplified instruction
for the release procedure.

Related: https://github.com/xmonad/xmonad/issues/75
Related: https://github.com/xmonad/xmonad/issues/264
Related: https://github.com/xmonad/xmonad-contrib/issues/393
2021-07-24 18:13:11 +01:00
Tomas Janousek
d64aeba80f Revise extra-source-files in xmonad.cabal
Ship the new docs, drop tests as these get picked up automatically.
2021-07-24 18:13:11 +01:00
Tomas Janousek
72cbe0667d Revise dependencies a bit
utf8-string isn't needed since d9e3ebf531
(late 2014).

Most of the executable xmonad deps are unnecessary since
307b82a53d (early 2015).

Switch from data-default to data-default-class to avoid bringing in deps
and instances we don't need.
2021-07-24 18:13:11 +01:00
slotThe
af354f7528 Merge pull request #312 from mzrinsky/update-cheatsheet
Add help command to help message
2021-07-03 09:10:02 +02:00
Matt Zrinsky
1a4c95fac8 Add help command to help message.
Attempt to contribute to xmonad,
and add a simple line to the help message,
containing the help command itself.

Fixes xmonad/xmonad#287
2021-07-02 13:58:00 -05:00
slotThe
42d319545b Merge pull request #309 from MuhammedZakir/xmessage-fix
Use printf instead of echo for xmessage help
2021-06-27 08:27:00 +02:00
MuhammedZakir
2e6eb9068d Use printf instead of echo for xmessage help
In some shells—like bash—the entire help message is shown in a single
line because a newline is printed as a literal "\n" character when using
echo.  Some distributions[1] have /bin/sh linked to bash, and so new
users are likely to run into this at some point.

We could fix this by either removing show and explicitly adding an
escaped quotation symbol before and after the string, or by using printf
instead of echo.  The printf solution seems more portable[2] and so I
propose we go with that one.

[1]: f5b9a25cdd/nixos/modules/config/shells-environment.nix (L129-L143)
[2]: https://unix.stackexchange.com/questions/65803/why-is-printf-better-than-echo/#65819
2021-06-27 08:09:33 +02:00
slotThe
13849c6230 INSTALL.md: Mention stack upgrade
Users who are installing stack on systems like Debian stable or Ubuntu
may get really old version of stack—much older than we currently
support.  Thankfully, stack can upgrade itself rather easily with one
single command, so mention that.

Fixes: https://github.com/xmonad/xmonad/issues/303
2021-06-15 10:10:17 +02:00