summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorslotThe <soliditsallgood@mailbox.org>2021-01-15 08:48:10 +0100
committerslotThe <soliditsallgood@mailbox.org>2021-01-15 08:58:58 +0100
commit911b2750be3493b15aed9739ab1f1074c45712cc (patch)
tree5cd62ed3a7d45f753df4d3fec4ab9b6e24b634ed
parentb78aa7bf547ded5a747fc50ac3a77999725fdef6 (diff)
downloadxmobar-911b2750be3493b15aed9739ab1f1074c45712cc.tar.gz
xmobar-911b2750be3493b15aed9739ab1f1074c45712cc.tar.bz2
Extract compiling xmobar from source to its own file
-rw-r--r--doc/compiling.org110
-rw-r--r--readme.org124
2 files changed, 118 insertions, 116 deletions
diff --git a/doc/compiling.org b/doc/compiling.org
new file mode 100644
index 0000000..08456ff
--- /dev/null
+++ b/doc/compiling.org
@@ -0,0 +1,110 @@
+* Compiling Xmobar from Source
+
+If you don't have =cabal-install= installed, you can get xmobar's source
+code in a variety of ways:
+
+- From [[http://hackage.haskell.org/package/xmobar/][Hackage]]. Just download the latest release from xmobar's hackage
+ page.
+
+- From [[http://github.com/jaor/xmobar/][Github]]. There are also tarballs available for every tagged
+ release on [[https://github.com/jaor/xmobar/releases][Github's releases page]]
+
+- From the bleeding edge repo. If you prefer to live dangerously, just
+ get the latest and greatest (and buggiest, I guess) using git:
+
+ #+begin_src shell
+ git clone git://github.com/jaor/xmobar
+ #+end_src
+
+If you have cabal installed, you can now use it from within xmobar's
+source tree:
+
+#+begin_src shell
+ cabal install --flags="all_extensions"
+#+end_src
+
+There is also a =stack.yaml= file that will allow you to install the
+xmobar executable with
+
+#+begin_src shell
+ stack install
+#+end_src
+
+See the =stack.yaml= file for the enabled extensions. You can also pass
+them to =stack= directly:
+
+#+begin_src shell
+ stack install --flag xmobar:all_extensions
+#+end_src
+
+** Optional features
+
+You can configure xmobar to include some optional plugins and features,
+which are not compiled by default. To that end, you need to add one or
+more flags to either the cabal install command or the configure setup
+step, as shown in the examples above.
+
+Extensions need additional libraries (listed below) that will be
+automatically downloaded and installed if you're using cabal install.
+Otherwise, you'll need to install them yourself.
+
+- =with_dbus= Enables support for DBUS by making xmobar to publish a
+ service on the session bus. Requires the [[http://hackage.haskell.org/package/dbus][dbus]] package.
+
+- =with_threaded= Uses GHC's threaded runtime. Use this option if xmobar
+ enters a high-CPU regime right after starting.
+
+- =with_utf8= UTF-8 support. Requires the [[http://hackage.haskell.org/package/utf8-string/][utf8-string]] package.
+
+- =with_xft= Antialiased fonts. Requires the [[http://hackage.haskell.org/package/X11-xft/][X11-xft]] package. This
+ option automatically enables UTF-8. To use XFT fonts you need to use
+ the =xft:= prefix in the =font= configuration option. For instance:
+
+ #+begin_src haskell
+ font = "xft:Times New Roman-10:italic"
+ #+end_src
+
+ Or to have fallback fonts, just separate them by commas:
+
+ #+begin_src haskell
+ font = "xft:Open Sans:size=9,WenQuanYi Zen Hei:size=9"
+ #+end_src
+
+- =with_mpd= Enables support for the [[http://mpd.wikia.com/][MPD]] daemon. Requires the [[http://hackage.haskell.org/package/libmpd/][libmpd]]
+ package.
+
+- =with_mpris= Enables support for MPRIS v1/v2 protocol. Requires the
+ [[http://hackage.haskell.org/package/dbus][dbus]] and [[http://hackage.haskell.org/package/text][text]] packages.
+
+- =with_inotify= Support for inotify in modern Linux kernels. This
+ option is needed for the MBox and Mail plugins to work. Requires the
+ [[http://hackage.haskell.org/package/hinotify/][hinotify]] package.
+
+- =with_nl80211= Support for wireless cards on Linux via nl80211 (all
+ upstream drivers). Enables the Wireless plugin. Requires [netlink] and
+ [cereal] packages.
+
+- =with_iwlib= Support for wireless cards via Wext ioctls (deprecated).
+ Enables the Wireless plugin. No Haskell library is required, but you
+ will need the [[http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html][iwlib]] C library and headers in your system (e.g.,
+ install =libiw-dev= in Debian-based systems or =wireless_tools= on
+ Arch Linux). Conflicts with =with_nl80211=.
+
+- =with_alsa= Support for ALSA sound cards. Enables the Volume plugin.
+ Requires the [[http://hackage.haskell.org/package/alsa-mixer][alsa-mixer]] package. To install the latter, you'll need
+ the [[http://packages.debian.org/stable/libasound2-dev][libasound]] C library and headers in your system (e.g., install
+ =libasound2-dev= in Debian-based systems).
+
+- =with_datezone= Support for other timezones. Enables the DateZone
+ plugin. Requires [[http://hackage.haskell.org/package/timezone-olson][timezone-olson]] and [[http://hackage.haskell.org/package/timezone-series][timezone-series]] package.
+
+- =with_xpm= Support for xpm image file format. This will allow loading
+ .xpm files in =<icon>=. Requires the [[http://cgit.freedesktop.org/xorg/lib/libXpm][libXpm]] C library.
+
+- =with_uvmeter= Enables UVMeter plugin. The plugin shows UV data for
+ Australia.
+
+- =with_weather= Support to display weather information. Enables Weather
+ plugin.
+
+- =all_extensions= Enables all the extensions above.
diff --git a/readme.org b/readme.org
index 959f678..f0ad1a8 100644
--- a/readme.org
+++ b/readme.org
@@ -23,10 +23,9 @@ This is the [[https://xmobar.org/changelog.html][changelog]] for recent releases
* Installation
** From your Systems Package Manager
-Xmobar is probably available from your distribution package manager!
-Most distributions do compile with the =all_extensions= flag, so you
-don't have to. For more information on that, see the [[Optional features][optional features]]
-item below.
+Xmobar is probably available from your distributions package manager!
+Most distributions compile xmobar with the =all_extensions= flag, so you
+don't have to.
*** Arch Linux
@@ -64,9 +63,9 @@ Xmobar is available from [[http://hackage.haskell.org/package/xmobar/][Hackage]]
Starting with version 0.35.1, xmobar now requires at least GHC version
8.4.x. to build. See [[https://github.com/jaor/xmobar/issues/461][this issue]] for more information.
-See below for a list of optional compilation flags that will enable some
-optional plugins. For instance, to install xmobar with all the bells and
-whistles, use:
+See [[file:doc/compiling.org][compiling]] for a list of optional compilation flags that will enable
+some optional plugins. For instance, to install xmobar with all the
+bells and whistles (this is probably what you want), use:
#+begin_src shell
cabal install xmobar --flags="all_extensions"
@@ -74,118 +73,11 @@ whistles, use:
** From source
-If you don't have =cabal-install= installed, you can get xmobar's source
-code in a variety of ways:
-
-- From [[http://hackage.haskell.org/package/xmobar/][Hackage]]. Just download the latest release from xmobar's hackage
- page.
-
-- From [[http://github.com/jaor/xmobar/][Github]]. There are also tarballs available for every tagged
- release on [[https://github.com/jaor/xmobar/releases][Github's releases page]]
-
-- From the bleeding edge repo. If you prefer to live dangerously, just
- get the latest and greatest (and buggiest, I guess) using git:
-
- #+begin_src shell
- git clone git://github.com/jaor/xmobar
- #+end_src
-
-If you have cabal installed, you can now use it from within xmobar's
-source tree:
-
-#+begin_src shell
- cabal install --flags="all_extensions"
-#+end_src
-
-There is also a barebones =stack.yaml= file that will allow you to
-install the xmobar executable with
-
-#+begin_src shell
- stack install
-#+end_src
-
-See the =stack.yaml= file for the enabled extensions. You can also pass
-them to =stack= directly:
-
-#+begin_src shell
- stack install --flag xmobar:all_extensions
-#+end_src
-
-** Optional features
-
-You can configure xmobar to include some optional plugins and features,
-which are not compiled by default. To that end, you need to add one or
-more flags to either the cabal install command or the configure setup
-step, as shown in the examples above.
-
-Extensions need additional libraries (listed below) that will be
-automatically downloaded and installed if you're using cabal install.
-Otherwise, you'll need to install them yourself.
-
-- =with_dbus= Enables support for DBUS by making xmobar to publish a
- service on the session bus. Requires the [[http://hackage.haskell.org/package/dbus][dbus]] package.
-
-- =with_threaded= Uses GHC's threaded runtime. Use this option if xmobar
- enters a high-CPU regime right after starting.
-
-- =with_utf8= UTF-8 support. Requires the [[http://hackage.haskell.org/package/utf8-string/][utf8-string]] package.
-
-- =with_xft= Antialiased fonts. Requires the [[http://hackage.haskell.org/package/X11-xft/][X11-xft]] package. This
- option automatically enables UTF-8. To use XFT fonts you need to use
- the =xft:= prefix in the =font= configuration option. For instance:
-
- #+begin_src haskell
- font = "xft:Times New Roman-10:italic"
- #+end_src
-
- Or to have fallback fonts, just separate them by commas:
-
- #+begin_src haskell
- font = "xft:Open Sans:size=9,WenQuanYi Zen Hei:size=9"
- #+end_src
-
-- =with_mpd= Enables support for the [[http://mpd.wikia.com/][MPD]] daemon. Requires the [[http://hackage.haskell.org/package/libmpd/][libmpd]]
- package.
-
-- =with_mpris= Enables support for MPRIS v1/v2 protocol. Requires the
- [[http://hackage.haskell.org/package/dbus][dbus]] and [[http://hackage.haskell.org/package/text][text]] packages.
-
-- =with_inotify= Support for inotify in modern Linux kernels. This
- option is needed for the MBox and Mail plugins to work. Requires the
- [[http://hackage.haskell.org/package/hinotify/][hinotify]] package.
-
-- =with_nl80211= Support for wireless cards on Linux via nl80211 (all
- upstream drivers). Enables the Wireless plugin. Requires [netlink] and
- [cereal] packages.
-
-- =with_iwlib= Support for wireless cards via Wext ioctls (deprecated).
- Enables the Wireless plugin. No Haskell library is required, but you
- will need the [[http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html][iwlib]] C library and headers in your system (e.g.,
- install =libiw-dev= in Debian-based systems or =wireless_tools= on
- Arch Linux). Conflicts with =with_nl80211=.
-
-- =with_alsa= Support for ALSA sound cards. Enables the Volume plugin.
- Requires the [[http://hackage.haskell.org/package/alsa-mixer][alsa-mixer]] package. To install the latter, you'll need
- the [[http://packages.debian.org/stable/libasound2-dev][libasound]] C library and headers in your system (e.g., install
- =libasound2-dev= in Debian-based systems).
-
-- =with_datezone= Support for other timezones. Enables the DateZone
- plugin. Requires [[http://hackage.haskell.org/package/timezone-olson][timezone-olson]] and [[http://hackage.haskell.org/package/timezone-series][timezone-series]] package.
-
-- =with_xpm= Support for xpm image file format. This will allow loading
- .xpm files in =<icon>=. Requires the [[http://cgit.freedesktop.org/xorg/lib/libXpm][libXpm]] C library.
-
-- =with_uvmeter= Enables UVMeter plugin. The plugin shows UV data for
- Australia.
-
-- =with_weather= Support to display weather information. Enables Weather
- plugin.
-
-- =all_extensions= Enables all the extensions above.
+See [[file:doc/compiling.org][compiling]].
* Running xmobar
-You can now run xmobar with:
+You can run xmobar with:
#+begin_src shell
xmobar /path/to/config &