{"id":13653308,"url":"https://github.com/TheBB/spaceline","last_synced_at":"2025-04-23T06:31:27.118Z","repository":{"id":46010354,"uuid":"42883101","full_name":"TheBB/spaceline","owner":"TheBB","description":"Powerline theme from Spacemacs","archived":false,"fork":false,"pushed_at":"2023-10-05T18:29:10.000Z","size":326,"stargazers_count":533,"open_issues_count":70,"forks_count":60,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-05-01T14:09:32.643Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheBB.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-09-21T17:44:38.000Z","updated_at":"2024-04-15T09:22:21.000Z","dependencies_parsed_at":"2024-01-13T17:09:49.419Z","dependency_job_id":"4f31b822-ff89-4eb6-b145-1f97fb860833","html_url":"https://github.com/TheBB/spaceline","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheBB%2Fspaceline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheBB%2Fspaceline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheBB%2Fspaceline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheBB%2Fspaceline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheBB","download_url":"https://codeload.github.com/TheBB/spaceline/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250384950,"owners_count":21421825,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T02:01:08.533Z","updated_at":"2025-04-23T06:31:22.091Z","avatar_url":"https://github.com/TheBB.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"#+TITLE: Spaceline\n\n[[https://melpa.org/#/spaceline][http://melpa.org/packages/spaceline-badge.svg]] [[https://stable.melpa.org/#/spaceline][https://stable.melpa.org/packages/spaceline-badge.svg]] [[https://travis-ci.org/TheBB/spaceline][https://travis-ci.org/TheBB/spaceline.svg]] [[https://github.com/syl20bnr/spacemacs][file:https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg]]\n\n* Contents                                                           :TOC_2_gh:\n- [[#introduction][Introduction]]\n- [[#the-default-themes][The default themes]]\n  - [[#optional-dependencies][Optional dependencies]]\n  - [[#troubleshooting][Troubleshooting]]\n- [[#moderate-configuration][Moderate configuration]]\n  - [[#turning-segments-on-and-off][Turning segments on and off]]\n  - [[#the-highlight-face][The highlight face]]\n  - [[#other-faces][Other faces]]\n  - [[#powerline-separators][Powerline separators]]\n  - [[#hooks][Hooks]]\n  - [[#unicode-numbers][Unicode numbers]]\n  - [[#minor-modes-separator][Minor modes separator]]\n  - [[#org-clock][Org clock]]\n- [[#deep-configuration][Deep configuration]]\n  - [[#segments][Segments]]\n  - [[#defining-a-segment][Defining a segment]]\n  - [[#properties][Properties]]\n  - [[#bindings][Bindings]]\n  - [[#compiling-a-mode-line][Compiling a mode-line]]\n- [[#tweaking-or-defining-your-own-mode-line][Tweaking or defining your own mode-line]]\n\n* Introduction\nThis is the package that provides [[http://spacemacs.org/][Spacemacs]] with its famous mode-line theme. It\nhas been extracted as an independent package for general fun and profit.\n\nThis package provides features for three kinds of users.\n\n1. You just want to use the Spacemacs mode-line theme and forget about it.\n2. You want to use something similar to the Spacemacs mode-line theme, but with\n   a handful of easy tweaks.\n3. You want an easy-to-use library for building your own mode-line from scratch,\n   and you think the Spacemacs theme looks good.\n\nThe functionality for each are described in the following sections.\n\nThe files in this package are organized as follows. Choose which you want to\nload based on what you want to do.\n\n- =spaceline.el=: Contains the core library used to define segments and render\n  the modeline. It defines no segments by itself except the =global= segment.\n  (See below.)\n- =spaceline-segments.el=: Defines all the segments used by the default\n  Spacemacs theme, but doesn’t do anything with them.\n- =spaceline-config.el=: Defines the default themes.\n\n* The default themes\nTo install it, just load =spaceline-config= and call the theme function you\nwant. E.g.\n\n#+BEGIN_SRC emacs-lisp\n  (require 'spaceline-config)\n  (spaceline-spacemacs-theme)\n#+END_SRC\n\nThe package comes bundled with two themes:\n\n- =spaceline-spacemacs-theme=: The theme used by Spacemacs\n- =spaceline-emacs-theme=: A theme which is similar to the one used by\n  Spacemacs, but which has been designed to look good without the dependencies\n  that the Spacemacs theme needs.\n\nIn addition, Spaceline supports custom themes for Info+ and Helm. These can be\nenabled through global minor modes:\n\n- =spaceline-helm-mode=\n- =spaceline-info-mode= (requires the [[http://www.emacswiki.org/emacs/InfoPlus][info+]] package)\n\nThese are also defined in =spaceline-config.el=.\n\n** Optional dependencies\nThese themes include several segments that depend on third-party packages. If\nthese packages are not installed, these segments will be invisible and not show\nany output. As such, they can be considered /optional/ dependencies.\n\nHere follows a brief list of these dependencies. For more information consult\nthe upstream sources.\n\n*** Persp-mode\n[[https://github.com/Bad-ptr/persp-mode.el][Persp-mode]] is a powerful workspace-like package. Spaceline shows the current\nworkspace name.\n\n*** Eyebrowse\n[[https://github.com/wasamasa/eyebrowse][Eyebrowse]] is a simpler workspace-like package. If it is installed, The Spacemacs\ntheme will show the current workspace number. The Emacs theme uses the workspace\nnumber as a fallback for the perspective name: thus if persp-mode is installed,\nthe Eyebrowse workspace will not be shown.\n\n*** Winum\n[[https://github.com/deb0ch/winum.el][Winum]] shows a number for each window, and it works with both themes.\n\nTo prevent =winum= from inserting its own number in the mode-line, you have to\nset =winum-auto-setup-mode-line= to nil before activating =winum-mode=:\n\n#+BEGIN_SRC emacs-lisp\n(setq winum-auto-setup-mode-line nil)\n(winum-mode)\n#+END_SRC\n\n*** Auto-compile\n[[https://github.com/tarsius/auto-compile][Auto-compile]] automatically compiles Emacs Lisp files on save if there is an\nolder byte-compiled file. Spaceline shows warnings when they occur.\n\n*** Anzu\n[[https://github.com/syohex/emacs-anzu][Anzu]] shows the current match and the total number of matches while searching.\n\nNote that Anzu inserts itself in the modeline, to let spaceline handle the\nmodeline, make sure to =(setq anzu-cons-mode-line-p nil)= or customize it.\n\n*** Flycheck\n[[https://github.com/flycheck/flycheck/][Flycheck]] is a powerful syntax-checking package. Spaceline shows errors, warnings\nand notifications from it.\n\n*** ERC\n[[http://www.emacswiki.org/emacs/ERC][ERC]] is an IRC client built in to Emacs. Spaceline shows channels with new\nmessages if you have =erc-track= turned on.\n\n*** Org\nSpaceline shows the currently clocking [[http://orgmode.org/][org-mode]] task.\n\n*** Org-pomodoro\nSpaceline integrates with [[HTtps://github.com/lolownia/org-pomodoro][org-pomodoro]] by showing its clocks.\n\n*** Python virtual environments\nThe currently active environments as reported by [[https://github.com/proofit404/pyenv-mode][pyenv-mode]] or [[https://github.com/jorgenschaefer/pyvenv][pyvenv]] are shown\nin Spaceline.\n\n*** Nyan cat\n[[https://github.com/TeMPOraL/nyan-mode][Nyan-mode]] shows the current position in the buffer with kittens and rainbows.\n\n*** Fancy battery\n[[https://github.com/lunaryorn/fancy-battery.el][Fancy-battery]] shows battery information in the modeline.\n\n*** Evil\n[[https://bitbucket.org/lyro/evil/wiki/Home][Evil]] makes Emacs behave like Vim. The first segment in the Spacemacs theme shows\nthe current Evil state if all the other dependencies do not report information\n(i.e. no perspective, workspace or window number). The Emacs theme does not\ninclude any information from Evil.\n\nYou can color the modeline according to the current Evil state by setting\n=spaceline-highlight-face-func= to =spaceline-highlight-face-evil-state=.\n\n** Troubleshooting\nThere are a number of reasons why Spaceline might look different on your setup\ncompared to Spacemacs proper. Some of the most important ones are addressed here.\n\n- You’re missing an optional dependency. Spacemacs includes packages that\n  display information in the mode-line. The leftmost segment is invisible if\n  =eyebrowse-mode=, =persp-mode=, =window-numbering-mode= and =evil= are all not\n  present. If you don’t wish to use these packages, consider using the Emacs\n  theme.\n\n- Consider setting or increasing the value of =powerline-height= to give your\n  mode-line some room to breathe.\n\n- The default powerline separator is =arrow=, but Spacemacs uses =wave=. You\n  should try out various settings of =powerline-default-separator= to find the\n  one that works for you. Note that you need to recompile the modeline with =M-x\n  spaceline-compile= after setting this variable.\n\n- If you’re using =eyebrowse-mode= or =window-numbering-mode=, consider setting\n  =spaceline-workspace-numbers-unicode= and =spaceline-window-numbers-unicode=\n  to =t= to get the nice-looking unicode numbers seen in the screenshot.\n\n- Use [[https://github.com/emacsmirror/diminish][Diminish]] to tweak the output of the minor modes segment.\n\n- To get the mode-line highlight to change color depending on the evil state,\n  set =spaceline-highlight-face-func= to =spaceline-highlight-face-evil-state=.\n\n* Moderate configuration\n\n** Turning segments on and off\nEach segment has a variable =spaceline-NAME-p= that can switch the segment off\nby setting it to =nil=. There are also three convenient interactive functions\nfor toggling:\n\n- =spaceline-toggle-\u003cname\u003e=\n- =spaceline-toggle-\u003cname\u003e-on=\n- =spaceline-toggle-\u003cname\u003e-off=\n\nThese can be bound to whichever keys you like.\n\nHere is a complete list of segments bundled with Spacemacs.\n\n- =persp-name=: integrates with =persp-mode=.\n- =workspace-number=: integrates with =eyebrowse=.\n- =window-number=: integrates with =window-numbering=.\n- =evil-state=: shows the current evil state, integrates with =evil=.\n- =anzu=: integrates with =anzu=.\n- =auto-compile=: integrates with =auto-compile=.\n- =buffer-modified=: the standard marker denoting whether the buffer is modified\n  or not.\n- =buffer-size=: the size of the buffer.\n- =buffer-id=: the name of the buffer.\n- =remote-host=: the host for remote buffers.\n- =major-mode=: the current major mode.\n- =flycheck-error=: number of flycheck errors, integrates with =flycheck=.\n- =flycheck-warning=: number of flycheck warnings, integrates with =flycheck=.\n- =flycheck-info=: number of flycheck notifications, integrates with =flycheck=.\n- =minor-modes=: the currently enabled minor modes. The output of this segment\n  can be tweaked with [[https://github.com/emacsmirror/diminish][Diminish]].\n- =process=: the background process associated with the buffer, if any.\n- =erc-track=: IRC channels with new messages, integrates with =erc=.\n- =version-control=: version control information.\n- =org-pomodoro=: integrates with =org-pomodoro=.\n- =org-clock=: the current org clock, integrates with =org=.\n- =nyan-cat=: integrates with =nyan-mode=.\n- =battery=: integrates with =fancy-battery-mode=.\n- =which-function=: integrates with =which-function-mode=.\n- =python-pyvenv=: integrates with =pyvenv=.\n- =python-pyenv=: integrates with =pyenv=.\n- =paradox-menu=: integrates with =paradox=.\n- =selection-info=: information about the currently active selection, if any.\n- =input-method=: shows the current active input method, if any.\n- =buffer-encoding-abbrev=: the line ending convention used in the current\n  buffer (unix, dos or mac).\n- =point-position=: the value of point (disabled by default).\n- =line-column=: current line and column.\n- =global=: meta-segment used by third-party packages.\n- =buffer-position=: shows the current position in the buffer as a percentage.\n- =hud=: shows the currently visible part of the buffer.\n\nIn addition, the following segments are defined, but are not used in the default\nthemes.\n\n- =line=: current line.\n- =column=: current column.\n- =projectile-root=: root of current projectile project, integrates with\n  =projectile=.\n- =buffer-encoding=: like =buffer-encoding-abbrev=, but not abbreviated.\n\nFor the custom helm modeline, the following segments are used.\n\n- =helm-buffer-id=: the name of the current helm session.\n- =helm-number=: number of helm candidates.\n- =helm-help=: a brief help string.\n- =helm-prefix-argument=: shows the prefix argument, if any.\n- =helm-follow=: shows whether =helm-follow= is turned on.\n\nFor the custom info modeline, the following segments are used.\n\n- =info-topic=: the current topic.\n- =info-nodes=: breadcrumbs.\n\n** The highlight face\nThe highlight face is the face that (by default) is a sharp orange, used e.g. by\nthe HUD segment on the far right, and the first segment on the left (note that\nit may be invisible if you are using the Spacemacs theme but not some of its\noptional dependencies). The actual face used as a highlight face is determined\nby a function, which can be configured by setting the value of\n=spaceline-highlight-face-func=. Spaceline comes with three choices, but of\ncourse you can write your own:\n\n- =spaceline-highlight-face-default=: Uses the orange, all the time. This is the\n  default.\n- =spaceline-highlight-face-evil-state=: Chooses a face determined by the\n  current evil state. The face corresponding to each state is determined by the\n  association list =spaceline-evil-state-faces=, which contains default values\n  for the standard evil states. (Spacemacs has a few more.)\n- =spaceline-highlight-face-modified=: Chooses a face determined by the status\n  of the current buffer (modified, unmodified or read-only).\n\nNote that the highlight face is only used in the active window.\n\n** Other faces\nIn the active window, the mode-line will use these faces:\n\n- =powerline-active1=\n- =powerline-active2=\n- =mode-line=\n\nAnd in inactive windows:\n\n- =powerline-inactive1=\n- =powerline-inactive2=\n- =mode-line-inactive=\n\nTo override this, you can set the variable =spaceline-face-func=. This should be\na function that accepts two arguments and returns a face symbol. The arguments\nare:\n\n- =face=: either of =face1=, =face2=, =line= and =highlight=.\n- =active=: a boolean determining whether the window is active or not.\n\nIf this function is not set, Spaceline delegates the highlight face to\n=spaceline-highlight-face-func= (see above), and picks the others according to\nthe above scheme.\n\n** Powerline separators\nSet =powerline-default-separator= to configure this. The docstring for that\nvariable enumerates the choices.\n\nEach separator comes in two directions: left and right. The variables\n=spaceline-separator-dir-left= and =spaceline-separator-dir-right= specify which\ndirections to alternate between on the left and right side, respectively.\n\nBy default these variables are set to =nil=, which means Spaceline will choose\nthe directions that look best for your chosen separator style. However, you can\nset to override this, for example:\n\n#+BEGIN_SRC emacs-lisp\n  (setq spaceline-separator-dir-left '(left . left))\n  (setq spaceline-separator-dir-right '(right . right))\n#+END_SRC\n\nNote that you must recompile the modelines after changing the separators, by\ncalling =M-x spaceline-compile=.\n\n** Hooks\nThe hook =spaceline-pre-hook= is executed before rendering the modeline. Don’t\nput any performance-intensive functions here!\n\n** Unicode numbers\nBy default, Spacemacs displays window numbers and workspace numbers in nice\nunicode symbols. To do this in Spaceline, set =spaceline-window-numbers-unicode=\nor =spaceline-workspace-numbers-unicode= to true, respectively.\n\nSpacemacs also does this with most minor modes. This is a feature that has not\nbeen ported to Spaceline. To do this, use [[https://github.com/emacsmirror/diminish][Diminish]].\n\n** Minor modes separator\nTo configure the separator between the minor modes, use\n=spaceline-minor-modes-separator=.\n\n** Org clock\nThe displayed value of the =org-clock= segment is determined by the function\n=org-clock-get-clock-string= by default. To configure another function, use\n=spaceline-org-clock-format-function=.\n\n* Deep configuration\nTo understand how to do this, we must first understand how Spaceline constructs\na mode-line.\n\n** Segments\nA /segment/ is any part of the mode-line that produces some kind of visible\noutput. Typically, segments have been defined ahead of time using\n=spaceline-define-segment=, in which case the segment is referred to by a\nsymbol, but segments may also be literals (strings or numbers, say) or lists of\nother segments.\n\nThese are all valid segments, provided =my-segment= has been defined:\n\n#+BEGIN_SRC emacs-lisp\n  my-segment\n  \"alfa\"\n  (my-segment 89)\n#+END_SRC\n\nSegments may also have properties associated with them. Spaceline supports a\nvariety of properties. They can be applied as follows, for a ‘singleton’\nsegment:\n\n#+BEGIN_SRC emacs-lisp\n  (my-segment :prop-a value-a :prop-b value-b)\n#+END_SRC\n\nOr for a list of segments:\n\n#+BEGIN_SRC emacs-lisp\n  ((my-segment 89)\n   :prop-a value-a\n   :prop-b value-b)\n#+END_SRC\n\n** Defining a segment\nUse =spaceline-define-segment= to define a segment and associate it to a symbol.\n\n#+BEGIN_SRC emacs-lisp\n  (spaceline-define-segment name\n    \"Docstring\"\n    ;; A single form whose value is the value of the segment.\n    ;; It may return a string, an image or a list of such.\n    (when condition\n       output)\n\n    ;; Additional keyword properties go here\n    :prop-a value-a\n    :prop-b value-b)\n#+END_SRC\n\nIn addition to storing the segment, this macro produces a variable called\n=spaceline-NAME-p= whose value may be set to switch the segment off or on\nmanually. Three interactive functions are also defined:\n\n- =spaceline-toggle-NAME=\n- =spaceline-toggle-NAME-on=\n- =spaceline-toggle-NAME-off=\n\nThese are convenient to bind to keys, and they do what it says on the tin.\n\nNote that if you redefine a segment, you more than likely have to recompile the\nmodelines with =M-x spaceline-compile= for the changes to take effect.\n\n** Properties\nThe valid properties are\n\n- =:priority=: arbitrary number to prioritize which segments are hidden first\n  when the window shrinks. The higher the number, the higher the priority.\n- =:when=: A form that, if it evaluates to =nil=, will prevent the segment from\n  showing. Note that in =spaceline-define-segment= you might just as well use an\n  ordinary =when= form. Therefore this only makes sense to use in a segment\n  spec.\n- =:separator=: A separator inserted between each element of the value of the\n  given segment. This makes most sense for lists of segments, or segments whose\n  values are typically lists (such as =minor-modes=).\n- =:fallback=: A segment which will be displayed in place of the current segment\n  if it should produce no output (either due to a nil =:when= condition or\n  because the return value of the segment itself is =nil= or the empty string).\n- =:face=: The face in which to render the segment. It may be better to use this\n  than (or in addition) to propertizing the output directly, since Spaceline\n  needs to know the faces to propertize the separators correctly. This may be\n  either =default-face=, =other-face= or =highlight-face=,  or a form evaluating\n  to a face. Thus any face symbol which is not either of the above three must be\n  quoted.\n- =:tight=: Set to =t= to tell Spaceline that the segment should not have any\n  padding on the right or left. Use =:tight-left= and =:tight-right= for even\n  finer control.\n- =:skip-alternate=: Set to =t= to skip the regular alternating faces for this\n  segment.\n\nAll of these are valid both in =spaceline-define-segment= as well as directly in\nthe segment spec, with the excption of =:when=.\n\nAdditionally, =spaceline-define-segment= allows two additional properties.\n\n- =:enabled=: Sets the initial value of the toggle variable.\n- =:global-override=: Many third-party packages provide mode-line information by\n  inserting a segment in the list =global-mode-string=. Sometimes you might like\n  to write your own segment for this, in which case you have to prevent the\n  package from using =global-mode-string=, or you will end up with duplicate\n  information and a crowded mode-line. To do this, set =:global-override= to the\n  symbol (or list of symbols) which you want to exclude from\n  =global-mode-string=. This setting will be honored by the =global= segment,\n  which is defined by Spaceline core in =spaceline.el=.\n\nThe properties which take effect for any given segment are, in order of\npriority:\n\n- the properties specified in the segment specification\n- the properties given in the call to =spaceline-define-segment=\n- the properties of the parent segment\n\nThe exceptions are =:when=, which must be true on *all* levels for a segment to\nbe displayed, and =:fallback= which does *not* pass through from the parent\nsegment.\n\n** Bindings\nWhen evaluating a segment, its =:when= condition or its =:face= property, the\nfollowing bindings are available for convenience.\n\n- =active=: Whether the current window is active or not. Many segments use\n  =:when active= to only show in the current window.\n- =default-face=: The face with which the current segment /should/ be rendered.\n  If you don’t define a =:face=, this is what you get. For best results, stick\n  to the default face as often as you can.\n- =other-face=: The alternating default face. Spaceline switches =default-face=\n  and =other-face= for each top-level segment.\n- =highlight-face=: The face used to highlight ‘important’ parts, whatever that\n  may be. This may be customized.\n- =line-face=: The face with which the empty part in the middle of the mode-line\n  will be rendered.\n\nNote that the segment code runs in an environment with many local variables,\ntherefore it’s a good idea to write segments as pure functions that do not\nchange state.\n\n** Compiling a mode-line\nFinally, call the function =spaceline-compile=. It accepts three arguments: a\nmodeline name, and two lists of segments, for the left and right sides.\n\nThis produces a function =spaceline-ml-NAME= that evaluates the mode-line. To\nuse it, set =mode-line-format= to\n\n#+BEGIN_SRC emacs-lisp\n  (\"%e\" (:eval (spaceline-ml-NAME)))\n#+END_SRC\n\nIf you do not specify a name, the modeline will be installed as =main=.\n\nIf you do not specify segment lists, it will either recompile the given modeline\nwith the segments specified last time, or recompile /all/ modelines if the name\nis not specified.\n\nWhen called interactively, the latter behaviour takes effect, that is, all\nmodelines are recompiled.\n\nThe variable =spaceline-byte-compile= decides whether the resulting function\nwill be byte-compiled. This is recommended for regular usage, as it involves\npotentially significant performance benefits.\n\n* Tweaking or defining your own mode-line\nTo tweak the properties such as =:when= or =:priority= of specific segments,\nor having your own selection of segments and order of appearance, you have to\ndefine your own mode-line and =spaceline-compile= it.\n\nFor instance, to use Spacemac's mode-line definition as a starting point to\nyour own, add this to your =.emacs= or =.spacemacs= and tweak it:\n\n#+BEGIN_SRC emacs-lisp\n  (spaceline-compile\n    ; left side\n    '(((persp-name\n        workspace-number\n        window-number)\n       :fallback evil-state\n       :face highlight-face\n       :priority 100)\n      (anzu :priority 95)\n      auto-compile\n      ((buffer-modified buffer-size buffer-id remote-host)\n       :priority 98)\n      (major-mode :priority 79)\n      (process :when active)\n      ((flycheck-error flycheck-warning flycheck-info)\n       :when active\n       :priority 89)\n      (minor-modes :when active\n                   :priority 9)\n      (mu4e-alert-segment :when active)\n      (erc-track :when active)\n      (version-control :when active\n                       :priority 78)\n      (org-pomodoro :when active)\n      (org-clock :when active)\n      nyan-cat)\n    ; right side\n    '(which-function\n      (python-pyvenv :fallback python-pyenv)\n      (purpose :priority 94)\n      (battery :when active)\n      (selection-info :priority 95)\n      input-method\n      ((buffer-encoding-abbrev\n        point-position\n        line-column)\n       :separator \" | \"\n       :priority 96)\n      (global :when active)\n      (buffer-position :priority 99)\n      (hud :priority 99)))\n#+END_SRC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheBB%2Fspaceline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTheBB%2Fspaceline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheBB%2Fspaceline/lists"}