Skip to content

Configuration

Deepjyoti Barman edited this page Jul 1, 2022 · 9 revisions

Table of Contents

Opening settings

Settings menu can be opened in more than one ways.

  • You can type --setting in the search bar and hit enter and it will open up the settings menu.
  • You can hit ctrl+, (control plus comma) when startpage is open and it will open the settings menu.
  • You can open it by clicking on the settings icon on the bottom right of the page. (This might not be enabled by default. To enable go to settings by any of the above methods and update the settingsIcon field to true)

The latter was added since the search bar can be hidden by editing the config, so there was need for an alternate way.

Supported values in settings

You can open settings by following one of the ways above.

A JSON editor will open up where you can make the changes.

Name Supported Values Default Description
searchEngine <DuckDuckGo | Google | Bing |Yahoo> DuckDuckGo Search Engine to use for searching from the bar
user string Deepjyoti (That's my name) Name of the user to use on the welcome message
title string startpage Title to show in the browser window
disableMessage <false | true> false Hide the Welcome message
message string Not in config by default Static custom message
disableDate <false | true> false Hide the date
disableSearchBar <false | true> false Hide the search bar
disable24Hour <false | true> true Disable 24 hour clock and show time in 12 hour format
disableWeather <false | true> true Disable the weather beside the date
settingsIcon <false | true > false Show the settings icon on the bottom right
weatherConf Object (Check default for child keys) {"location": "Pune India","unit": "fah"} Configuration for the weather, location and unit etc. In "unit", "fah" is short for Fahrenheit and "cel" for Celcius, however the whole word can also be passed.
squares Object of arrays Check config.json for default values Values and Names of shortcuts for the cards.
quickLinks Object Check config.json for default values Key and details for quick link invocation
linkInNewTab Boolean false This field indicates whether links should be opened in new tabs. If true, all links will be opened in new tabs (except the ones that have explicitly set newTab as false)

Customizing the squares

The squares are pretty customizable as well.

Each square should be present inside the squares Object in the config.json file or should be set when --setting is clicked.

Each square can contain the following values.

Name

Name

The name variable contains the name of the square block, the one that appears on the top of the square/card.

Datatype: String

For Eg: If you want to set the squares name to Media, it should be

"name": "Media"
Url

Url

Should be a link. This will make the title of the square card clickable, i:e the title will have a nested a with the href set to the provided link. If the link is not passed then the title will not be clickable. If the link is passed, the title will be behave like a link.

Datatype: String

For eg: If you have a square with the name Media and you want it to open youtube.com when clicked, you can pass something like this

"url": "https://youtube.com"
Color

Color

The primary color that the heading of the square has and also the one that the links will have when the cursor is over them.

Datatype: String

For Eg: If you want to set the color to Black or #000 or #000000, the string should be one of the following

"color": "Black",

OR

"color": "#000"

OR

"color": "#000000"

NOTE: Currently supports CSS color names and HEX values.

Links

Links

This is an array that will contain objects which will later be parsed to URL. Each object should contain two values.

Datatype: Array

  • name: Name of the URL
  • url: The URL.
  • newTab: Whether or not the link should be opened in a new tab

newTab will be given priority of linkInNewTab since it is explicitly provided in every link.

For eg: If you want something like Netflix and it should not open in a new tab, the object should be

{ "name": "Netflix", "url": "https://netflix.com", "newTab": false }

Customizing the quicklinks

The quicklinks help users easily open links and search.

The idea is simple, quicklinks can be used to either search on a page or open a direct link on a page.

Invocation is done in the following way:

  • type g' to invoke search for the item that is defined as g.
  • type g/ to invoke a direct link for the item that is defined as g.
Search quicklink

A quicklink can be defined in the following way to search on GitHub

quickLinks: {
    "g": {
        URL: "https://github.com",
        Search: "/search?q="
    }
}

The above will tell startpage that when the user types g'test on the search bar, a search request will be opened on GitHub.

quicklinks can be defined in shorthand in the following way:

quickLinks: {
    "g": "https://github.com"
}

In the above case, search will be defined as /search?q= which works for most websites.

So once the above is defined, typing g'test will resolve to https://github.com/search?q=test

Direct QuickLink

A quicklink can be defined in the following way to open a direct link on reddit

quickLinks: {
    "r": {
        "URL": "https://reddit.com"
    }
}

The above will tell startpage that when the user types r/r/startpage on the search bar, it should open the URL: https://reddit.com/r/startpage.

quickLinks can be defined in shorthand in the following way:

quickLinks: {
    "r": "https://reddit.com"
}

Similarly other quicklinks can be defined in the config and they will be automatically picked up.

The idea was picked up from tilde which is also an amazing startpage!