dotfiles/awesome/main/menu.lua

152 lines
5.7 KiB
Lua
Raw Normal View History

2023-05-23 05:35:51 +00:00
--- awesome stdlib
2023-05-01 23:51:42 +00:00
local awful = require("awful")
2023-04-20 04:08:44 +00:00
local hotkeys_popup = require("awful.hotkeys_popup").widget
2023-05-23 05:35:51 +00:00
--- theme lib
local beautiful = require("beautiful") --- for awesome.icon
2023-04-20 04:08:44 +00:00
2023-05-23 05:35:51 +00:00
local M = {}
local _M = {}
------------------------------------------
--- import terminal variable from rc.lua
2023-04-20 04:08:44 +00:00
local terminal = RC.vars.terminal
2023-05-23 05:35:51 +00:00
--- import editor variable from OS environment
2023-05-01 23:51:42 +00:00
local editor = os.getenv("EDITOR") or "nano"
2023-04-20 04:08:44 +00:00
local editor_cmd = terminal .. " -e " .. editor
2023-05-23 05:35:51 +00:00
------------------------------------------
--- make it harder to quit awesome accidentally
2023-05-01 23:51:42 +00:00
M.quitmenu =
{{ "i mean it!", function() awesome.quit() end }}
awesome+Alacritty changes; rm awesome ext package tracking - `awesome/binding/clientkeys.lua`: - added cyclefocus (Mod + Tab to cycle through clients of same type) - `awesome/binding/globalkeys.lua`: - i shrimply removed things i'm not using - `awesome/deco/statusbar.lua`: - completely remove keyboard layout widget - re-enable systray - NOTE: i might replace this with something else later. or not, as there's an MR to fix the transparency issues. dunno what i'll be doing for sure - `awesome/main/menu.lua`: - change the 'quit' option in the 'awesome' menu to be accessible under another nested menu, to stop me from quitting accidentally when aiming for restart and having my hand twitch (this has happened multiple times now!) - other standard adding and adjusting of other software that shows up in the menus - `awesome/main/rules.lua`: - remove rules i don't need - add rule for steam to force it to float since it plays like shit with tiled WMs or other weirder desktop setups - add rule for pokemon infinite fusion to force it to float since i just don't like the idea of games being effected by tiling usually - NOTE: i might change this to something that bars its resolution from being messed with instead; dunno if that's a thing i can do - `awesome/main/startup.lua`: - get rid of autostart entry for `redshift` as it does not work right - _technically,_ it **does** work, but the problem is that it re-applies itself whenever i restart awesome if it's in the autostart no matter what i try doing. i think there's no solution for this so i'm trying other non-awesome-related things - get rid of unused include - `awesome/main/user-variables.lua`: - literally just removed comments i didn't need - `alacritty/alacritty.yml`: - added scrolling settings
2023-04-23 01:32:15 +00:00
2023-05-23 05:35:51 +00:00
--- "awesome" menu
2023-04-20 04:08:44 +00:00
M.awesome = {
2023-05-01 23:51:42 +00:00
{ "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 }
2023-04-20 04:08:44 +00:00
}
2023-05-23 05:35:51 +00:00
--- browsers and other network-oriented software
2023-04-20 04:08:44 +00:00
M.network = {
2023-05-01 23:51:42 +00:00
{ "firefox" , "firefox" },
{ "discord" , "flatpak run\
com.discordapp.Discord" },
{ "thunderbird" , "thunderbird" },
{ "steam" , "steam" },
{ "qbittorrent" , "qbittorrent" },
{ "keepassxc" , "keepassxc" }
2023-04-20 04:08:44 +00:00
}
2023-05-23 05:35:51 +00:00
--- DEVELOPERS, DEVELOPERS, DEVELOPERS, DEVELOPERS
2023-04-20 04:08:44 +00:00
M.develop = {
{ "vs code" , "code" },
{ "bless" , "bless" },
2023-05-23 05:35:51 +00:00
-- { "dbeaver studio" , "flatpak run\
-- io.dbeaver.DBeaverCommunity" },
-- { "beekeeper studio" , "flatpak run\
-- io.beekeeperstudio.Studio" },
{ "sqlite browser" , "sqlitebrowser" }
2023-04-20 04:08:44 +00:00
}
2023-05-23 05:35:51 +00:00
--- emulators
2023-04-20 04:08:44 +00:00
M.emulators = {
2023-05-01 23:51:42 +00:00
{ "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" }
awesome+Alacritty changes; rm awesome ext package tracking - `awesome/binding/clientkeys.lua`: - added cyclefocus (Mod + Tab to cycle through clients of same type) - `awesome/binding/globalkeys.lua`: - i shrimply removed things i'm not using - `awesome/deco/statusbar.lua`: - completely remove keyboard layout widget - re-enable systray - NOTE: i might replace this with something else later. or not, as there's an MR to fix the transparency issues. dunno what i'll be doing for sure - `awesome/main/menu.lua`: - change the 'quit' option in the 'awesome' menu to be accessible under another nested menu, to stop me from quitting accidentally when aiming for restart and having my hand twitch (this has happened multiple times now!) - other standard adding and adjusting of other software that shows up in the menus - `awesome/main/rules.lua`: - remove rules i don't need - add rule for steam to force it to float since it plays like shit with tiled WMs or other weirder desktop setups - add rule for pokemon infinite fusion to force it to float since i just don't like the idea of games being effected by tiling usually - NOTE: i might change this to something that bars its resolution from being messed with instead; dunno if that's a thing i can do - `awesome/main/startup.lua`: - get rid of autostart entry for `redshift` as it does not work right - _technically,_ it **does** work, but the problem is that it re-applies itself whenever i restart awesome if it's in the autostart no matter what i try doing. i think there's no solution for this so i'm trying other non-awesome-related things - get rid of unused include - `awesome/main/user-variables.lua`: - literally just removed comments i didn't need - `alacritty/alacritty.yml`: - added scrolling settings
2023-04-23 01:32:15 +00:00
}
2023-05-23 05:35:51 +00:00
--- vintage story [different versions of VS for mods]
M.vtgstry = {
2023-05-01 23:51:42 +00:00
{ "latest" , "vintagestory" },
{ "flatpak" , "flatpak run\
at.vintagestory.VintageStory" }
2023-04-20 04:08:44 +00:00
}
2023-05-23 05:35:51 +00:00
--- videogames
2023-04-20 04:08:44 +00:00
M.games = {
2023-05-01 23:51:42 +00:00
{ "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" },
2023-05-01 23:51:42 +00:00
{ "osu!" , "flatpak run\
sh.ppy.osu" },
{ "minecraft" , "flatpak run\
org.prismlauncher.PrismLauncher" },
{ "solitaire" , "pysol" }
2023-04-20 04:08:44 +00:00
}
2023-05-23 05:35:51 +00:00
--- utilities [kind of a misc category]
2023-04-20 04:08:44 +00:00
M.utils = {
{ "xed" , "xed" },
2023-05-01 23:51:42 +00:00
{ "catfish" , "catfish" },
{ "anki" , "flatpak run net.ankiweb.Anki" },
{ "mkvtoolnix" , "mkvtoolnix-gui" },
2023-05-01 23:51:42 +00:00
{ "text pieces" , "flatpak run\
com.github.liferooter.textpieces" },
{ "alacarte" , "alacarte" },
{ "flatseal" , "flatpak run com.github.tchx84.Flatseal" },
{ "xarchiver" , "xarchiver" },
{ "piper" , "piper" },
{ "wally" , "wally" }
2023-04-20 04:08:44 +00:00
}
2023-05-23 05:35:51 +00:00
--- "media" programs [image viewers, video players, etc]
2023-04-20 04:08:44 +00:00
M.media = {
2023-05-01 23:51:42 +00:00
{ "hydrus" , "flatpak run io.github.hydrusnetwork.hydrus" },
2023-05-23 05:35:51 +00:00
{ "vlc" , "vlc" },
2023-05-01 23:51:42 +00:00
{ "youtube" , "/usr/lib64/chromium-browser/chromium-browser.sh\
--profile-directory=Default\
--app-id=agimnkijcaahngcdmfeangaknmldooml" },
2023-05-23 05:35:51 +00:00
{ "spotify" , "flatpak run com.spotify.Client" },
{ "nomacs" , "nomacs" }
2023-05-01 23:51:42 +00:00
}
2023-05-23 05:35:51 +00:00
--- "visual arts" stuff
2023-05-01 23:51:42 +00:00
M.vis = {
{ "blender" , "steam\
steam://rungameid/365670" },
{ "krita" , "krita" },
{ "GIMP" , "gimp-2.10" },
{ "beeref" , "flatpak run\
org.beeref.BeeRef" }
2023-04-20 04:08:44 +00:00
}
2023-05-23 05:35:51 +00:00
------------------------------------------
2023-04-20 04:08:44 +00:00
function _M.get()
2023-05-23 05:35:51 +00:00
--- main menu
2023-05-01 23:51:42 +00:00
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 }
}
2023-04-20 04:08:44 +00:00
return menu_items
end
2023-05-23 05:35:51 +00:00
------------------------------------------
2023-04-20 04:08:44 +00:00
return setmetatable({}, { __call = function(_, ...) return _M.get(...) end })