155 lines
5.9 KiB
Lua
155 lines
5.9 KiB
Lua
-- standard awesome library -----------------------------------------
|
|
local awful = require("awful")
|
|
local hotkeys_popup = require("awful.hotkeys_popup").widget
|
|
-- theme handling library ------------------------------------------
|
|
local beautiful = require("beautiful") -- for awesome.icon
|
|
|
|
local M = {} -- menu
|
|
local _M = {} -- module
|
|
|
|
---------------------------------------------------------------------
|
|
|
|
-- import terminal variable from rc.lua -----------------------------
|
|
local terminal = RC.vars.terminal
|
|
|
|
-- import editor variable from OS environment -----------------------
|
|
local editor = os.getenv("EDITOR") or "nano"
|
|
local editor_cmd = terminal .. " -e " .. editor
|
|
|
|
---------------------------------------------------------------------
|
|
|
|
-- make it harder to quit awesome accidentally ----------------------
|
|
M.quitmenu =
|
|
{
|
|
{ "i mean it!", function() awesome.quit() end }
|
|
}
|
|
|
|
-- "awesome" menu ---------------------------------------------------
|
|
M.awesome = {
|
|
{ "hotkeys" , function() hotkeys_popup.show_help(nil,awful.screen.focused())
|
|
end },
|
|
{ "manual" , terminal
|
|
.. " -e man awesome" },
|
|
{ "edit config" , editor_cmd
|
|
.. " "
|
|
.. awesome.conffile },
|
|
{ "terminal" , terminal },
|
|
{ "restart" , awesome.restart },
|
|
{ "quit" , M.quitmenu }
|
|
}
|
|
|
|
-- browsers and other network-oriented software ---------------------
|
|
M.network = {
|
|
{ "firefox" , "firefox" },
|
|
{ "discord" , "flatpak run\
|
|
com.discordapp.Discord" },
|
|
{ "thunderbird" , "thunderbird" },
|
|
{ "steam" , "steam" },
|
|
{ "qbittorrent" , "qbittorrent" },
|
|
{ "keepassxc" , "keepassxc" }
|
|
}
|
|
|
|
-- DEVELOPERS, DEVELOPERS, DEVELOPERS, DEVELOPERS -------------------
|
|
M.develop = {
|
|
{ "vs code" , "flatpak run\
|
|
com.visualstudio.code" },
|
|
{ "bless" , "bless" },
|
|
{ "beekeeper studio" , "flatpak run\
|
|
io.beekeeperstudio.Studio" },
|
|
{ "sqlite browser" , "sqlitebrowser" }
|
|
}
|
|
|
|
-- emulators --------------------------------------------------------
|
|
M.emulators = {
|
|
{ "citra" , "flatpak run\
|
|
org.citra_emu.citra" },
|
|
{ "dolphin" , "flatpak run\
|
|
org.DolphinEmu.dolphin-emu" },
|
|
{ "yuzu" , "flatpak run\
|
|
org.yuzu_emu.yuzu" },
|
|
{ "duckstation" , "flatpak run\
|
|
org.duckstation.DuckStation" },
|
|
{ "PPSSPP" , "flatpak run\
|
|
org.ppsspp.PPSSPP" }
|
|
}
|
|
|
|
-- vintage story [different versions of VS for mods] ----------------
|
|
M.vtgstry ={
|
|
{ "latest" , "vintagestory" },
|
|
{ "flatpak" , "flatpak run\
|
|
at.vintagestory.VintageStory" }
|
|
}
|
|
|
|
-- videogames -------------------------------------------------------
|
|
M.games = {
|
|
{ "emulators" , M.emulators },
|
|
{ "vintage story" , M.vtgstry },
|
|
{ "team fortress 2" , "steam\
|
|
steam://rungameid/440" },
|
|
{ "ballisticNG" , "steam\
|
|
steam://rungameid/473770" },
|
|
{ "them's fightin' herds" , "steam\
|
|
steam://rungameid/574980" },
|
|
{ "osu!" , "flatpak run\
|
|
sh.ppy.osu" },
|
|
{ "minecraft" , "flatpak run\
|
|
org.prismlauncher.PrismLauncher" }
|
|
}
|
|
|
|
-- utilities [kind of a misc category] ------------------------------
|
|
M.utils = {
|
|
{ "catfish" , "catfish" },
|
|
{ "anki" , "flatpak run net.ankiweb.Anki" },
|
|
{ "text pieces" , "flatpak run\
|
|
com.github.liferooter.textpieces" },
|
|
{ "alacarte" , "alacarte" },
|
|
{ "flatseal" , "flatpak run com.github.tchx84.Flatseal" },
|
|
{ "xarchiver" , "xarchiver" },
|
|
{ "piper" , "piper" },
|
|
{ "wally" , "wally" }
|
|
}
|
|
|
|
-- "media" programs [image viewers, video players, etc] -------------
|
|
M.media = {
|
|
{ "hydrus" , "flatpak run io.github.hydrusnetwork.hydrus" },
|
|
{ "youtube" , "/usr/lib64/chromium-browser/chromium-browser.sh\
|
|
--profile-directory=Default\
|
|
--app-id=agimnkijcaahngcdmfeangaknmldooml" },
|
|
{ "spotify" , "flatpak run com.spotify.Client" }
|
|
}
|
|
|
|
-- "visual arts" stuff ----------------------------------------------
|
|
M.vis = {
|
|
{ "blender" , "steam\
|
|
steam://rungameid/365670" },
|
|
{ "krita" , "krita" },
|
|
{ "GIMP" , "gimp-2.10" },
|
|
{ "beeref" , "flatpak run\
|
|
org.beeref.BeeRef" }
|
|
}
|
|
|
|
---------------------------------------------------------------------
|
|
|
|
function _M.get()
|
|
|
|
-- main menu --------------------------------------------------------
|
|
local menu_items = {
|
|
{ "awesome" , M.awesome,
|
|
beautiful.awesome_subicon },
|
|
{ "terminal" , terminal },
|
|
{ "thunar" , "Thunar" },
|
|
{ "www" , M.network },
|
|
{ "media" , M.media },
|
|
{ "dev" , M.develop },
|
|
{ "art" , M.vis },
|
|
{ "games" , M.games },
|
|
{ "utils" , M.utils }
|
|
}
|
|
|
|
return menu_items
|
|
end
|
|
|
|
---------------------------------------------------------------------
|
|
|
|
return setmetatable({}, { __call = function(_, ...) return _M.get(...) end })
|