# Ocodo SVG modelines ### Version 0.1.4 Upgrade notes: External png and svg images are now loaded as data uri (image/png,base64 and xml/svg,base64.) This will allow the modelines to function fully on any Emacs build which has image-svg support. (ie. `--with-librsvg` configured builds) This won't affect OS X/Emacs Mac Port users, who will already be enjoying full svg support. # Abstract A completely superfluous, but otherwise most excellent collection of awesome modelines... if not now, then at some point in the future, you might want, need and maybe even love these. Don't worry if this isn't true, it's just promotional bullshit. Very much a work in progress, these modelines are relatively sparse, however, any info or widgets you'd like to have, please post an issue on the github repository https://github.com/ocodo/ocodo-svg-modelines/issues and I'll attempt to cater to you. ## What have I got for you so far? Each modeline currently features - file state (rw/ro) - buffer filename - saved/unsaved state - Major mode - VC/Git branch - Minor modes (filtered) - line:col - vertical position percentage - file size See roadmap for a few ideas on the direction of the project... Anyway, without further ado, aside from this droning preamble, here's the modeline designs I have for you so far. ### ocodo-geometry-flakes-smt ![](screenshots/ocodo-geometry-flakes-smt.png) ### ocodo-kawaii-light-smt ![](screenshots/ocodo-kawaii-light-smt.png) ### ocodo-minimal-light-smt ![](screenshots/ocodo-minimal-light-smt.png) ### ocodo-minimal-dark-smt ![](screenshots/ocodo-minimal-dark-smt.png) ### ocodo-mesh-grass-smt ![](screenshots/ocodo-mesh-grass-smt.png) ### ocodo-mesh-aqua-smt ![](screenshots/ocodo-mesh-aqua-smt.png) ### ocodo-steps-grass-smt ![](screenshots/ocodo-steps-grass-smt.png) ### ocodo-steps-aqua-smt ![](screenshots/ocodo-steps-aqua-smt.png) ## Roadmap Direction partly depends on community feedback, however I have my own desires and wishes for this project, obviously. Top of my list is minor and major mode displays being more graphical, although I think these will be more experimental. I'd like to see an icon which describes the Major mode, and minor modes. Also: - Time would be nice to see as an analog graphical clock icon, which is relatively easy to achieve. - Date shown as a calendar page icon. - Version control state of the file shown graphically (some experimental stuff exists for this already.) - File file state info shown graphically (saved/unsaved changes are already shown by a splat and a checkmark) - I'm sure you can think of plenty more. ## Installation Package installation via MELPA M-x package-install RET ocodo-svg-modelines ## Manual Installation Follow these steps: git clone https://github.com/ocodo/ocodo-svg-modelines ~/ocodo-svg-modelines-0.1.4 rm -rf ~/ocodo-svg-modelines-0.1.4/.git && cd ~ tar cf ~/ocodo-svg-modelines-0.1.4.tar ocodo-svg-modelines-0.1.4 Subsequently, from Emacs: M-x package-install svg-mode-line-themes M-x package-install-file ~/ocodo-svg-modelines-0.1.4.tar ## Usage M-x ocodo-svg-modelines-init M-x smt/set-theme Now select one of the ocodo themes listed... ... and be all happy. ## But be warned! Please be aware, this package is quite experimental and full SVG functionality isn't available on all Emacs builds. Ensure you have SVG support in your Emacs build, either use Emacs Mac Port on OS X or... You can also build Emacs on OS X with `brew` using: brew install emacs --HEAD --with-cocoa --with-librsvg When building Linux, `./configure` using `--with-librsvg` (ensure rsvg support was reported by configure.) If in doubt Librsvg is the important part. (unless you're using Emacs Mac Port, which uses WebKit to render SVG.) ## Problems or Suggestions If you have problems using these modelines, please check the issues at https://github.com/ocodo/ocodo-svg-modelines/issues and post a new one as needed. I will do my best to get fixes and help to you. If you have feature requests or other suggestions, or if you plain don't like this package, please go ahead and post issues too. ## Forks and Contributions If you would like to make your own svg modelines using these as a base, please go ahead and fork it, strip out the ocodo modelines if you're going to publish. Contributions are very welcome, please go ahead, fork, branch and pull request anything you'd like to add. ## Additions to the smt core This package relies on Sabof's svg-mode-line-themes. Core functionality for these themes is developed there. https://github.com/sabof/svg-mode-line-themes