Commit graph

1320 commits

Author SHA1 Message Date
Vincent Zhang
0706998018 Fix bug report template. 2021-08-24 19:32:32 +08:00
Vincent Zhang
1f651fe2f3 Fix bug report template. 2021-08-24 19:29:08 +08:00
Vincent Zhang
dbc25f041b Fix bug report template. 2021-08-24 19:25:19 +08:00
Vincent Zhang
0af985ade5 Improve bug report template. 2021-08-24 19:17:20 +08:00
Vincent Zhang
36609a9136 Fix UT. 2021-08-24 18:20:31 +08:00
Vincent Zhang
5f308333a2 Fix UT. 2021-08-24 17:51:23 +08:00
Vincent Zhang
5ed7a1bd0e Set doom-modeline-project-detection to auto. 2021-08-24 00:06:28 +08:00
Prashant Vithani
749e860d4e
Use file-local-name to get VC state (#464)
Recently the [change in vc-git in emacs](3572613550)
broke modeline state in remote files as it prepends a string in the
beginning and cannot retrieve relative file path to pass as git command
argument.

The fix here ensures that the prefix in the beginning of the file path
doesn't break the `(vc-state)` command by passing local file name of the
remote files.

Fix #463
2021-08-23 12:30:03 +08:00
Vincent Zhang
f5a994a52c project-roots is obsolete. 2021-08-21 17:17:25 +08:00
Vincent Zhang
ffb9e38828 Enable icons by default. 2021-08-07 17:22:36 +08:00
Sean Farley
d2d1825b9a
readme: fix instructions for mu4e segment (#456) (#461) 2021-08-05 17:09:57 +08:00
Vincent Zhang
0ad2e966ab Update logos. 2021-08-05 05:19:16 +08:00
Vincent Zhang
68b49a0505 Update logos. 2021-08-05 05:08:08 +08:00
Vincent Zhang
8cbb0457f3 Fix UT issue. 2021-07-22 18:13:39 +08:00
Vincent Zhang
233bad9db5 Fix UT issue. 2021-07-22 18:03:41 +08:00
Vincent Zhang
d0b8dea080 Fix UT issue. 2021-07-22 17:55:00 +08:00
Vincent Zhang
51af51d248 Enhance timemachine segment. 2021-07-22 02:33:30 +08:00
Vincent Zhang
77cd244ae5 Don't display icons in TUI. 2021-07-21 16:45:40 +08:00
Vincent Zhang
06606e0b8b Support 27.2 in CI. 2021-07-08 00:17:53 +08:00
_7696122
30f17d303b
Add sml-modeline to buffer-position (#458) 2021-07-06 14:04:36 +08:00
Vincent Zhang
07d03c4626 [Feature] Support citre-mode. 2021-06-28 01:31:51 +08:00
Vincent Zhang
51c1bb94f1 Bump version. 2021-06-21 02:16:19 +08:00
Vincent Zhang
4938937d86 [Enhancement] Respect all-the-icons-font-families.
Close #395.
2021-06-21 02:15:04 +08:00
Vincent Zhang
d785f37163 Fit modeline items under emacsclient with daemon.
Close #455.
2021-06-20 02:56:46 +08:00
Vincent Zhang
a9186b7cee Fix #455: Fit modeline items under emacsclient with daemon. 2021-06-19 04:57:06 +08:00
Vincent Zhang
7b93a4188f The font width is always 1 in terminal. 2021-06-19 03:55:36 +08:00
Vincent Zhang
d514f43679 Refactor. 2021-06-08 13:16:28 +08:00
Vincent Zhang
1660910b75 [Feature] Support mlscroll.
Close #452.
2021-06-06 23:32:37 +08:00
Vincent Zhang
0e98271159 [Refactor] bar and hud. 2021-05-27 16:40:13 +08:00
Vincent Zhang
f963cbb42f [Refactor] Restore to original format while disabling. 2021-05-27 15:03:11 +08:00
Steven Allen
462c3a617e
(De)Activate modeline for all existing buffers (#448)
Instead of (de)activating the modeline for the current buffer and a
couple of special-cased buffers, (de)activate it for all open buffers.
This:

1. Ensures that enabling/disabling the modeline at any point sets the
   modeline everywhere.
2. We actually catch all buffers at start, regardless of startup order.
   Without this patch, the "*Async-native-compile-log*" doesn't get a
   modeline.
2021-05-27 14:40:22 +08:00
Vincent Zhang
b8e24f1a75 Revert "New option: doom-modeline-bar."
This reverts commit 1784e392d7.

Close #447.
2021-05-27 02:33:14 +08:00
Vincent Zhang
9b5cfe3a27 Exclude minibuffer and child frames in window-number segment. 2021-05-26 04:20:54 +08:00
marienz
0466d88d71
Add a minimum height for the hud's middle part (#445)
This looks nicer, and it also makes sure it is not possible to try to
draw an image with a negative height for the middle part (which might
happen if window-start and buffer-size are out of sync).
2021-05-21 19:22:37 +08:00
Vincent Zhang
3b393766f4 Fix merge issue. 2021-05-17 12:11:38 +08:00
marienz
8c49ddf12c
Improve cache invalidation for bar and hud segment (#442)
The cached bar segment is only updated if it is active (that is: the hud
is not active), and drawing the segment relies on the cache being
up-to-date. This could cause problems if the bar is reconfigured while
inactive, and then activated.

Fix this by updating the cache when drawing if not populated yet, and
changing `doom-modeline-refresh-bars` to unconditionally invalidate it.

Both the bar and hud segment were invalidating their cache from
`window-configuration-change-hook`, which should not be necessary: the
bar segment should not care about window configuration at all, and the
hud segment should detect buffer position changes correctly on redraw.
These extra invalidations mask problems like the one this commit fixes.

Remove the unnecessary invalidations.

Co-authored-by: Vincent Zhang <seagle0128@gmail.com>
2021-05-17 02:00:47 +08:00
Vincent Zhang
1784e392d7 New option: doom-modeline-bar.
Whether to display the bar to indicate active and inactive windows.
It's only respected in GUI.
2021-05-16 22:27:49 +08:00
Vincent Zhang
22563e68df Refactor. 2021-05-16 22:09:24 +08:00
Vincent Zhang
e70da09427 Bump version. 2021-05-15 18:40:45 +08:00
Vincent Zhang
b5d38aa711 Improve hud bar. 2021-05-15 18:39:53 +08:00
Vincent Zhang
a89ac6c7a1 New option: doom-modeline-hud.
Whether to use hud instead of default bar. It's only respected in GUI.
2021-05-15 03:52:00 +08:00
marienz
7ed4dbdf72
Add a "hud" segment inspired by powerline (#439)
This is a small graphical indicator showing the rough size of and
position in the current buffer. It is not used by default in any
modeline, but is intended to be usable as a replacement of the "bar"
segment.

To avoid performance problems, cache the HUD images as window
parameters. When rendering the modeline, we check if the buffer
position (or size) has changed enough to change the image, and reuse the
image if not. This check should be similar in performance to rendering
buffer size or position. Changing bar width or height forcibly
invalidates all cached images, so they get redrawn as the modeline in
each window is rendered.

This only adds the segment. To use it, define a new modeline.
2021-05-14 23:57:54 +08:00
Vincent Zhang
a62a95d49a Update comments and page breaks. 2021-05-13 22:26:04 +08:00
Vincent Zhang
5cb0ff7a38 Bump version. 2021-05-13 22:10:14 +08:00
Vincent Zhang
0531669f59 Format and eliminate warnings. 2021-05-13 22:09:27 +08:00
Naofumi Yasufuku
a7f376d4bb
Show tab-bar workspace-name even if tab-bar-show is nil (#438)
If tab-bar is hidden by setting tab-bar-show nil, tab-bar-mode is nil
but still new tabs can be created by tab-bar-new-tab.  Modeline
workspace-name should be displayed even if tab-bar is hidden.

workspace-name doesn't bother you when tab-bar has only one tab.
2021-05-12 02:29:06 +08:00
Vincent Zhang
e1ca326ae9 Fix #437: When visual-fill-column mode is activated perspectives are not shown. 2021-05-10 12:40:08 +08:00
Naofumi Yasufuku
12f1ab19b9
Fix doom-modeline-env command to display python version under pipenv (#436)
This reverts "pipenv run <python> --version" command generation code
removed by #391 patch.
2021-05-02 00:28:01 +08:00
marienz
e898c0d396
Support hiding buffer encoding when at default (#435)
Only showing the buffer encoding and EOL style when they are
interesting (not at their default values) makes them stand out more when
needed, and frees up space when not. Users currently cannot hide the
coding-system and EOL segments separately, and would have to watch for
changes to `buffer-file-coding-system` to toggle visibility. Since
doom-modeline reads these values already anyway, we can easily add
support.

Add a new value `'nondefault` for `doom-modeline-buffer-encoding` to
enable this feature.

Add two new settings to set the default. Detecting the user's defaults
is tricky: Emacs does not use a single variable for the default coding
system but a prioritized list, and hooks can (and do, on Windows) change
the defaults. For now, hardcode reasonable "default defaults" and allow
the user to customize them.

Reorganize slightly to minimize work done if we choose not to display a
segment. Behavior when the new feature is not used should be unchanged.
2021-04-27 22:59:10 +08:00
marienz
92f141f91a
Simplify image creation (#432)
Switch from an XPM to a PBM bitmap: PBM is easier to generate and easier
for Emacs to decode. Emacs has PBM support built-in so it's always
available (keep the `image-type-available-p` check in case this changes).

Stop creating a temporary list-of-lists to iterate over.

Rename `doom-modeline--make-xpm` to `doom-modeline--make-image` because
it's no longer creating an XPM, and the type of the bitmap should not
matter to callers.
2021-04-19 17:58:09 +08:00