This repo contains the latest version of the Seti UI theme. It's a dark interface theme crafted especially for Atom, with subtle colors that are meant to be easy on the eyes. It includes custom file icons, and new user configurable settings. Seti Syntax is also available for all your codez.
The icons in this repo are used as the defaults in the file explorer in VS Code also.
Please Note: This is the Seti interface theme for Atom only
This is for the interface of the Atom editor. I also have Seti Syntax for theming the code view in Atom. In addition, there is a new Seti theme for Hyper.
If these are not the droids you're looking for, may I point you in the direction of these great ports:
- Emacs
- iTerm
- JetBrains
- Sublime Text 3
- Vim
- Visual Studio Code - but, PRs are still submitted here
Seti UI has been updated with a cleaner, more streamlined interface, a slightly tweaked color scheme, additional icons and new user settings, as well as a handful of other small ui improvements and a refactored code base.
Seti now has 8 theme colors to choose from:
File icons will now show up in the file search (cmd+ p
) dialog in addition to the side bar and tabs. This should make for easier grokking when you're searching for a file.
To get here, Go to "Atom > Preferences" Select "Themes" and click the settings icon next to "Seti" under UI Theme dropdown
With 1.0 you can now adjust some of the more commonly requested features directly in Atom's settings view (Settings > Themes > Click the gear icon next to Seti).
- File Icons: Probably the most frequent request has been a simpler way to disable the file icons for those of you using other file icon packages. Now you can :)
- Compact Mode : Seti 1.0's face-lift brings a cleaner, less cramped interface, which also happens to take up a bit more space. If you prefer the old more compact version, you can revert it here.
- Ignored Files: By default, ignored files are shown as a muted grey. However, if you'd like to hide them altogether you can use this.
- Hide Tabs: Lastly (for now), there have been a few requests to be able to hide tabs altogether. This is of course disabled by default, but if you're the anti-tab type, you can hide them here.
Setting are brand new, and still have a few kinks to be worked out. If you run into any problems with them, or would like to request an additional setting, please file an issue!
If you find a bug, please do add a bug report. However, first make sure it is for Seti UI in Atom. I only support the Atom versions, please check the links above to report a bug on another platform.
Most if not everything should work on older versions as well, but if you see something that doesn't look quite right, make sure you have the latest version of Atom installed before filling a bug.
The easiest way to install Seti is to do as follows:
- Go to Atom > Settings
- Click "+ Install"
- Search for
seti ui
and clickthemes
button to search. - Browse for
Seti UI
and clickinstall
Alternatively you can use the Atom Package Manager:
apm install seti-ui
Anyone is welcome to contribute to the development of this theme. If can be a lot of work to keep up on, and I'll take help wherever I can get it :)
If you're keen to contribute, start by forking the repo and cloning it to your computer.
Note: To use the development version, you must first uninstall the production version (apm uninstall seti-ui
), then run the following commands:
# To install the local version as an Atom Theme
apm link .
# Open with dev mode:
atom --dev .
Once this is complete you will be able to edit seti files directly in Atom and see your changes in real time.
Once you are satisfied, with your updates, commit your change, push them to your fork and submit a pull request with a description of the changes that you made.
Once you're done working locally and ready to install the production version again, simply run apm unlink .
from the root of the seti-ui project.
Given that changes to this repo are included in VS Code, we are somewhat conservative with adding new file icons because it can affect the performence for everyone. This means we only accept PRs for file icons for popular languages or toolsets. For example does your langauge/tool have package downloads or vscode extensions with tens of thousands of users? If no, then there's a possibility we will deny your pull request.
Adding an icon requires you have node and gulp installed.
Once you have these, you will need to open a terminal window, navigate to the seti-ui folder and run npm install
(note you only need to do this once).
Icon Style:
- Use a single color, the colors will be overwritten to one of the 9 below when shipped
- You want to aim for a frame of 32x32 with the icon centered at and being about 18 x 18 big. There's a sketch file with examples in this repo.
Once everything is setup, follow these steps any time you want to add a new icon:
-
Create an SVG icon with the name of the language, and save it to the
icons
folder (do not use any spaces or special characters) -
Open styles/components/icons/mapping.less and create a link for the icon you just added with the
.icon-set
mixin. Assuming you were adding an icon for Sass it might look something like this:.icon-set('.scss', 'sass', @pink)
The first parameter '.scss'
is the file extension you want to target, the second parameter 'sass'
is the name of the icon you just created, without the extension (sass.svg), and the last parameter @pink
indicated what color the icon should be.
There are currently 9 supported icon colors:
- `@blue`
- `@grey`
- `@green`
- `@orange`
- `@pink`
- `@purple`
- `@red`
- `@white`
- `@yellow`
While, you can add additional colors to styles/ui-variables.less, but please do not do this unless you find it absolutely necessary. If you do add another color, please make sure that matches the general feel of the other colors. If you add something really bright or really pale, your pull request will likely be declined.
You will need to do this once for every extension, you want to target. For example, if you want to target both .sass and .scss extensions, you would add the following:
.icon-set('.sass', 'sass', @pink);
.icon-set('.scss', 'sass', @pink);
- Run
gulp svg
to minimize the svg files.
This is a bit of work, but the steps:
- Make your changes, and run
gulp icon
- Clone VS Code, and make sure that it has the same parent as seti-ui
- Follow the VS Code instructions to set up a local dev copy
- Once you've confirmed that, you need to update the icons. cd to
extensions/theme-seti
and runnode build/update-icon-theme.js
- Make sure that inside
extensions/theme-seti/build/update-icon-theme.js
-let FROM_DISK
is set to true
Then, you can make you SVG changes, re-run gulp icon
, node build/update-icon-theme.js
and re-launch your dev copy of VS Code.
Please don't include the built files in your Pull Requests, because it can cause conflicts between PRs and we only need to do this during deploys otherwise.
Run npm publish
If you'd like a new app icon to match the look & feel of Seti, feel free to use one of these: