4.0.0
We are proud to announce version 4.0.0 of Notion!
Notion is a tiling, tabbed window manager for X11. See the website for more information.
Among many other things (see below for a detailed list), this new major version of Notion features a revamp of the default keybindings, and our return to the LGPL as a license.
Notion 4 has changes in (default) behavior compared to Notion 3. If you are upgrading from Notion 4, especially if you are using any custom configuration or scripts, be sure to check out the migration guide.
What's New
- docker: make clean before make and allow call from other directory (#256) @knixeur
- Remove warning (fixes #252) (#253) @raboof
- Fix window_dialog_float not taken into account (#248) @vincentvidal
- Allow creating the statusbar while brushes aren't available yet (#239) @raboof
- Remove a tiling when its last frame is removed (#231) @raboof
- Order module loading the same way in cfg_notion and cfg_defaults (#234) @sebhz
- Change query_runfile (View) to use xdg-open by default (#209) @knixeur
- Don't let the dock take up space unless populated (#208) @raboof
- Use an embedded dock by default, instead of mod_statusbar (#142) @raboof
- frame-draw: draw region display name during FRAME_SHOW_NUMBERS (#152) @mskorzhinskiy
- Add "based_on" to contrib/styles (#147) @wilhelmy
- Fix use of 'unpack' on Lua >= 5.2 (#127) @knixeur
- Ignore minimum client window sizes by default (#110) @raboof
- Fix reparenting of 'input' objects (#111) @raboof
- Allow disabling focus-follows-mouse (#108) @raboof
- Show 'tab hints' when entering META.."K" submap (#105) @raboof
Documentation
- Document developing on Nix (#246) @raboof
- Document version scheme (#245) @raboof
- Add some more categories for the release notes (#232) @raboof
- Use xdg-open for the inline docs as well (#214) @raboof
- Code of conduct (#196) @raboof
- Generate binding docs in the manpage (#178) @raboof
- Make sure WMPlex keybindings are in the generated docs (#183) @raboof
- Make sure live docs have a '.html' extension (#166) @raboof
- Credits (#170) @wilhelmy
- Generate keybinding documentation (#162) @raboof
- Remove manually maintained changelog (#87) @raboof
- Add Contributing section to README (#83) @raboof
Keybindings
- Install legacy bindings (#255) @raboof
- Make META+F9 immediate, ALTMETA+F9 query-based (#223) @raboof
- Resolve conflicting bindings for Meta+N (#187) @raboof
- Drop some unnecessary 'ALT' modifiers (#188) @raboof
- Generate binding docs in the manpage (#178) @raboof
- Make sure WMPlex keybindings are in the generated docs (#183) @raboof
- Changed ctxmenu keybindings to
M
fromC
(#182) @pigmej - Default to Mod4+Shift for altmeta (#179) @raboof
- Generate keybinding documentation (#162) @raboof
- Query for keybinding (#151) @raboof
- Make META.."W" go 'down' rather than 'up' (#156) @raboof
- New keybindings (#143) @raboof
Notionflux
- notionflux: complete past colon (#219) @wilhelmy
- Global safe tempdir (#167) @wilhelmy
- notionflux: potential use-after-gc bug (#163) @wilhelmy
- read and write history from/to a file (#160) @wilhelmy
- reconnect if notion was restarted (#159) @wilhelmy
- Send output of 'print' statements in notionflux scripts to the invoking shell (#134) @wilhelmy
- notionflux: Allow passing a filename, which is sent as dofile() stmt (#126) @wilhelmy
- Notionflux rewrite: support REPL, line-editing, etc (#118) @wilhelmy
Looks
- Don't override fonts in etc/lookcommon_* (#217) @raboof
- Fix high-dpi look, make sure it is loaded depending on width (#199) @raboof
- Add look_paper.lua from paperwm (#201) @wilhelmy
- Determine 'based_on' automatically by prefix (#197) @raboof
- newviolet_hidpi was missing in Makefile, also leave look.lua as is (#191) @knixeur
- Load look with larger font when on wide screen (#189) @raboof
Under the hood
- Document developing on Nix (#246) @raboof
- Document version scheme (#245) @raboof
- Add utils/docker with sample dockerfiles (#249) @knixeur
- Debugging (#243) @wilhelmy
- Support custom config and ion-statusd under xephyr (#236) @raboof
- Add script to run with xephyr in gdb (#229) @raboof
- Fail when nroff is not found (#216) @raboof
- Add diagnostics when test fails (#215) @raboof
- Cleanup: quiet '-Wextra-semi-stmt' clang warning (#198) @ideasman42
- Change references from sourceforge to github (#192) @knixeur
- Honour DESTDIR (#185) @raboof
- handy xephyr script (#176) @dradetsky
- add flag -nodefaultconfig to prevent loading system default dirs (#174) @dradetsky
- ignore more things (#175) @dradetsky
- tempdir: Avoid strlen(NULL) in case the tempdir was never created (#168) @wilhelmy
- Remove some warnings (#150) @raboof
- Support submaps (binding and entering) when no kpress binding is defined (#137) @raboof
- Add contributing guidelines (#138) @raboof
- Clarify Notion is LGPL (#130) @raboof
- Improved Lua version detection and Lua 5.3 support (#132) @wilhelmy
- Add 'release drafter' GitHub plugin (#120) @raboof
- Improved string representation of Notion objects in the REPL (#123) @wilhelmy
- etc/Makefile: honour $(DESTDIR) like every other Makefile (#122) @wilhelmy
- Use $(shell) for pkg-config xft in Makefile (#117) @wilhelmy
- Support for showing tab numbers while a key is pressed (#103) @raboof
- Produce libextl exports in deterministic order (#100) @raboof
- Replace some references to sf.net (#82) @raboof
- Use NOTION_RELEASE environment value if defined as version and sh compat (#86) @knixeur