Compare commits

...

17 Commits

Author SHA1 Message Date
Frodd
1b93e9d0a5 package updates 2025-09-23 19:43:52 +01:00
Frodd
7ba7a346e9 correct hyprland config and update weather icons 2025-09-12 21:24:39 +01:00
Frodd
59b838e957 add weather, cpu and memory to waybar 2025-09-03 22:38:59 +01:00
Frodd
376974c1c5 Update versions 2025-09-03 21:39:01 +01:00
Frodd
0b4a7f1792 add filebrowser to telescope 2025-08-31 21:44:25 +01:00
Frodd
a746dddf70 add which-key to nvim 2025-08-31 21:18:57 +01:00
Frodd
9ef68a2a40 add blink complete for nvim 2025-08-31 20:57:59 +01:00
Frodd
c9f51dc8c7 adding none-ls to nvim 2025-08-31 15:40:29 +01:00
Frodd
74fedf0e27 add btop config 2025-08-31 15:05:11 +01:00
Frodd
090acf9740 update readme 2025-08-31 14:39:41 +01:00
Frodd
fdfb06ad5f add battery to fastfetch config 2025-08-31 14:33:35 +01:00
Frodd
1deea68717 add fastfetch config 2025-08-30 18:28:22 +01:00
Frodd
92af35e712 add swaync and configs as well as color highlighting in nvim 2025-08-29 16:01:26 +01:00
Frodd
5c361f808d add avatar image and update hyprlock 2025-08-29 14:41:13 +01:00
Frodd
dc3310170b update wofi config 2025-08-29 14:18:27 +01:00
Frodd
8a4f204ad5 update telescope config to search and grep hidden files 2025-08-29 14:10:53 +01:00
Frodd
0a115d3612 update hyprlock config 2025-08-29 14:10:29 +01:00
23 changed files with 1608 additions and 107 deletions

View File

@@ -6,6 +6,7 @@ This is a repo for all the various config files
- hyprpaper: wallpaper manager for hyprland
- the `backgrounds` directory is needed for this
- the `scripts` directory is also needed for this as this randomises the wallpaper
- hyprlock: this is the lock screen
- the `hyprmocha` directory is needed for this to colour it correctly
- kitty: the prefered terminal emulator
@@ -13,6 +14,11 @@ This is a repo for all the various config files
- starship: the command prompt style
- wofi: the program launcher
- waybar: this bar at the top of the screen
- hypridle: this dims the screen, locks, suspsends the pc after a timeout
- fastfetch: a pc summary to run from the cli
- swaync: this is a notification manager (useful for the screenshot tool `hyprshot`)
- starhsip: this is for the command prompt
- btop: this is to theme the btop app
### How to use

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -0,0 +1,31 @@
@@@@@@@##############%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@#++*+++++++++++++**#####%%@@@@@@@@@@@@@@@@@@@@@@@@@@@
@%##*+++***+++*###**+++++**#############%@@@@@@@@%%%%%@@@@
%##*+++****########%%#*+++++*#########################%@%@
%@#*******##*+=+===+###***++++*#######################@@%@
%++++***#*===+++======+#%%*++++++**#####%#####%#******#@%@
%#+++*##+=+###%@%*+=====*%%++++++++++**#########%#*##%@@%@
@*++**#=+#%######%#=====+#%*+++++++*++++++++**#**#*+==*%@@
%+++*#*=*%########%=====+*%*++++++++++++++++++*##+====+=%@
%+++*##++#%######%+=====+##++++++****++++++++*##===+#%@*+@
%++**#%#*++###%%*======+*@*+++++******++++++*##===+####@*@
%+*##*#%###*++++++++++*%@#+++++*******+++++**#*==+#%#####@
%++*%%@#%@%########*##@%#*++++********+++*%%#%*==+%%###*@@
%+++*#@%@@%%@@@@@@@@%@%#*+++*********++++#@%%%%*++#%##*%%@
%+++#@%%@@%##%%%%@%#%%%*+++**********++++#@%@%@######@@%%@
%+++++**%@@%%%#%%%%#**++++***********++++*@%%%@@#*%@@%%%%@
%+++++++++++*******+++@@@#++**********+++*%@@%%@@@@%%%%%%@
%+++++++++++++++++++++*#%%%%%*++++++++++++*%%%%%@@%%%%%%%@
%++++++++++++++++++++++++*######%%%%%@@@*++*####@@@%%%%%%@
%+++*#%@@@@@@@@%#*+++++++++**#######***++++*###%%##@@%%%%@
%++*@@@@@%#**%%#*%@%@%+++++++++++++++++++++###%%#%%#*%%%%@
%++++***#@%########**#@##%%%%@@@@@%%**+++*###%%%#####*#@@@
%++++++++*#%%%%%%@@@@@%##%%#*%%%%@%%@@@@@@###%@@@@@@@@@@%%
%+++++++++***########%%%%%%%@@%%%%%%@%%@@@%##%@##########@
@##***++++++++++++*********###%%%%@@@%%%####%@@##########%
@#######**+++++++++++++++++++***##########%@@@@%#########%
@@@%######***#*+++++++++++++++++*######%%%@%@@@%#########%
@%%@%%########%%%#**+++++++***#######%%%%%%@@@@%%%#######%
@%%%%%@@%%#######%%%%%%%%%%#######%%%%%%@@@@@@@%%%%%#####%
@%%%%%%%%@@%###################%%%%%#%@@@@@@@@@%%%%%%####%
@@@@@@@%%%@@@@%%%%%%%%%%%%%%@@@@%%%@@@@@@@@@@@@@@@@@@%%%%@

View File

