# SkinServer class

Namespace: [Grasshopper2.UI.Skinning](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.ui.skinning.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public static class SkinServer
```

The skins folder and everything that touches it. A skin is a text definition in [Folders.SkinsFolder](https://developer.rhino3d.com/api/gh2/type/grasshopper2.folders/skinsfolder.md), and its name is its file name; the canvas picks a skin by that name through [Settings.CanvasSkin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.settings/canvasskin.md), with an empty name meaning the built-in default. Files may be imported from and exported to anywhere. The skins shipped with Grasshopper, other than the default, are copied into the folder the first time it is used, and from then on are files like any other.

## Fields

- [DefaultName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/defaultname.md): (static) The name shown for the built-in skin, which no file may take.
- [Extension](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/extension.md): (static)

## Properties

- [Current](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/current.md): (static) The name of the skin the canvas uses, or empty for the built-in default.
- [CurrentSkin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/currentskin.md): (static) The current skin for the current dark mode setting.
- [Dim](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/dim.md): (static) The current skin in dark mode.
- [Lit](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/lit.md): (static) The current skin in bright mode: the chosen definition evaluated, or the built-in skin. This is what every canvas, preview and thumbnail draws with unless it is given a skin.

## Methods

- [Delete](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/delete.md): (static) Delete a stored skin. The canvas reverts to the default if it was using it.
- [Exists](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/exists.md): (static)
- [Export](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/export.md): (static)
- [Import](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/import.md): (static) Copy a skin file into the folder under its own file name.
- [IsCurrent](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/iscurrent.md): (static)
- [IsValidName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/isvalidname.md): (static) A name is valid when it can be a file name and is not the reserved default.
- [Load](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/load.md): (static) Load a stored skin. Faulty lines are skipped and reported.
- [LoadCurrent](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/loadcurrent.md): (static) The definition the canvas should use, or null for the built-in skins. A missing or faulty file is logged and treated as the default.
- [Names](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/names.md): (static) The names of every stored skin, sorted.
- [NamesAndInfos](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/namesandinfos.md): (static) The names, infos and authors of every stored skin, sorted by name.
- [PathOf](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/pathof.md): (static)
- [Rename](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/rename.md): (static) Rename a stored skin. Fails when the new name is taken or invalid. The canvas follows the skin it was using.
- [Save](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/save.md): (static)
- [StandardNames](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/standardnames.md): (static) The names of the skins shipped as resources, other than the default, sorted.
- [StandardText](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/standardtext.md): (static) The text of a shipped skin, or null if there is no such resource.
- [UniqueName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/uniquename.md): (static) A name not yet taken: the stem itself, or the stem followed by the first free number.

## Events

- [CurrentChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skinserver/currentchanged.md): (static) Raised when the current skin changes, whether by choosing another skin or by saving or importing over the one in use. Capsule layouts depend on the skin's shape, so listeners have to invalidate their layouts, not only repaint.
