• Stars
    star
    269
  • Rank 152,662 (Top 4 %)
  • Language
    C
  • License
    GNU Lesser Genera...
  • Created over 11 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Tiling tabbed window manager

Notion

Build Status

Copyright (c) the Notion team 2010-2019. Copyright (c) Tuomo Valkonen 1999-2009.

https://notionwm.net

Building and installing

  1. Get the source code.
git clone https://github.com/raboof/notion
  1. In addition to the standard C library headers and the GNU toolchain, you will need the following tools and libraries for building Notion.

    If you want to build the mod_xinerama and mod_xrandr module, which provide enhanced multihead support, you will further need the following libraries.

    If you want to enable support for Xft fonts, you need libxft:

    On a Debian based system, these dependencies are provided by the following packages. build-essential lua5.4 liblua5.4-dev libx11-dev libxext-dev libsm-dev gettext libxinerama-dev libxrandr-dev libxft-dev

  2. If the default build settings don't suit you, review system-autodetect.mk and either override values from the environment or in a newly added system-local.mk or make changes directly to system-autodetect.mk.

  3. If you want to build some extra modules now or do not want to build some of the standard modules, edit modulelist.mk.

  4. Run make. Note that make here refers to GNU make which is usually named gmake on systems with some other implementation of make as default.

  5. Run make install, as root if you set $PREFIX in system.mk to a directory that requires those privileges.

    YOU SHOULD NOT SKIP THIS STEP unless you know what you are doing. Notion will refuse to start if it can not find all the necessary uncorrupt configuration files either in $PREFIX/etc/notion/ or in ~/.notion/.

  6. How to best set up startx or whatever to start Notion instead of your current window manager depends on your system's setup. A good guess is creating or modifying an executable shell script .xsession in your home directory to start Notion. This should usually (but not always) work if you're using some X display/login manager. If ~/.xsession does not help and you're not using a display manager, modifying ~/.xinitrc or creating one based on your system's xinitrc (wherever that may be; use locate) may be what you need to do. Note that unlike .xsession, a .xinitrc should usually do much more setup than simply start a few programs of your choice.

Some optional installation steps

  1. The F5 and F6 keys expect to find the program run-mailcap to select a program to view a file based on its guessed MIME type. Unless you are using Debian, most likely you don't have it, but any other similar program (or just plain old text editor) will do as well -- just modify the bindings in cfg_notioncore.lua. Of course, if you don't want to use the feature at this time or never, you may simply skip this step. If you want to use run-mailcap, it can be found from the following address, as a source tarball as well:

    <http://www.debian.org/Packages/unstable/net/mime-support.html>
    
  2. Notion supports caching known man-pages in a file for faster man-page completion in the F1 man page query. To enable this feature, you must periodically run a cronjob to build this list. To create a system-wide man page cache, run crontab -e (might vary depending on platform) as root and enter a line such as follows:

     15 05 * * * $SHAREDIR/ion-completeman -mksyscache
    

    Replace $SHAREDIR with the setting from system.mk (or system-ac.mk if you used autoconf). This example runs daily at 05:15, but you may modify the run times to your needs; see the crontab manual.

    If you can't or do not want to build a system-wide man page cache, run crontab -e as your normal user and replace -mksyscache with -mkusercache above. The cache file will be ~/.notion/mancache.

    It may also be useful to run ion-completeman with the suitable -mk*cache argument once manually to build the initial cache.

    If the MANPATH environment variable is not set on your system and it does not have the manpath command (or it does not print anything sensible), you may also want to set the ION_MANPATH environment variable to the list of paths where the system stores manual pages.

Configuration

For help on modifying Notion's configuration files, PLEASE READ THE DOCUMENT "Configuring and extending Notion with Lua" available from the Notion web page, listed at the top of this file.

Questions, comments, problems?

If the available documentation does not answer your question, please join our IRC channel, #notion on freenode.

Contributing

Contributions to Notion are very welcome! Please join us on GitHub. The Notes for the module and patch writer might be helpful.

Credits

Notion was written by the Notion team, based on Ion which was written by Tuomo Valkonen.

The dock module was written by Tom Payne and Per Olofsson.

utils/ion-completefile/ion-completefile.c is based on editline, (c) 1992 Simmule Turner and Rich Salz. See the file for details.

The code that de/fontset.c is based on was apparently originally written by Tomohiro Kubota; see http://www.debian.org/doc/manuals/intro-i18n/ch-examples.en.html#s13.4.5.

Various (minor) patches have been contributed by other individuals unlisted here. See the mailing list archives and the darcs source repository history (previously at http://iki.fi/tuomov/repos/). For translators see the individual .po files in po/.

See libtu/README for code by others integrated into libtu.

More Repositories

1

nethogs

Linux 'net top' tool
C++
2,761
star
2

realtimeconfigquickscan

Linux configuration checker for systems to be used for real-time audio
Perl
257
star
3

dualfisheye2equirectangular

Convert 'dual-fisheye' 360 image material to equirectangular mapping
C
113
star
4

sfarkxtc

Basic sfArk decompressor
C++
92
star
5

sfArkLib

Original library for SoundFont compression
C++
83
star
6

connbeat

Agent exposing connection-related information, based on the Elastic Beats framework
Go
55
star
7

beats-output-http

HTTP output producer for the Elastic Beats framework
Go
44
star
8

zshprof

zsh script profiling
OCaml
40
star
9

sbt-reproducible-builds

Make your published artifacts bit-by-bit reproducible, and compare with other certifications
Scala
31
star
10

serverless-wiki

A wiki that tries to require as little logic on the server as possible
Python
18
star
11

todo-backend-akka

www.todobackend.com implementation based on scala, akka-http and akka-persistence
Scala
16
star
12

xrandr

xrandr improvements
C
10
star
13

todo-backend-ocaml

OCaml
9
star
14

reszoom

Chrome extension to automatically adjust page zoom settings based on screen resolution
JavaScript
9
star
15

learnyouacity

Game to teach yourself where the streets of a city are, web/OSM-based
JavaScript
9
star
16

akka-http-backpressure

Slides and code for reactive streams, backpressure, akka streams and akka http talk
Java
6
star
17

akka-grpc-intro-video

Scala
6
star
18

ewd

Presenting Edsger W. Dijkstra's writings in a more appealing way
HTML
6
star
19

unsfark

DEPRECATED - use https://github.com/raboof/sfArkXTm to uncompress sfArk files instead
C
4
star
20

xfce4-panel

from git://git.xfce.org/xfce/xfce4-panel
C
4
star
21

auditcalltree

Dispatcher for the Linux auditd that shows the process hierarchy leading up to the process performing the audited action.
C
4
star
22

akka-grpc-http-video

Scala
4
star
23

scala-icalendar

icalendar (RFC5545) library for scala
Scala
4
star
24

debbugs

Debian BTS
Perl
3
star
25

notion-doc

Documentation for the 'notion' project
TeX
3
star
26

SHA2017Game

Game played at SHA2017 using the electronic badge
Python
3
star
27

jack_interposer

Library to check at run-time whether an application makes non-RT-safe calls inside JACK's process() callback
C
3
star
28

alsa-midi-latency-test

alsa midi latency test
C
3
star
29

reproducible-builds-jvm-stripper

Library to make your JVM artifacts byte-for-byte reproducible.
Java
2
star
30

AlgoScore

graphical environment for algorithmic composition
C
2
star
31

supybot

Python
2
star
32

xf86-video-nouveau

xorg nouveau nvidia driver
C
2
star
33

xmltv2ical

Automatically exported from code.google.com/p/xmltv2ical
Scala
1
star
34

spray-json-on-scala3

Using spray-json from a scala3 project
Scala
1
star
35

linux-debugging-tools-zine-print

Preparing Julia Evans' "Linux debugging tools you'll love" zine for print
Makefile
1
star
36

fitnesse-meetup-slimtables

Examples for using various FitNesse SliM table types
Java
1
star
37

github-ticker.js

JavaScript
1
star
38

treeview

Display a plaintext tree (like output from xwininfo -tree, lsusb -v, lspci -v, etc) in an easy-to-browse manner
Haskell
1
star
39

nix-TSDZ2-Smart-EBike-1

Nix derivation for building TSDZ2-Smart-EBike-1
Nix
1
star
40

vormenstoof

silly language
Scala
1
star
41

ectrace

Trace a Scala ExecutionContext
Scala
1
star
42

leveldb-http

Expose LevelDB through a HTTP interface
JavaScript
1
star
43

hacker-hotel-reproducible-builds-talk

Slides for the Reproducible Builds talk at Hacker Hotel 2019
CSS
1
star
44

cloudflow-grpc-experiment

experimenting with using cloudflow and gRPC together
Scala
1
star
45

akka-blocking-dispatcher

demo code for blocking dispatcher instructions
Scala
1
star
46

mastodon-bot-nix

resources to help package mastodon-bot into a nixos image
Makefile
1
star
47

pitch-match-ear-trainer

'pitch match' ear trainer game
Elm
1
star
48

akka-actor-metrics

Scala
1
star
49

reproduce-akka-http-2851

(so far failed) attempt to reproduce https://github.com/akka/akka-http/pull/2851
Scala
1
star