-- 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 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 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 } } 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 } } 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" }, { "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" } } 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" }, } M.utils = { { "catfish", "catfish" }, { "anki", "flatpak run net.ankiweb.Anki" }, { "text pieces", "flatpak run com.github.liferooter.textpieces" }, { "menulibre", "menulibre" }, { "flatseal", "flatpak run com.github.tchx84.Flatseal" }, { "piper", "piper" } } 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" } } -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 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 }, { "utils", M.utils } } return menu_items end -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- return setmetatable({}, { __call = function(_, ...) return _M.get(...) end })