Skip to content

imf4ll/rough

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A GTK based app launcher

 

📜 Major release v0.2.0:

Introducing "modules":

In addition of bug fixes, we bring a new system for rough, called "modules", who expands rough uses, adding some new features and purposes, like the old "calculator" who give fast access to a calculator, and two new modules, "weather" who presents the current weather on your city and "news" who presents the last news based on your country. We are open to requests and ideas to news modules, feel free to open a issue.

Update v0.2.1:

  • Some fixes on v0.2.0 major update.
  • Added "video_downloader" module, that downloads videos from Twitter, Facebook, Pinterest, Rumble and Reddit (will be added more later, and the module is a fork from "rdl", a standalone project from me), just paste video link and wait for 1 or 2 seconds, a list will appear, just click or select with arrows and enter keys to download.

 

❗️ Install:

This program have Linux as target system, we don't give support for any other system

git clone https://github.com/imf4ll/rough.git && cd rough
make install

 

❗️ Update:

git clone https://github.com/imf4ll/rough.git && cd rough
make update

 

Or, if you maintain the source code

git pull origin master
make update

 

🚀 Usage:

Running on app-only mode (This is the default mode):

rough

On this mode, you can only run apps, without any shell support

 

Running on shell mode:

rough --shell

On this mode, you can run apps and shell commands directly

 

Available options

Option Description
-s/--shell Runs on shell mode
-m/--modules Shows all modules
-e/--enable-module Enables a module (ex: "rough -e calc" or "rough -e 'calc, weather'")
-d/--disable-module Disables a module (ex: "rough -d calc" or "rough -d 'calc, weather'")

 

⚙️ Modules

  • Calculator
  • Weather (OpenWeather API)
  • News (News API)
  • Video Downloader

Setup weather module

  1. Open "config.json" and set "modules" > "weather" > "enable" to true.

  2. Browse to OpenWeather API.

  3. Create an account.

  4. Navigate to My API keys.

  5. Copy key value. (ex: 1a79a4d60de6718e8e5b326e338ae533)

  6. Return to "config.json" and insert API key on "modules" > "weather" > "key".

Setup news module

  1. Open "config.json" and set "modules" > "news" > "enable" to true.

  2. Browse to News API.

  3. Create an account.

  4. Copy your API key.

  5. Return to "config.json" and insert API key on "modules" > "news" > "key".

Setup video downloader

  1. Open "config.json" and set "modules" > "video_downloader" > "enable" to true.

  2. Set downloads location on "path" key.

 

⚙️ Configuration:

Default template: "YOURHOME/.config/rough/config.json"

{
    "window": {
        "width": 600,
        "border_width": 6,
        "border_color": "#252525",
        "opacity": 1.0,
        "background_color": "0, 0, 0",
        "font_color": "#FFFFFF",
        "font": ""
    },
    "container": {
        "max_height": 200
    },
    "textbox": {
        "transparent": false
    },
    "list": {
        "margin_top": 6,
        "transparent": false,
        "inline": false,
        "icons": true
    },
    "modules": {
        "calc": true,
        "weather": {
            "enable": false,
            "key": "OpenWeather API key",
            "city": "City name",
            "cache_time": 30, // cache interval in minutes
            "units": "metric" // metric for celsius, imperial for fahrenheit
        },
        "news": {
            "enable": false,
            "key": "News API key",
            "region": "us", // ex: us, br
            "browser": "chrome", // ex: chrome, brave
            "cache_time": 60 // cache interval in minutes
        },
        "video_downloader": {
            "enable": false,
            "path": "" // Default downloads path (ex: /home/YOURHOME/Videos)
        }
    }
}

 

💅 Available styling options:

Window

Option Description
width Set window width
border_width Set window border width
border_color Set window border color (like in CSS)
opacity If smaller than 1.0, will set a alpha on the background
background_color If transparent enabled, will be the background color (use values between 0 and 1, like "(0.40, 0.42, 0.54)")
font_color Set font color of entire application
font Set font family (Give only the name, ex: '"font": Inter')

 

Container (ScrolledWindow)

Option Description
max_height Set max height of container

 

Textbox (Entry)

Option Description
transparent If window opacity smaller than 1.0, receive true or false to transparency

 

List (ListBox)

Option Description
margin_top Set margin-top of the list
transparent If window opacity smaller than 1.0, receive true or false to transparency
inline Set app presentation's orientation (true = Horizontal, false = Vertical)
icons Presents icons on app presentation