Professional Documents
Culture Documents
Switching Themes: Nama: Farhandi Irfan Faishal Kelas: TIP3 2019 NIM: 41190031
Switching Themes: Nama: Farhandi Irfan Faishal Kelas: TIP3 2019 NIM: 41190031
Switching Themes
RStudio provides support for three global themes that customize RStudio's user interface: Classic, Modern
and Sky. By default, the Modern theme is selected.
To switch between themes, from the "Global Options" menu, use the "RStudio theme" dropdown:
Modern Theme
The modern theme uses a similar color palette to RStudio 1.0 but flattens all user interface elements:
Panels, buttons, dialogs, etc. making it looks as follows:
Sky Theme
The Sky theme is similar to the Modern theme, except for the tab and toolbar headers:
Dark Theme
The dark theme is a superset to the Modern and Sky themes that is activated whenever the Editor theme
uses a dark palette.
Classic Theme
The Classic theme does not flatten any of the elements in the user interface and looks the in the same way
that RStudio 1.0 and other versions used to look like:
To add a custom editor theme, navigate to the Appearance Preferences Pane in Global Options:
Next, click the "Add..." button and choose the desired tmTheme or rstheme file. If you are prompted to
install R packages, select "Yes".
Now you should see your custom theme in the list of editor themes. Simply select the theme as described
in the Switching Themes section of this article.
Custom editor themes can be added either for the current user or for all users. Adding a theme from the
Global Options UI will always add it for the current user. To add a theme for all users, see the Themes
API section.
Remove a Theme
Custom editor themes can also be removed from RStudio. To do so, start by navigating back to the
Appearance Preferences Pane in Global Options and select the theme you wish to remove from the list of
editor themes. If the theme is a custom theme, the "Remove" button should become active. If the theme
you wish to remove is currently active, you must switch to a different theme before being able to remove
it.
Click the remove button, and then click yes when prompted. Keep in mind that removing a theme is a
permanent action, and cannot be undone.
After you click "Yes", the theme should be removed from RStudio.
1. Start with a tmTheme file. You can make one using an online tmTheme editor.
2. Convert the tmTheme file to an .rstheme file. This can be done using the RStudio Themes
API, rstudioapi::convertTheme.
3. The .rstheme file is a plain-text CSS file that will be applied to the IDE, and it can contain
any CSS you like. Open the CSS file in RStudio and make any additional tweaks you need.
4. Upload the .rstheme file to a static file host such as Github so that it has a URL.
Once uploaded, you can encourage people to try out your theme by running:
Themes API
For those interested in authoring packages or integrating themes programmatically, you can make use of
the rstudioapi package. At the time of this writing, this will require using the development verison of this
package by running:
devtools::install_github("rstudio/rstudioapi")
rstudioapi::getThemeInfo()
which, for the Modern theme and Xcode this function would return:
$editor
[1] "Xcode"
$global
[1] "Modern"
$dark
[1] TRUE
This can be used to properly customize the output from your package to match the RStudio theme selected
by each user.
Note: The following functions are only available in RStudio Preview, 1.2 or above.
which returns the name of the newly added theme. It's parameters are described below:
Parameter Description
themePath A full or relative path or URL to the rstheme file to add.
apply Whether to immediately apply the newly added theme. Default: FALSE.
Whether to force the add operation if a file with the same name already exists.
force
Default: FALSE.
globally Whether to add the theme for all users (TRUE) or the current user (FALSE). Default: FALSE.
Parameter Description
themePath A full or relative path to the tmTheme file to add.
add Whether to add the converted theme to RStudio immediately. Default: TRUE.
A full or relative path where an additional copy of the converted theme will be saved. If this
outputLocation
value is not set and add is set to FALSE, no file will be saved. Default: NULL.
apply Whether to immediately apply the newly added theme. Default: FALSE.
Whether to force the add operation if a file with the same name already exists.
force
Default: FALSE.
globally Whether to add the theme for all users (TRUE) or the current user (FALSE). Default: FALSE.
rstudioapi::applyTheme(name)
rstudioapi::removeTheme(name)
rstudioapi::getThemes()
which returns a list of themes in the format id = list(name = "a theme name", isDark =
TRUE). For example, some values in the list would look like:
$`ambiance`
$`ambiance`$`name`
[1] "Ambiance"
$`ambiance`$isDark
[1] TRUE
$chaos
$chaos$`name`
[1] "Chaos"
$chaos$isDark
[1] TRUE
$chrome
$chrome$`name`
[1] "Chrome"
$chrome$isDark
[1] FALSE