- Include category in cleaned text properties
- Input processing does not fail when input has
read-only
text property set to t moc-focus-toggle-invisibility
will callredraw-display
to make the invisibility spec have visible effectmoc-focus-toggle-invisibility
and playback viamoc-focus-kill-ring-save
will remember the current invisibility spec, not the one used when the buffer is initially displayed
- Better checks for
visual-wrap-prefix-mode
- Avoid warnings for faces
We are beginning to tag releases. It’s almost ready. It should be ready, but in case it is not, don’t just blame me. File issues.
moc-frame-text-scale-mode
and related commands- Only scales the default face size attribute in the selected frame
- Also added to
moc-dispatch
- Playback bug in the version check
- Bug in text scaling in
moc-dispatch
The big story for this version is to re-implement the excerpt processing. The changes enable visual lines and playback to integrate much more smoothly.
The implementation chosen uses a temporary buffer and Emacs text editing functions, building on top of Emacs text processing awareness. As Emacs grows smarter, so will MoC.
🚧 There is still a lot of instability around continuation strategies and playback expressions.
A 1.0 release is within view. After some actual use of the playback expressions, I intend to stabilize the current state of work.
moc-focus-playback-version
to make it possible to compare the playback version of a playback expression. Adds the:version
key to playback expressions.:continuation
Key supports playback with a continuation strategy. Highly experimental and subject to change without notice before 0.7.0 🚧
- Keys for playback have changed:
:version
so we can error when the MoC version is wrong and let the user know they need to re-generate expressions:continuation
to tell the now officially namedmoc-focus-replay
function how to handle long lines:string:
->:text
because.. it is a string when passing but text is a more common name for buffer contents, which are not strings.
obscure
->occlude
moc-focus
now trims unwanted whitespace:- indentation
- empty leading and trailing lines
moc-focus
can respect visual fill columns (🚧 experimental)moc-focus
may not have restored the window configuration properly since the mode activation order changes. This has been fixed.
In preparation for trimming, overlay support has been rearranged to perform translation and cleaning of overlays prior to first display. By passing in serialized overlays from the interactive command, serialization and playback was more natural to support.
🚧 The playback structure will likely change again after trimming support is added.
- Serialize source overlays for playback
- Clean source overlays to remove information that displays poorly in the focus buffer
- Toggling of the invisibility spec and focus overlays
:beg
and:end
are no longer keys formoc-focus
playback- Centering is now accomplished with specified space
- But nobody has any idea how to do specified space above a line without the background extending to cover the created space.
- Multi-line regions selected with leading whitespace will have the whitespace included. (Later trimming support will remove leading whitespace that is extraneous)
- Improper minor mode state initialization and tracking would turn
moc-subtle-cursor-mode
on aftermoc-focus
buffer was dismissed - Set window fringes and margins to zero to avoid visual “bars” in some themes
This release series will make mc moc
ready for publishing on package archives.
moc
. Hopefully this is the final choice. It’s not totally up to me.
moc-screenshot-type
customize option added. Defaults tosvg
.moc-focus-base-buffer
local variable in MoC buffers makes it easier to use buffer locals from the base buffer even when invoking MoC multiple times and otherwise losing those states
moc-screenshot-path
option was renamed tomoc-screenshot-dir
mc-focus
playback now uses:plist
style keyword args. The new keys::invisibility-spec
:overlays
:beg
:end
:string
🚧 Experimental! Might change to:text
or:spans
depending on what happens with trimming:highlights
moc-subtle-cursor-mode
no longer blinks from non-motion commands
Nearly a complete rewrite. After figuring out what belongs in dslide, this package has become more clearly defined.
The moc-focus
command remains the focal point. Many of the tools like setting the size, hiding the cursor, or changing faces all serve to enhance moc-focus
.
moc-dispatch
to control all the thingsmoc-focus-highlight
andmoc-focus-un-highlight
now support multiple highlighted spansmoc-focus
now hasmoc-focus-dispatch
to provide a magit like help / info interface to quickly learn the MoC controlsmoc-focus-default-remaps
will applymoc-face-remap
presets so you don’t have to manually do common remaps. The remaps are still interactive and can be manually tweaked for edge cases.moc-focus-obscure
now makes it possible to hide text temporarily. This can improve certain editing workflows.
moc-face-remap
is the old org mode remapping. This version is flexible for all situations and supports multiple preset profiles- The variables controlling
moc-focus
have been renamed / revamped. The new variables are:moc-focus-max-width-factor
moc-focus-max-height-factor
moc-focus-max-area-factor
moc-focus-max-scale
These controls are both more flexible and intuitive than whatever was there before. Naming is more consistent. Please update. 🎅
- Everything related specifically to org mode like hiding markup
- Well, a lot more was fixed than is newly broken. 0.2.0 was barely a package at all