2023-04-20 04:08:44 +00:00
|
|
|
-- 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
|
|
|
|
|
|
|
|
-- reading
|
|
|
|
-- https://awesomewm.org/apidoc/popups%20and%20bars/awful.menu.html
|
|
|
|
|
|
|
|
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
|
|
|
|
|
|
|
-- This is used later as the default terminal and editor to run.
|
|
|
|
local terminal = RC.vars.terminal
|
|
|
|
|
|
|
|
-- Variable definitions
|
|
|
|
-- This is used later as the default terminal and editor to run.
|
|
|
|
local editor = os.getenv("EDITOR") or "nano"
|
|
|
|
local editor_cmd = terminal .. " -e " .. editor
|
|
|
|
|
|
|
|
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
|
|
|
|
2023-04-23 01:32:15 +00:00
|
|
|
-- this is an attempt to make it harder to quit awesome accidentally.
|
|
|
|
-- my hand likes to twitch sometimes so i've accidentally quit on more
|
|
|
|
-- than one occasion
|
|
|
|
M.quitmenu = {
|
|
|
|
{ "i mean it!", function() awesome.quit() end }
|
|
|
|
}
|
|
|
|
|
2023-04-20 04:08:44 +00:00
|
|
|
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 },
|
2023-04-23 01:32:15 +00:00
|
|
|
{ "quit", M.quitmenu }
|
2023-04-20 04:08:44 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
M.network = {
|
|
|
|
{ "firefox", "firefox" },
|
|
|
|
{ "discord", "flatpak run com.discordapp.Discord" },
|
|
|
|
{ "thunderbird", "thunderbird" },
|
|
|
|
{ "steam", "flatpak run com.valvesoftware.Steam" },
|
|
|
|
{ "qbittorrent", "qbittorrent" },
|
|
|
|
{ "keepassxc", "keepassxc" },
|
|
|
|
}
|
|
|
|
|
|
|
|
M.develop = {
|
|
|
|
{ "vs code", "flatpak run com.visualstudio.code" },
|
|
|
|
{ "bless", "bless" },
|
|
|
|
{ "beekeeper studio", "flatpak run io.beekeeperstudio.Studio" },
|
|
|
|
{ "sqlite browser", "sqlitebrowser" }
|
|
|
|
}
|
|
|
|
|
|
|
|
M.emulators = {
|
|
|
|
{ "citra", "flatpak run org.citra_emu.citra" },
|
|
|
|
{ "dolphin", "flatpak run org.DolphinEmu.dolphin-emu" },
|
2023-04-23 01:32:15 +00:00
|
|
|
{ "yuzu", "flatpak run org.yuzu_emu.yuzu" },
|
|
|
|
{ "duckstation", "flatpak run org.duckstation.DuckStation" },
|
|
|
|
{ "PPSSPP", "flatpak run org.ppsspp.PPSSPP" }
|
|
|
|
}
|
|
|
|
|
|
|
|
M.vtgstry = {
|
|
|
|
{ "latest", "mono /home/nu/ApplicationData/vintagestory/Vintagestory.exe" },
|
|
|
|
{ "flatpak", "flatpak run at.vintagestory.VintageStory" }
|
2023-04-20 04:08:44 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
M.games = {
|
|
|
|
{ "emulators", M.emulators },
|
2023-04-23 01:32:15 +00:00
|
|
|
{ "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" },
|
2023-04-20 04:08:44 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
M.utils = {
|
|
|
|
{ "catfish", "catfish" },
|
2023-04-23 01:32:15 +00:00
|
|
|
{ "anki", "flatpak run net.ankiweb.Anki" },
|
2023-04-20 04:08:44 +00:00
|
|
|
{ "text pieces", "flatpak run com.github.liferooter.textpieces" },
|
2023-04-23 01:32:15 +00:00
|
|
|
{ "menulibre", "menulibre" },
|
2023-04-20 04:08:44 +00:00
|
|
|
{ "flatseal", "flatpak run com.github.tchx84.Flatseal" },
|
|
|
|
{ "piper", "piper" }
|
|
|
|
}
|
|
|
|
|
|
|
|
M.media = {
|
2023-04-23 01:32:15 +00:00
|
|
|
{ "hydrus", "flatpak run io.github.hydrusnetwork.hydrus" },
|
2023-04-20 04:08:44 +00:00
|
|
|
{ "youtube", "/usr/lib64/chromium-browser/chromium-browser.sh --profile-directory=Default --app-id=agimnkijcaahngcdmfeangaknmldooml"},
|
|
|
|
{ "spotify", "flatpak run com.spotify.Client" }
|
|
|
|
}
|
|
|
|
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
|
|
|
|
|
|
|
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 },
|
|
|
|
{ "games", M.games },
|
2023-04-23 01:32:15 +00:00
|
|
|
{ "utils", M.utils }
|
2023-04-20 04:08:44 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return menu_items
|
|
|
|
end
|
|
|
|
|
|
|
|
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
|
|
|
|
|
|
|
return setmetatable({}, { __call = function(_, ...) return _M.get(...) end })
|