--   This file is part of Reno desktop.
--
--  Reno desktop is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
--
--  Reno desktop is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--
--  You should have received a copy of the GNU General Public License along with Reno desktop. If not, see <https://www.gnu.org/licenses/>. 

local parsers = require("parsers")
-- Conf parser
local data = [[
# Global variables
[global]
terminal = "$HOME/.local/bin/st"
browser = "prime-run librewolf"
modkey = "Mod4"
theme = "reno98"
shell = "zsh"

# Keybindings
# Format: <modifier>(+<modifier>+...)+<key> = "<command or :internal.function>"
# "modkey" as modifier will be substituted for modkey variable in [global]
[keys]
modkey+Up           = ":root.client_next"
modkey+Down         = ":root.client_previous"
modkey+Control+Up   = ":root.screen_next"
modkey+Control+Down = ":root.screen_previous"
modkey+Tab          = ":root.client_swap"
modkey+Return       = ":root.spawn_terminal"
modkey+Shift+Return = ":root.spawn_browser"

# Client keys only work if a focused client exists
modkey+Shift+c      = ":client.kill"
modkey+t            = ":client.cycle_screen"
modkey+o            = ":client.ontop"
modkey+b            = ":client.below"
modkey+f            = ":client.fullscreen"
modkey+n            = ":client.minimize"
modkey+m            = ":client.maximize"

]]
for k,v in pairs(parsers.conf(data)) do
    print("Block: ["..k.."]")
    for kk,vv in pairs(v) do 
        print(kk,vv)
    end
end
