Sample Newsletter

Here is a sample of the newsletter we will send you every Monday. It will keep you up to date to the activity of the Github repos you starred without cluttering your Github notifications stream.

Voila

New releases

  • Releasing Voila 3.4.1

    This version comes with improvements to the optimizations and the compiler, which now ships with the source needed, so git isn’t needed anymore.

ace-window

Issues & Pull Requests

  • Add GPLv3 license file

    The GPL requires distributing the full license with the package.

    Thanks!

  • Add function to call ace-window with forced aw-dispatch

    Hi, I apologize if this was already asked. I use ace-window with aw-dispatch-always set to nil, as I really like the use of M-o as a switch windows when I have only 2 windows. However, I also find very comfortably having the dispatchable actions (like v to split a window). Without changing the value of aw-dispatch-always, I thought that something like this can be added:

    (defun ace-window-manual-dispatch (arg)
      "Calls `ace-window' with ARG asking for the dispatch, even if `aw-dispatch-always' is nil.
    
    This could be useful to use the advanced commands"
      (interactive "p")
    (let ((aw-dispatch-always t))
      (ace-window arg)
      ))
              

    I use that in my init file and it works, and I bound that to C-M-o, in order to have like a “super” ace-window call. If that is useful, I would be very happy to create a pull request for it.

doom-modeline

Issues & Pull Requests

  • [Feature Request] Is it possible to align the right hand side of the mode-line precisely with a variable-pitch font? enhancement

    I know this is a rather minor thing as noted in the quote below, but I wondered if it is still possible because I try to use a variable-pitch font where possible.

    Here was a previous patch/comment related to it in https://github.com/seagle0128/doom-modeline/issues/301#issuecomment-584762592

    I committed a patch to support different fonts in mode line. Just need to set mode-line and mode-line-inactive face. All icons should be Okay now. The right position of the segment may not be accurate but I think it’s a minor issue.

    Depending on which characters one uses in the right hand side, the offset to the right window margin is varying a lot:

    image

    I tested with this code:

    (doom-modeline-mode 1)
    (set-face-attribute 'mode-line nil
                        :font "Avenir" ; present on macOS but I suppose any other variable-pitch font would reproduce
                        :height 201)
              

    I don’t know if this is possible because (string-width) is used in (doom-modeline-def-modeline) which does not return pixels. And I suspect that it might be a slight performance hit as one needs to calculate the right hand side pixel width and then subtract it from the total window pixel width.

    Still I am wondering if it could be implemented without impacting performance too much as all the ‘big’ non-Emacs code editors have it in their mode-line variant :)


    This is possibly related to https://github.com/seagle0128/doom-modeline/issues/487

tabled

Issues & Pull Requests

  • Add a builder interface

    Original issue was addressed by @sadbuttrueasfuck in a reddit thread https://www.reddit.com/r/rust/comments/rs9bm2/tabled_v040_an_easy_to_use_library_for_pretty/

  • Create a style from pattern enhancement

    We could create a style from pattern.

    Like having a pattern for line. And repeat it corresponding of table length.

    I am note sure now how it may look like but here’s a general idea.

    PatternStyle::new("=+")
    
    =+=+=+=+=
    * 1  23 *
    =+=+=+=+=
              

  • Recognize formatting options in Display implementation enhancement good first issue tracking

    std::fmt::Formatter has a bunch of options which can be determined. We could change the table according to these options.

    The changes may be done here. https://github.com/zhiburt/tabled/blob/0dbb4263cf9f86ead3d934558f1f8d80274d2a05/src/lib.rs#L304-L308

    • [ ] align Align could apply an Alignment for each cell.
    • [ ] width Width ideally would need to set a width of the whole table including length of separators. But it’s not clear then how to behave in cases where minimum possible length is 5 but 3 was specified. Print nothing?

    There’s more options out there but I don’t see there use case yet. But it might be there.

  • Add a way to print a list of tables in line enhancement good first issue

    I noticed that there’s no easy way to print 2 tables in a row. Like this

    ┌───────────────┬─────────┬──────────┬───────────┐        ┌───────────────┬─────────┬──────────┬───────────┐
    │ temperature_c │ wind_ms │ latitude │ longitude │        │ temperature_c │ wind_ms │ latitude │ longitude │
    ├───────────────┼─────────┼──────────┼───────────┤        ├───────────────┼─────────┼──────────┼───────────┤
    │      16       │  3000   │ 111.111  │  333.333  │        │      16       │  3000   │ 111.111  │  333.333  │
    │      -20      │   300   │  5.111   │  7282.1   │        │      -20      │   300   │  5.111   │  7282.1   │
    │      40       │   100   │    0     │     0     │        │      40       │   100   │    0     │     0     │
    └───────────────┴─────────┴──────────┴───────────┘        └───────────────┴─────────┴──────────┴───────────┘
              

    We could create a different type for achieving it.

    Or we could create a type which implements Tabled and wraps Table. So essentially a 2 tables inside 1 would be printed. Like this

    let line = Table::new([ table1, table2 ])
              

    Actually it will not work because Table::new takes rows not columns

    If anyone have an idea according to the design please feel free to discuss.

  • Switch from String backend to Cow<str>

    Change of Tabled trait to

    trait Tabled {
        fn fields(&self) -> Vec<Cow<'_, str>>;
        fn headers() -> Vec<Cow<'static, str>>;
    }
              

    The idea that we don’t waste memory by making copies of &str.

    Though the interface became less versatile…

    I guess there must be done some refactoring then.

  • Allow completely custom border

    It could be cool to have an ability to have a completely custom border with text squeezed in etc.

    Example

    ---Hello World---
    ...
              

themes

Issues & Pull Requests