@@ -0,0 +1,83 @@
# Main background, empty for terminal default, need to be empty if you want transparent background
theme[main_bg]="#1e1e2e"
# Main text color
theme[main_fg]="#cdd6f4"
# Title color for boxes
theme[title]="#cdd6f4"
# Highlight color for keyboard shortcuts
theme[hi_fg]="#89b4fa"
# Background color of selected item in processes box
theme[selected_bg]="#45475a"
# Foreground color of selected item in processes box
theme[selected_fg]="#89b4fa"
# Color of inactive/disabled text
theme[inactive_fg]="#7f849c"
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
theme[graph_text]="#f5e0dc"
# Background color of the percentage meters
theme[meter_bg]="#45475a"
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
theme[proc_misc]="#f5e0dc"
# CPU, Memory, Network, Proc box outline colors
theme[cpu_box]="#cba6f7" #Mauve
theme[mem_box]="#a6e3a1" #Green
theme[net_box]="#eba0ac" #Maroon
theme[proc_box]="#89b4fa" #Blue
# Box divider line and small boxes line color
theme[div_line]="#6c7086"
# Temperature graph color (Green -> Yellow -> Red)
theme[temp_start]="#a6e3a1"
theme[temp_mid]="#f9e2af"
theme[temp_end]="#f38ba8"
# CPU graph colors (Teal -> Lavender)
theme[cpu_start]="#94e2d5"
theme[cpu_mid]="#74c7ec"
theme[cpu_end]="#b4befe"
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
theme[free_start]="#cba6f7"
theme[free_mid]="#b4befe"
theme[free_end]="#89b4fa"
# Mem/Disk cached meter (Sapphire -> Lavender)
theme[cached_start]="#74c7ec"
theme[cached_mid]="#89b4fa"
theme[cached_end]="#b4befe"
# Mem/Disk available meter (Peach -> Red)
theme[available_start]="#fab387"
theme[available_mid]="#eba0ac"
theme[available_end]="#f38ba8"
# Mem/Disk used meter (Green -> Sky)
theme[used_start]="#a6e3a1"
theme[used_mid]="#94e2d5"
theme[used_end]="#89dceb"
# Download graph colors (Peach -> Red)
theme[download_start]="#fab387"
theme[download_mid]="#eba0ac"
theme[download_end]="#f38ba8"
# Upload graph colors (Green -> Sky)
theme[upload_start]="#a6e3a1"
theme[upload_mid]="#94e2d5"
theme[upload_end]="#89dceb"
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
theme[process_start]="#74c7ec"
theme[process_mid]="#b4befe"
theme[process_end]="#cba6f7"

View File

@@ -0,0 +1,108 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/master/doc/json_schema.json",
"display": {
"separator": " ➜ "
},
"modules": [
"title",
"separator",
{
"type": "os",
"key": "OS ",
"keyColor": "31", // = color1
},
{
"type": "kernel",
"key": " ├  ",
"keyColor": "31",
},
{
"type": "packages",
"format": "{} (pacman)",
"key": " ├ 󰏖 ",
"keyColor": "31",
},
{
"type": "shell",
"key": " └  ",
"keyColor": "31",
},
"break",
{
"type": "wm",
"key": "WM ",
"keyColor": "32",
},
{
"type": "wmtheme",
"key": " ├ 󰉼 ",
"keyColor": "32",
},
{
"type": "icons",
"key": " ├ 󰀻 ",
"keyColor": "32",
},
{
"type": "cursor",
"key": " ├  ",
"keyColor": "32",
},
{
"type": "terminal",
"key": " ├  ",
"keyColor": "32",
},
{
"type": "terminalfont",
"key": " └  ",
"keyColor": "32",
},
"break",
{
"type": "host",
"format": "{5} {1} Type {2}",
"key": "PC ",
"keyColor": "33",
},
{
"type": "cpu",
"format": "{1} ({3}) @ {7} GHz",
"key": " ├  ",
"keyColor": "33",
},
{
"type": "gpu",
"format": "{1} {2} @ {12} GHz",
"key": " ├ 󰢮 ",
"keyColor": "33",
},
{
"type": "memory",
"key": " ├  ",
"keyColor": "33",
},
{
"type": "swap",
"key": " ├ 󰓡 ",
"keyColor": "33",
},
{
"type": "disk",
"key": " ├ 󰋊 ",
"keyColor": "33",
},
{
"type": "battery",
"key": " ├ 󰂄 ",
"keyColor": "33",
},
{
"type": "monitor",
"key": " └  ",
"keyColor": "33",
},
"break",
"break",
]
}

View File

@@ -36,7 +36,11 @@ $fileManager = thunar
$menu = wofi --show drun
$browser = brave
$locker = hyprlock
$screenshotregion = hyprshot -m region
$top = btop
$scripts = ~/.config/scripts
$user = $USER
#################
### AUTOSTART ###
@@ -49,7 +53,7 @@ $scripts = ~/.config/scripts
# exec-once = nm-applet &
# exec-once = waybar & hyprpaper & firefox
exec-once = waybar & hypridle & hyprpaper & $scripts/random_hyprpaper.sh
exec-once = swaync & waybar & hypridle & hyprpaper & $scripts/random_hyprpaper.sh
#############################
@@ -60,7 +64,7 @@ exec-once = waybar & hypridle & hyprpaper & $scripts/random_hyprpaper.sh
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
env = HYPRSHOT_DIR,/home/$user/pictures/screenshots
###################
### PERMISSIONS ###
@@ -211,9 +215,9 @@ input {
}
# https://wiki.hypr.land/Configuring/Variables/#gestures
gestures {
workspace_swipe = false
}
# gestures {
# workspace_swipe = false
# }
# Example per-device config
# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more
@@ -240,6 +244,8 @@ bind = $mainMod, V, togglefloating,
bind = $mainMod, space, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod, S, exec, hyprshot -m region
bind = $mainMod, T, exec, kitty -e $top
bind = $SUPER_SHIFT, L, exec, $locker
bind = $SUPER_SHIFT, S, exec, systemctl suspend

View File

