Skip to content

Ligatures for common progress bars #1183

Description

@tonsky
No description provided.

Activity

  1. tonsky commented on Jan 16, 2021

    @tonsky
    OwnerAuthor

    npm (the filled part is displayed with background color instead of character):

    ⸨          ░░░░░░░░⸩ ⠼
    

    gauge:

    [#####.....]
    
  2. tonsky commented on Jan 16, 2021

    @tonsky
    OwnerAuthor

    pip

    |████████████████▌               |
    
  3. tonsky commented on Jan 16, 2021

    @tonsky
    OwnerAuthor

    wget

    [===============>                            ]
    
  4. tonsky commented on Jan 16, 2021

    @tonsky
    OwnerAuthor

    Gradle

    <======------->
    
  5. tonsky commented on Jan 16, 2021

    @tonsky
    OwnerAuthor

    htop

    [||||||||||||||||||                    14.2%]
    
  6. tonsky commented on Jan 16, 2021

    @tonsky
    OwnerAuthor

    brew

    ################################################                          67.0%
    
  7. tonsky commented on Jan 16, 2021

    @tonsky
    OwnerAuthor

    yarn

    [##############################################----------------------------------] 46/80
    
  8. avrong commented on Jan 16, 2021

    @avrong

    cargo

        Building [===========================>                           ] 151/296
    
  9. added this to the 6 milestone on Jan 16, 2021
  10. pcdevil commented on Jan 17, 2021

    @pcdevil

    apt has the same as gauge:

    Progress: [ 98%] [########################################################..]
    
  11. magicvodi commented on Jan 18, 2021

    @magicvodi

    pacman (default config) same as gauge:
    [##################################------------------------------------------] 45%

    pacman with ILoveCandy setting:
    [-------------------------------------------------c o o o o o o o o ] 68%
    (The c is yellow and changes between lower and upper case)

  12. maximal commented on Jan 19, 2021

    @maximal

    Composer (PHP package manager):

      0/96 [>---------------------------]   0%
     64/96 [==================>---------]  66%
     96/96 [============================] 100%
    
  13. lbguilherme commented on Jan 19, 2021

    @lbguilherme

    Docker

    0732ab25fa22: Downloading [=================================>                 ]  17.56MB/26.5MB
    
  14. dbechrd commented on Jan 20, 2021

    @dbechrd

    There’s a cool animated one in a lot of Linux distros (I think during boot, I don’t recall):

    ....|
    ..../
    ....-
    ....\
    (Back to start)

    The last character spins until the next progress increment, when it is replaced with a ‘.’ and the spinner moves right.

    You can see this type of spinner in action, without the progress indicating periods, here (along with some other pretty neat ideas):
    https://youtu.be/5t2DO6Lp6Nk

  15. tonsky commented on Jan 29, 2021

    @tonsky
    OwnerAuthor

    Gradle download

    ..............10%..............20%...............30%..............40%..............50%..
    
  16. modified the milestones: 6, 7 on Nov 5, 2021
  17. ioquatix commented on Nov 30, 2021

    @ioquatix

    I see you added some progress bar characters.

    Using the unicode block characters with a solid background you can make a fine-grained progress bar:

    			BLOCK = [
    				" ",
    				"▏",
    				"▎",
    				"▍",
    				"▌",
    				"▋",
    				"▊",
    				"▉",
    				"█",
    			]
    

    You get n/8 sub-resolution with those blocks.

    It would be nice if you could do something similar with the progress bar characters you made, but it might require a rethink on how they fit together, with the left and right brackets having no actual "progress bar filler".

  18. maximal commented on Dec 1, 2021

    @maximal

    Laravel Mix uses filled-only blocks but highlights them by different colors:

    ● Mix █████████████████████████ building (19%)
    

    image

  19. maximal commented on Dec 1, 2021

    @maximal

    PHPStan static analysis tool:

    100/246 [▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░]  40%
    
  20. GlowingUmbreon commented on Feb 8, 2022

    @GlowingUmbreon

    Correct me if I'm wrong but isn't adding a loading font for every common loading screen a bit extreme? There are so many common loading bars and they can vary a lot. And a lot of them the size changes depending on the size of your terminal which I assume would make it harder.

  21. tonsky commented on Feb 8, 2022

    @tonsky
    OwnerAuthor

    @GlowingUmbreon I am not sure I understand. What do you mean by “adding a (loading) font”? Adding where?

  22. cristaloleg commented on Feb 8, 2022

    @cristaloleg

    @tonsky adding to FireCode I suppose.

  23. joelnordell commented on Mar 17, 2022

    @joelnordell

    @tonsky - I have an idea: you could add a ligature for the new FiraCode progress bar chars themselves, for the case where a bar is 100% completed. Some progress bar libraries allow setting a "theme" for the bar, with characters for bar start, filled progress, empty progress, and bar end, but do not have a concept of two different characters for bar end depending on whether the progress has reached 100% or not.

    This results in a progress bar that looks slightly incomplete:

    image

    A ligature could solve that by replacing the sequence \uee04\uee02 (filled bar, empty end) with \uee04\uee05 (filled bar, filled end).

    Even without all the application-specific ligatures, I think this would be useful.

  24. bertin0 commented on Jun 7, 2023

    @bertin0

    pacman with ILoveCandy setting: [-------------------------------------------------c o o o o o o o o ] 68% (The c is yellow and changes between lower and upper case)

    Personally I would leave this one be. If you specifically set ILoveCandy for your pacman you probably want it to stay that way, and if you want to get the fancy bar you can just disable ILoveCandy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions