dotfiles/awesome/main/menu.lua

207 lines
4.4 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 = {}
------------------------------------------
2023-05-26 02:15:43 +00:00
--- import preferred programs
local terminal = RC.vars.terminal
local file_manager = RC.vars.file_manager
2023-04-20 04:08:44 +00:00
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 =
2023-05-26 02:15:43 +00:00
{{ "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-26 02:15:43 +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-26 02:15:43 +00:00
{ "firefox", "firefox" },
{ "discord",
"flatpak run com.discordapp.Discord" },
{ "thunderbird", "thunderbird" },
{ "steam", "steam" },
{ "hyperbeam",
"/opt/AppImages/Hyperbeam-0.21.0.AppImage" },
{ "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 = {
2023-05-26 02:15:43 +00:00
{ "vs code", "code" },
{ "bless", "bless" },
{ "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-26 02:15:43 +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-26 02:15:43 +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-26 02:15:43 +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" },
{ "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 = {
2023-05-26 02:15:43 +00:00
{ "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
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-26 02:15:43 +00:00
{ "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" }
}
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 = {
2023-05-26 02:15:43 +00:00
{ "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 = {
2023-05-26 02:15:43 +00:00
{ "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 }
2023-05-01 23:51:42 +00:00
}
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 })