207 lines
4.4 KiB
Lua
207 lines
4.4 KiB
Lua
--- awesome stdlib
|
|
local awful = require("awful")
|
|
local hotkeys_popup = require("awful.hotkeys_popup").widget
|
|
--- theme lib
|
|
local beautiful = require("beautiful") --- for awesome.icon
|
|
|
|
local M = {}
|
|
local _M = {}
|
|
------------------------------------------
|
|
--- import preferred programs
|
|
local terminal = RC.vars.terminal
|
|
local file_manager = RC.vars.file_manager
|
|
|
|
--- 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" },
|
|
|
|
{ "hyperbeam",
|
|
"/opt/AppImages/Hyperbeam-0.21.0.AppImage" },
|
|
|
|
{ "qbittorrent", "qbittorrent" },
|
|
|
|
{ "keepassxc", "keepassxc" },
|
|
}
|
|
|
|
--- DEVELOPERS, DEVELOPERS, DEVELOPERS, DEVELOPERS
|
|
M.develop = {
|
|
{ "vs code", "code" },
|
|
|
|
{ "bless", "bless" },
|
|
|
|
{ "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" },
|
|
|
|
{ "doom", "gzdoom" },
|
|
|
|
{ "osu!",
|
|
"flatpak run sh.ppy.osu" },
|
|
|
|
{ "minecraft",
|
|
"flatpak run org.prismlauncher.PrismLauncher" },
|
|
|
|
{ "solitaire", "pysol" }
|
|
}
|
|
|
|
--- utilities [kind of a misc category]
|
|
M.utils = {
|
|
{ "catfish", "catfish" },
|
|
|
|
{ "xed", "xed" },
|
|
|
|
{ "xarchiver", "xarchiver" },
|
|
|
|
{ "flatseal",
|
|
"flatpak run com.github.tchx84.Flatseal" },
|
|
|
|
{ "text pieces",
|
|
"flatpak run com.github.liferooter.textpieces" },
|
|
|
|
{ "alacarte", "alacarte" },
|
|
|
|
{ "piper", "piper" }, --- mouse config
|
|
|
|
{ "wally", "wally" } --- keyboard fw flasher
|
|
}
|
|
|
|
--- "media" programs [image viewers, video players, etc]
|
|
M.media = {
|
|
{ "hydrus",
|
|
"flatpak run io.github.hydrusnetwork.hydrus" },
|
|
|
|
{ "vlc", "vlc" },
|
|
|
|
{ "youtube",
|
|
"/usr/lib64/chromium-browser/chromium-browser.sh\
|
|
--profile-directory=Default\
|
|
--app-id=agimnkijcaahngcdmfeangaknmldooml" },
|
|
|
|
{ "spotify",
|
|
"flatpak run com.spotify.Client" },
|
|
|
|
{ "mkvtoolnix",
|
|
"mkvtoolnix-gui" },
|
|
|
|
{ "nomacs", "nomacs" }
|
|
}
|
|
|
|
--- educationf
|
|
M.edu = {
|
|
{ "anki",
|
|
"flatpak run net.ankiweb.Anki" },
|
|
{ "zotero",
|
|
"flatpak run org.zotero.Zotero" }
|
|
}
|
|
|
|
--- "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 },
|
|
{ "files" , file_manager },
|
|
{ "www" , M.network },
|
|
{ "media" , M.media },
|
|
{ "dev" , M.develop },
|
|
{ "edu" , M.edu },
|
|
{ "art" , M.vis },
|
|
{ "games" , M.games },
|
|
{ "utils" , M.utils }
|
|
}
|
|
return menu_items
|
|
end
|
|
------------------------------------------
|
|
return setmetatable({}, { __call = function(_, ...) return _M.get(...) end })
|