@@ -2,7 +2,7 @@ source = $HOME/.config/hypr/mocha.conf
$accent = $mauve
$accentAlpha = $mauveAlpha
$font = JetBrainsMono Nerd Font
$font = MesloLGS Nerd Font Mono Bold
# GENERAL
general {
@@ -25,9 +25,9 @@ label {
color = $text
font_size = 90
font_family = $font
position = -30, 0
halign = right
valign = top
position = 0, 100
halign = center
valign = center
}
# DATE
@@ -37,20 +37,20 @@ label {
color = $text
font_size = 25
font_family = $font
position = -30, -150
halign = right
valign = top
position = 0, 30
halign = center
valign = center
}
# USER AVATAR
image {
monitor =
path = ~/.face
path = ~/.config/avatar/frodd.png
size = 100
border_color = $accent
position = 0, 75
position = 0, -140
halign = center
valign = center
}
@@ -67,11 +67,11 @@ input-field {
inner_color = $surface0
font_color = $text
fade_on_empty = false
placeholder_text = <span foreground="##$textAlpha"><i>󰌾 Logged in as </i><span foreground="##$accentAlpha">$USER</span></span>
placeholder_text = <span foreground="##$textAlpha">󰌾 Logged in as <span foreground="##$accentAlpha">$USER</span></span>
hide_input = false
check_color = $accent
fail_color = $red
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
fail_text = <b>nope...</b>
capslock_color = $yellow
position = 0, -35
halign = center

View File

@@ -1,18 +1,25 @@
{
"catppuccin": { "branch": "main", "commit": "30fa4d122d9b22ad8b2e0ab1b533c8c26c4dde86" },
"blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" },
"catppuccin": { "branch": "main", "commit": "f19cab18ec4dc86d415512c7a572863b2adbcc18" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"mini.nvim": { "branch": "main", "commit": "0ffc2af38b3c5293076317b138635d6d7c80a40f" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "f1deac7ecec88c28a250d890ba7bb35843e69cbd" },
"mini.nvim": { "branch": "main", "commit": "256d35c9e24c9cf5f5da568e121e988c6ceb1e3f" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "ed057048a281b418d5318dd5153f9486daa517a3" },
"none-ls-extras.nvim": { "branch": "main", "commit": "974bf1cd73fa3f0291211212ad60f8fe6fdd68d7" },
"none-ls.nvim": { "branch": "main", "commit": "78111a97cebed3dfda8157af8141bf1915cfc327" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-colorizer.lua": { "branch": "master", "commit": "51cf7c995ed1eb6642aecf19067ee634fa1b6ba2" },
"nvim-lspconfig": { "branch": "master", "commit": "cb33dea610b7eff240985be9f6fe219920e630ef" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-web-devicons": { "branch": "master", "commit": "f66cdfef5e84112045b9ebc3119fee9bddb3c687" },
"nvim-web-devicons": { "branch": "master", "commit": "6e51ca170563330e063720449c21f43e27ca0bc1" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"render-markdown.nvim": { "branch": "main", "commit": "f626e90bbc4b3d8f4fd29c909d958b165af13f4a" },
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
"render-markdown.nvim": { "branch": "main", "commit": "9ab9dade85d8c7d411cc89b592028da3d1b7955a" },
"snacks.nvim": { "branch": "main", "commit": "d67a47739dfc652cfcf66c59e929c704a854b37a" },
"telescope-file-browser.nvim": { "branch": "master", "commit": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"which-key.nvim": { "branch": "main", "commit": "904308e6885bbb7b60714c80ab3daf0c071c1492" }
}

View File

@@ -0,0 +1,19 @@
return {
'saghen/blink.cmp',
dependencies = { 'rafamadriz/friendly-snippets' },
version = '1.*',
---@module 'blink.cmp'
---@type blink.cmp.Config
opts = {
keymap = { preset = 'super-tab' },
appearance = {
nerd_font_variant = 'mono'
},
completion = { documentation = { auto_show = false } },
sources = {
default = { 'lsp', 'path', 'snippets', 'buffer' },
},
fuzzy = { implementation = "prefer_rust_with_warning" }
},
opts_extend = { "sources.default" }
}

View File

@@ -0,0 +1,14 @@
return {
"catgoose/nvim-colorizer.lua",
event = "BufReadPre",
opts = { -- set to setup table
},
config = function()
require('colorizer').setup({
user_default_options = {
css_fn = true,
names = false
}
})
end
}

View File

@@ -1,32 +1,35 @@
return {
{
"mason-org/mason.nvim",
version = "^1.0.0",
config = function()
require('mason').setup()
end
},
{
"mason-org/mason-lspconfig.nvim",
version = "^1.0.0",
opts = {},
config = function()
require('mason-lspconfig').setup({
ensure_installed = { "lua_ls", "ts_ls" }
})
end
},
{
"neovim/nvim-lspconfig",
version = "^1.0.0",
config = function()
local lspconfig = require('lspconfig')
lspconfig.lua_ls.setup({})
lspconfig.ts_ls.setup({})
{
"mason-org/mason.nvim",
version = "^1.0.0",
config = function()
require("mason").setup()
end,
},
{
"mason-org/mason-lspconfig.nvim",
version = "^1.0.0",
opts = {},
config = function()
require("mason-lspconfig").setup({
ensure_installed = { "lua_ls", "ts_ls" },
})
end,
},
{
"neovim/nvim-lspconfig",
dependencies = { "saghen/blink.cmp" },
version = "^1.0.0",
config = function()
local lspconfig = require("lspconfig")
local capabilities = require("blink.cmp").get_lsp_capabilities()
vim.keymap.set('n', 'K', vim.lsp.buf.hover, {})
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, {})
vim.keymap.set({ 'n', 'v' }, '<leader>ca', vim.lsp.buf.code_action, {})
end
}
lspconfig.lua_ls.setup({ capabilities = capabilities })
lspconfig.ts_ls.setup({ capabilities = capabilities })
vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
vim.keymap.set("n", "gd", vim.lsp.buf.definition, {})
vim.keymap.set({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, {})
end,
},
}

View File

@@ -0,0 +1,19 @@
return {
"nvimtools/none-ls.nvim",
dependencies = {
"nvimtools/none-ls-extras.nvim",
},
config = function()
local null_ls = require("null-ls")
null_ls.setup({
sources = {
null_ls.builtins.formatting.stylua,
null_ls.builtins.formatting.prettier,
null_ls.builtins.completion.spell,
require("none-ls.diagnostics.eslint_d"),
},
})
vim.keymap.set("n", "<leader>gf", vim.lsp.buf.format, {})
end,
}

View File

@@ -1,42 +1,66 @@
return {
{
'nvim-telescope/telescope.nvim', tag = '0.1.8',
dependencies = { 'nvim-lua/plenary.nvim' },
opts = {
defaults = {
layout_strategy = 'flex',
layout_config = { width = 0.95 },
path_display = { 'smart' },
},
pickers = {
find_files = {
hidden = true,
file_ignore_patterns = { "%.git/" }
}
}
},
config = function(_, opts)
local configs = require('telescope')
configs.setup(opts)
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<C-p>', builtin.find_files, { desc = 'Telescope find files (incl hidden)' })
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' })
end,
},
{
"nvim-telescope/telescope-ui-select.nvim",
config = function()
require("telescope").setup({
extensions = {
["ui-select"] = {
require("telescope.themes").get_dropdown {
}
{
"nvim-telescope/telescope.nvim",
tag = "0.1.8",
dependencies = {
"nvim-lua/plenary.nvim",
},
opts = {
defaults = {
layout_strategy = "flex",
layout_config = { width = 0.95 },
path_display = { "smart" },
},
pickers = {
find_files = {
hidden = true,
file_ignore_patterns = { "%.git/" },
},
live_grep = {
file_ignore_patterns = { ".git" },
additional_args = function(_)
return { "--hidden" }
end,
},
},
},
config = function(_, opts)
local configs = require("telescope")
configs.setup(opts)
local builtin = require("telescope.builtin")
vim.keymap.set("n", "<C-p>", builtin.find_files, { desc = "Telescope find files (incl hidden)" })
vim.keymap.set("n", "<leader>fg", builtin.live_grep, { desc = "Telescope live grep" })
vim.keymap.set("n", "<leader>fb", builtin.buffers, { desc = "Telescope buffers" })
vim.keymap.set("n", "<leader>fh", builtin.help_tags, { desc = "Telescope help tags" })
end,
},
{
"nvim-telescope/telescope-ui-select.nvim",
config = function()
require("telescope").setup({
extensions = {
["ui-select"] = {
require("telescope.themes").get_dropdown({}),
},
},
})
require("telescope").load_extension("ui-select")
end,
},
{
"nvim-telescope/telescope-file-browser.nvim",
config = function()
require("telescope").setup({
extensions = {
file_browser = {
hidden = true
}
}
})
require("telescope").load_extension("ui-select")
end
}
},
})
require("telescope").load_extension("file_browser")
vim.keymap.set("n", "<space>fb", ":Telescope file_browser<CR>")
vim.keymap.set("n", "<space>fb", ":Telescope file_browser path=%:p:h select_buffer=true<CR>")
end,
},
}

View File

@@ -7,8 +7,8 @@ return {
config = function()
local configs = require("nvim-treesitter.configs")
configs.setup({
ensure_installed = {"c", "lua", "vim", "vimdoc", "query", "markdown", "markdown_inline", "javascript", "typescript", "python", "html", "css"},
highlight = { enabled = true },
auto_install = true,
highlight = { enabled = true },
indent = { enabled = true },
})
end,

View File

@@ -0,0 +1,18 @@
return {
"folke/which-key.nvim",
event = "VeryLazy",
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
},
keys = {
{
"<leader>?",
function()
require("which-key").show({ global = false })
end,
desc = "Buffer Local Keymaps (which-key)",
},
},
}

View File

@@ -0,0 +1,96 @@
{
"$schema": "/etc/xdg/swaync/configSchema.json",
"ignore-gtk-theme": true,
"positionX": "right",
"positionY": "top",
"layer": "overlay",
"control-center-layer": "top",
"layer-shell": true,
"layer-shell-cover-screen": true,
"cssPriority": "highest",
"control-center-margin-top": 0,
"control-center-margin-bottom": 0,
"control-center-margin-right": 0,
"control-center-margin-left": 0,
"notification-2fa-action": true,
"notification-inline-replies": false,
"notification-body-image-height": 100,
"notification-body-image-width": 200,
"timeout": 10,
"timeout-low": 5,
"timeout-critical": 0,
"fit-to-screen": true,
"relative-timestamps": true,
"control-center-width": 500,
"control-center-height": 600,
"notification-window-width": 500,
"keyboard-shortcuts": true,
"notification-grouping": true,
"image-visibility": "when-available",
"transition-time": 200,
"hide-on-clear": false,
"hide-on-action": true,
"text-empty": "No Notifications",
"script-fail-notify": true,
"scripts": {
"example-script": {
"exec": "echo 'Do something...'",
"urgency": "Normal"
},
"example-action-script": {
"exec": "echo 'Do something actionable!'",
"urgency": "Normal",
"run-on": "action"
}
},
"notification-visibility": {
"example-name": {
"state": "muted",
"urgency": "Low",
"app-name": "Spotify"
}
},
"widgets": [
"inhibitors",
"title",
"dnd",
"notifications"
],
"widget-config": {
"inhibitors": {
"text": "Inhibitors",
"button-text": "Clear All",
"clear-all-button": true
},
"title": {
"text": "Notifications",
"clear-all-button": true,
"button-text": "Clear All"
},
"dnd": {
"text": "Do Not Disturb"
},
"label": {
"max-lines": 5,
"text": "Label Text"
},
"mpris": {
"blacklist": [],
"autohide": false,
"show-album-art": "always",
"loop-carousel": false
},
"buttons-grid": {
"buttons-per-row": 7,
"actions": [
{
"label": "直",
"type": "toggle",
"active": true,
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && nmcli radio wifi on || nmcli radio wifi off'",
"update-command": "sh -c '[[ $(nmcli radio wifi) == \"enabled\" ]] && echo true || echo false'"
}
]
}
}
}

View File

@@ -0,0 +1,600 @@
@define-color rosewater #f5e0dc;
@define-color rosewater-rgb rgb(245, 224, 220);
@define-color flamingo #f2cdcd;
@define-color flamingo-rgb rgb(242, 205, 205);
@define-color pink #f5c2e7;
@define-color pink-rgb rgb(245, 194, 231);
@define-color mauve #cba6f7;
@define-color mauve-rgb rgb(203, 166, 247);
@define-color red #f38ba8;
@define-color red-rgb rgb(243, 139, 168);
@define-color maroon #eba0ac;
@define-color maroon-rgb rgb(235, 160, 172);
@define-color peach #fab387;
@define-color peach-rgb rgb(250, 179, 135);
@define-color yellow #f9e2af;
@define-color yellow-rgb rgb(249, 226, 175);
@define-color green #a6e3a1;
@define-color green-rgb rgb(166, 227, 161);
@define-color teal #94e2d5;
@define-color teal-rgb rgb(148, 226, 213);
@define-color sky #89dceb;
@define-color sky-rgb rgb(137, 220, 235);
@define-color sapphire #74c7ec;
@define-color sapphire-rgb rgb(116, 199, 236);
@define-color blue #89b4fa;
@define-color blue-rgb rgb(137, 180, 250);
@define-color lavender #b4befe;
@define-color lavender-rgb rgb(180, 190, 254);
@define-color text #cdd6f4;
@define-color text-rgb rgb(205, 214, 244);
@define-color subtext1 #bac2de;
@define-color subtext1-rgb rgb(186, 194, 222);
@define-color subtext0 #a6adc8;
@define-color subtext0-rgb rgb(166, 173, 200);
@define-color overlay2 #9399b2;
@define-color overlay2-rgb rgb(147, 153, 178);
@define-color overlay1 #7f849c;
@define-color overlay1-rgb rgb(127, 132, 156);
@define-color overlay0 #6c7086;
@define-color overlay0-rgb rgb(108, 112, 134);
@define-color surface2 #585b70;
@define-color surface2-rgb rgb(88, 91, 112);
@define-color surface1 #45475a;
@define-color surface1-rgb rgb(69, 71, 90);
@define-color surface0 #313244;
@define-color surface0-rgb rgb(49, 50, 68);
@define-color base #1e1e2e;
@define-color base-rgb rgb(30, 30, 46);
@define-color mantle #181825;
@define-color mantle-rgb rgb(24, 24, 37);
@define-color crust #11111b;
@define-color crust-rgb rgb(17, 17, 27);
:root {
--cc-bg: @base;
--noti-border-color: @mauve;
--noti-bg: @base;
--noti-bg-alpha: 0.8;
--noti-bg-darker: rgb(38, 38, 38);
--noti-bg-hover: alpha(@base, 0.2);
--noti-bg-focus: rgba(68, 68, 68, 0.6);
--noti-close-bg: rgb(78, 78, 78);
--noti-close-bg-hover: rgb(94, 94, 94);
--text-color: @rosewater;
--text-color-disabled: rgb(150, 150, 150);
--bg-selected: rgb(0, 128, 255);
--notification-icon-size: 64px;
--notification-app-icon-size: calc(var(--notification-icon-size) / 3);
--notification-group-icon-size: 32px;
}
.close-button {
/* The notification Close Button */
background: var(--noti-close-bg);
color: var(--text-color);
text-shadow: none;
padding: 0;
border-radius: 100%;
margin-top: 8px;
margin-right: 8px;
box-shadow: none;
border: none;
min-width: 24px;
min-height: 24px;
}
.close-button:hover {
box-shadow: none;
background: var(--noti-close-bg-hover);
transition: background 0.15s ease-in-out;
border: none;
}
.notification-row {
background: none;
outline: none;
}
.notification-row:focus {
background: var(--noti-bg-focus);
}
.notification-row .notification-background {
padding: 6px 12px;
}
.notification-row .notification-background .notification {
/* The actual notification */
border-radius: 12px;
border: 1px solid var(--noti-border-color);
padding: 0;
transition: background 0.15s ease-in-out;
background: rgba(var(--noti-bg), var(--noti-bg-alpha));
}
.notification-row .notification-background .notification.low {
/* Low Priority Notification */
}
.notification-row .notification-background .notification.normal {
/* Normal Priority Notification */
}
.notification-row .notification-background .notification.critical {
/* Critical Priority Notification */
}
.notification-row .notification-background .notification .notification-default-action {
/* The large action that also displays the notification summary and body */
padding: 4px;
margin: 0;
box-shadow: none;
background: transparent;
border: none;
color: var(--text-color);
transition: background 0.15s ease-in-out;
border-radius: 12px;
}
.notification-row .notification-background .notification .notification-default-action:hover {
-gtk-icon-filter: none;
background: var(--noti-bg-hover);
}
.notification-row .notification-background .notification .notification-default-action:not(:only-child) {
/* When alternative actions are visible */
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
}
.notification-row .notification-background .notification .notification-default-action .notification-content {
background: transparent;
border-radius: 12px;
padding: 0;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .image {
/* Notification Primary Image */
-gtk-icon-filter: none;
-gtk-icon-size: var(--notification-icon-size);
border-radius: 100px;
/* Size in px */
margin: 4px;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .app-icon {
/* Notification app icon (only visible when the primary image is set) */
-gtk-icon-filter: none;
-gtk-icon-size: var(--notification-app-icon-size);
-gtk-icon-shadow: 0 1px 4px black;
margin: 6px;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box label {
/* Fixes base GTK 4 CSS setting a filter of opacity 50% for some odd reason */
filter: none;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .summary {
/* Notification summary/title */
font-size: 16px;
font-weight: bold;
background: transparent;
color: var(--text-color);
text-shadow: none;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .time {
/* Notification time-ago */
font-size: 16px;
font-weight: bold;
background: transparent;
color: var(--text-color);
text-shadow: none;
margin-right: 30px;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .body {
/* Notification body */
font-size: 15px;
font-weight: normal;
background: transparent;
color: var(--text-color);
text-shadow: none;
}
.notification-row .notification-background .notification .notification-default-action .notification-content progressbar {
/* The optional notification progress bar */
margin-top: 4px;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .body-image {
/* The "extra" optional bottom notification image */
margin-top: 4px;
background-color: white;
-gtk-icon-filter: none;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply {
/* The inline reply section */
margin-top: 4px;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-entry {
background: var(--noti-bg-darker);
color: var(--text-color);
caret-color: var(--text-color);
border: 1px solid var(--noti-border-color);
border-radius: 12px;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button {
margin-left: 4px;
background: rgba(var(--noti-bg), var(--noti-bg-alpha));
border: 1px solid var(--noti-border-color);
border-radius: 12px;
color: var(--text-color);
}
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button:disabled {
background: initial;
color: var(--text-color-disabled);
border: 1px solid var(--noti-border-color);
border-color: transparent;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button:hover {
background: var(--noti-bg-hover);
}
.notification-row .notification-background .notification .notification-alt-actions {
background: none;
border-bottom-left-radius: 12px;
border-bottom-right-radius: 12px;
padding: 4px;
}
.notification-row .notification-background .notification .notification-action {
/* The alternative actions below the default action */
margin: 4px;
padding: 0;
}
.notification-row .notification-background .notification .notification-action > button {
border-radius: 12px;
}
.notification-group {
/* Styling only for Grouped Notifications */
transition: opacity 200ms ease-in-out;
/* The groups close button */
}
.notification-group:focus {
background: var(--noti-bg-focus);
}
.notification-group.low {
/* Low Priority Group */
}
.notification-group.normal {
/* Low Priority Group */
}
.notification-group.critical {
/* Low Priority Group */
}
.notification-group .notification-group-close-button .close-button {
margin: 12px 20px;
}
.notification-group .notification-group-buttons, .notification-group .notification-group-headers {
margin: 0 16px;
color: var(--text-color);
}
.notification-group .notification-group-headers {
/* Notification Group Headers */
}
.notification-group .notification-group-headers .notification-group-icon {
color: var(--text-color);
-gtk-icon-size: var(--notification-group-icon-size);
}
.notification-group .notification-group-headers .notification-group-header {
color: var(--text-color);
}
.notification-group .notification-group-buttons {
/* Notification Group Buttons */
}
.notification-group.collapsed {
/* When another group is expanded, lower the opacity of the collapsed ones */
}
.notification-group.collapsed.not-expanded {
opacity: 0.4;
}
.notification-group.collapsed .notification-row .notification {
background-color: rgba(var(--noti-bg), 1);
}
.notification-group.collapsed .notification-row:not(:last-child) {
/* Top notification in stack */
/* Set lower stacked notifications opacity to 0 */
}
.notification-group.collapsed .notification-row:not(:last-child) .notification-action,
.notification-group.collapsed .notification-row:not(:last-child) .notification-default-action {
opacity: 0;
}
.notification-group.collapsed:hover .notification-row:not(:only-child) .notification {
background-color: var(--noti-bg-hover);
}
.control-center {
/* The Control Center which contains the old notifications + widgets */
background: var(--cc-bg);
color: var(--text-color);
border-radius: 12px;
}
.control-center .control-center-list-placeholder {
/* The placeholder when there are no notifications */
opacity: 0.5;
}
.control-center .control-center-list {
/* List of notifications */
background: transparent;
}
.control-center .control-center-list .notification {
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 3px 1px rgba(0, 0, 0, 0.7), 0 2px 6px 2px rgba(0, 0, 0, 0.3);
}
.control-center .control-center-list .notification .notification-default-action,
.control-center .control-center-list .notification .notification-action {
transition: opacity 400ms ease-in-out, background 0.15s ease-in-out;
}
.control-center .control-center-list .notification .notification-default-action:hover,
.control-center .control-center-list .notification .notification-action:hover {
background-color: var(--noti-bg-hover);
}
.blank-window {
/* Window behind control center and on all other monitors */
background: transparent;
}
.floating-notifications {
background: transparent;
}
.floating-notifications .notification {
box-shadow: none;
}
/*** Widgets ***/
/* Title widget */
.widget-title > label {
margin: 8px;
font-size: 1.5rem;
}
.widget-title > button {
margin: 8px;
border-radius: 12px;
}
/* DND widget */
.widget-dnd label {
color: var(--text-color);
margin: 8px;
font-size: 1.1rem;
}
.widget-dnd switch {
border-radius: 12px;
margin: 8px;
}
.widget-dnd switch slider {
border-radius: 12px;
}
/* Label widget */
.widget-label {
margin: 8px;
}
.widget-label > label {
font-size: 1.1rem;
}
/* Mpris widget */
:root {
--mpris-album-art-overlay: rgba(0, 0, 0, 0.55);
--mpris-button-hover: rgba(0, 0, 0, 0.5);
--mpris-album-art-icon-size: 96px;
}
.widget-mpris {
margin: 8px;
/* The parent to all players */
}
.widget-mpris .widget-mpris-player {
margin: 16px 20px;
border-radius: 12px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);
}
.widget-mpris .widget-mpris-player .mpris-background {
filter: blur(10px);
}
.widget-mpris .widget-mpris-player .mpris-overlay {
padding: 16px;
background-color: var(--mpris-album-art-overlay);
}
.widget-mpris .widget-mpris-player .mpris-overlay button:hover {
/* The media player buttons (play, pause, next, etc...) */
background: var(--noti-bg-hover);
}
.widget-mpris .widget-mpris-player .mpris-overlay .widget-mpris-album-art {
border-radius: 12px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);
-gtk-icon-size: var(--mpris-album-art-icon-size);
}
.widget-mpris .widget-mpris-player .mpris-overlay .widget-mpris-title {
font-weight: bold;
font-size: 1.25rem;
}
.widget-mpris .widget-mpris-player .mpris-overlay .widget-mpris-subtitle {
font-size: 1.1rem;
}
.widget-mpris .widget-mpris-player .mpris-overlay > box > button {
/* Change player control buttons */
}
.widget-mpris .widget-mpris-player .mpris-overlay > box > button:hover {
background-color: var(--mpris-button-hover);
}
.widget-mpris > box > button {
/* Change player side buttons */
}
.widget-mpris > box > button:disabled {
/* Change player side buttons insensitive */
}
/* Buttons widget */
.widget-buttons-grid {
padding: 8px;
margin: 8px;
border-radius: 12px;
}
.widget-buttons-grid flowboxchild > button {
border-radius: 12px;
}
.widget-buttons-grid flowboxchild > button.toggle:checked {
/* style given to the active toggle button */
}
/* Menubar widget */
.widget-menubar {
/* The revealer buttons */
/* .AnyName { Name defined in config after #
background-color: rgba(var(--noti-bg), 1.0);
padding: 8px;
margin: 8px;
border-radius: 12px;
}
.AnyName>button {
background: transparent;
border: none;
}
.AnyName>button:hover {
background-color: var(--noti-bg-hover);
} */
}
.widget-menubar > .menu-button-bar {
/* The left button container */
/* The right button container */
/* The left and right button container */
}
.widget-menubar > .menu-button-bar > .start {
margin-left: 8px;
}
.widget-menubar > .menu-button-bar > .end {
margin-right: 8px;
}
.widget-menubar > .menu-button-bar > .widget-menubar-container button {
border-radius: 12px;
margin: 0 4px;
}
.widget-menubar > revealer {
margin-top: 8px;
}
.widget-menubar > revealer button {
border-radius: 12px;
margin: 8px;
margin-top: 0;
}
/* Volume widget */
:root {
--widget-volume-row-icon-size: 24px;
}
.widget-volume {
padding: 8px;
margin: 8px;
border-radius: 12px;
}
/* Each row app icon */
.widget-volume row image {
-gtk-icon-size: var(--widget-volume-row-icon-size);
}
.per-app-volume {
background-color: var(--noti-bg-alt);
padding: 4px 8px 8px 8px;
margin: 0px 8px 8px 8px;
border-radius: 12px;
}
/* Slider widget */
.widget-slider {
padding: 8px;
margin: 8px;
border-radius: 12px;
}
.widget-slider label {
font-size: inherit;
}
/* Backlight widget */
.widget-backlight {
padding: 8px;
margin: 8px;
border-radius: 12px;
}
/* Inhibitors widget */
.widget-inhibitors > label {
margin: 8px;
font-size: 1.5rem;
}
.widget-inhibitors > button {
margin: 8px;
border-radius: 12px;
}

View File

@@ -2,7 +2,23 @@
"position": "top",
"modules-left": ["hyprland/workspaces"],
"modules-center": ["hyprland/window"],
"modules-right": ["network", "pulseaudio", "battery", "clock"],
"modules-right": ["custom/weather", "network", "cpu", "memory", "pulseaudio", "battery", "clock"],
"custom/weather": {
"interval": 600,
"exec": "python -O /home/frodd/.config/waybar/weather.py",
"format": "{icon} {text}",
"format_icons": {
"default": "󰖨"
}
},
"cpu": {
"interval": 10,
"format": " {usage}%"
},
"memory": {
"interval": 30,
"format": " {used:0.1f}/{total:0.1f} ({percentage}%)"
},
"clock": {
"format": "<span foreground='#f5c2e7'> </span>{:%a %d %H:%M}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"

View File

@@ -1,7 +1,7 @@
@import "mocha.css";
* {
font-family: "MesloLGS Nerd Font Mono Bold";
font-family: "CaskaydiaCoveNFM-Regular";
font-size: 14px;
min-height: 0;
font-weight: bold;
@@ -55,6 +55,7 @@ button:hover {
background-color: #eb4d4b;
}
#custom-weather,
#pulseaudio,
#clock,
#battery,
@@ -66,7 +67,7 @@ button:hover {
#wireplumber,
#tray,
#network,
#mode,
#mode
#scratchpad {
margin-top: 2px;
margin-bottom: 2px;
@@ -76,6 +77,21 @@ button:hover {
padding-right: 4px;
}
#custom-weather {
color: @red;
border-bottom: 2px solid @red;
}
#cpu {
color: @mauve;
border-bottom: 2px solid @mauve;
}
#memory {
color: @peach;
border-bottom: 2px solid @peach;
}
#clock {
color: @maroon;
border-bottom: 2px solid @maroon;

View File

@@ -0,0 +1,86 @@
"""Small script to generate weather data."""
import json
import os
import time
import requests
class Weather:
"""Weather data is managed here."""
error_time = 0
data = {}
script_path = ''
def __init__(self):
self.script_path = os.path.dirname(os.path.realpath(__file__))
self.get_weather()
def get_weather(self):
"""Retrieve current weather from weatherapi.com."""
try:
# retrieve data from json file
with open(
f"{self.script_path}/weather_settings.json",
"r",
encoding="UTF-8") as read_file:
self.data = json.load(read_file)
url = "api.weatherapi.com/v1/current.json"
key = self.data['key']
unit = "°C" if self.data['unit'] == "Celsius" else "°F"
parameters = self.data['parameters']
icon_pos = self.icon_position()
# retrieve weather from weatherapi.com
request = f"http://{url}?key={key}&q={parameters}"
response = requests.get(request)
self.data = json.loads(response.content)
temp = self.data['current']['temp_c'] if unit == "°C" \
else self.data['current']['temp_f']
# determine the icon
icon = self.get_icon()
# display weather
if icon_pos == "left":
print(f"{icon} {int(round(temp))}{unit}")
else:
print(f"{int(round(temp))}{unit} {icon} ")
except requests.ConnectionError:
self.error_handling()
except json.JSONDecodeError:
print("error in weather_settings.json file")
def error_handling(self):
"""Handle errors."""
time.sleep(self.error_time)
self.error_time += 10
self.get_weather()
def get_icon(self):
"""Determine weather icon in function of the current\
weather conditions and hour."""
# retrieve data from json file
with open(f"{self.script_path}/weather_icons.json",
"r",
encoding="UTF-8") as read_file:
data = json.load(read_file)
# get icon
icon = ''
for item in data:
if self.data['current']['condition']['text'].lower() in (item["night"].lower(),
item["day"].lower()):
if self.data['current']['is_day'] == 1:
icon = item["icon"]
else:
icon = item["icon-night"]
return icon
def icon_position(self):
"""Determine icon position."""
if "icon-position" in self.data:
return self.data["icon-position"]
return "right"
Weather()

View File

@@ -0,0 +1,342 @@
[
{
"code" : 1000,
"day" : "Sunny",
"night" : "Clear",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1003,
"day" : "Partly cloudy",
"night" : "Partly cloudy",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1006,
"day" : "Cloudy",
"night" : "Cloudy",
"icon" : "",
"icon-night" :""
},
{
"code" : 1009,
"day" : "Overcast",
"night" : "Overcast",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1030,
"day" : "Mist",
"night" : "Mist",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1063,
"day" : "Patchy rain possible",
"night" : "Patchy rain possible",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1066,
"day" : "Patchy snow possible",
"night" : "Patchy snow possible",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1069,
"day" : "Patchy sleet possible",
"night" : "Patchy sleet possible",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1072,
"day" : "Patchy freezing drizzle possible",
"night" : "Patchy freezing drizzle possible",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1087,
"day" : "Thundery outbreaks possible",
"night" : "Thundery outbreaks possible",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1114,
"day" : "Blowing snow",
"night" : "Blowing snow",
"icon" : "ﭽ",
"icon-night" : "ﭽ"
},
{
"code" : 1117,
"day" : "Blizzard",
"night" : "Blizzard",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1135,
"day" : "Fog",
"night" : "Fog",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1147,
"day" : "Freezing fog",
"night" : "Freezing fog",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1150,
"day" : "Patchy light drizzle",
"night" : "Patchy light drizzle",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1153,
"day" : "Light drizzle",
"night" : "Light drizzle",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1168,
"day" : "Freezing drizzle",
"night" : "Freezing drizzle",
"icon" : "ﭽ",
"icon-night" : "ﭽ"
},
{
"code" : 1171,
"day" : "Heavy freezing drizzle",
"night" : "Heavy freezing drizzle",
"icon" : "ﭽ",
"icon-night" : "ﭽ"
},
{
"code" : 1180,
"day" : "Patchy light rain",
"night" : "Patchy light rain",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1183,
"day" : "Light rain",
"night" : "Light rain",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1186,
"day" : "Moderate rain at times",
"night" : "Moderate rain at times",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1189,
"day" : "Moderate rain",
"night" : "Moderate rain",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1192,
"day" : "Heavy rain at times",
"night" : "Heavy rain at times",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1195,
"day" : "Heavy rain",
"night" : "Heavy rain",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1198,
"day" : "Light freezing rain",
"night" : "Light freezing rain",
"icon" : "ﭽ",
"icon-night" : "ﭽ"
},
{
"code" : 1201,
"day" : "Moderate or heavy freezing rain",
"night" : "Moderate or heavy freezing rain",
"icon" : "ﭽ",
"icon-night" : "ﭽ"
},
{
"code" : 1204,
"day" : "Light sleet",
"night" : "Light sleet",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1207,
"day" : "Moderate or heavy sleet",
"night" : "Moderate or heavy sleet",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1210,
"day" : "Patchy light snow",
"night" : "Patchy light snow",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1213,
"day" : "Light snow",
"night" : "Light snow",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1216,
"day" : "Patchy moderate snow",
"night" : "Patchy moderate snow",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1219,
"day" : "Moderate snow",
"night" : "Moderate snow",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1222,
"day" : "Patchy heavy snow",
"night" : "Patchy heavy snow",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1225,
"day" : "Heavy snow",
"night" : "Heavy snow",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1237,
"day" : "Ice pellets",
"night" : "Ice pellets",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1240,
"day" : "Light rain shower",
"night" : "Light rain shower",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1243,
"day" : "Moderate or heavy rain shower",
"night" : "Moderate or heavy rain shower",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1246,
"day" : "Torrential rain shower",
"night" : "Torrential rain shower",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1249,
"day" : "Light sleet showers",
"night" : "Light sleet showers",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1252,
"day" : "Moderate or heavy sleet showers",
"night" : "Moderate or heavy sleet showers",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1255,
"day" : "Light snow showers",
"night" : "Light snow showers",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1258,
"day" : "Moderate or heavy snow showers",
"night" : "Moderate or heavy snow showers",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1261,
"day" : "Light showers of ice pellets",
"night" : "Light showers of ice pellets",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1264,
"day" : "Moderate or heavy showers of ice pellets",
"night" : "Moderate or heavy showers of ice pellets",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1273,
"day" : "Patchy light rain with thunder",
"night" : "Patchy light rain with thunder",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1276,
"day" : "Moderate or heavy rain with thunder",
"night" : "Moderate or heavy rain with thunder",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1279,
"day" : "Patchy light snow with thunder",
"night" : "Patchy light snow with thunder",
"icon" : "",
"icon-night" : ""
},
{
"code" : 1282,
"day" : "Moderate or heavy snow with thunder",
"night" : "Moderate or heavy snow with thunder",
"icon" : "",
"icon-night" :""
}
]

View File

@@ -0,0 +1,5 @@
{
"key": "ca9f34fa929b4079850204607250309",
"parameters": "Lewisham,London",
"unit": "Celsius"
}

View File

@@ -59,24 +59,24 @@
/* Window */
window {
margin: 0px;
padding: 5px;
padding: 2px;
border: 1px solid @lavender;
border-radius: 6px;
border-radius: 5px;
background-color: @base;
}
/* Inner Box */
#inner-box {
margin: 2px;
padding: 5px;
margin: 1px;
padding: 2px;
border: none;
background-color: @base;
}
/* Outer Box */
#outer-box {
margin: 2px;
padding: 5px;
margin: 1px;
padding: 2px;
border: none;
background-color: @base;
}
@@ -84,25 +84,27 @@ window {
/* Scroll */
#scroll {
margin: 0px;
padding: 5px;
padding: 2px;
border: none;
background-color: @base;
}
/* Input */
#input {
margin: 2px 10px;
padding: 10px;
margin: 2px 5px;
padding: 5px;
border: none;
border-radius: 0.1em;
border-radius: 5px;
color: @text;
background-color: @base;
}
/*
#input image {
border: none;
color: @red;
}
*/
#input * {
outline: 4px solid @red!important;
@@ -110,7 +112,7 @@ window {
/* Text */
#text {
margin: 5px;
margin: 2px;
border: none;
color: @text;
}