A usefull pie menu for speeding up the drawing process
This is an extremely useful extension! Thanks
is there a easy way to make the menu as big as you have it in your example? the color sqaure you have looks to have a bigger square for the colors. Also the little icons around the color pallete look like they are cut off making it hard to tell what they are.
I didn’t want to edit the author’s work and re-distribute, so I made a script to adjust the button size. Whether it will break other things I’m not sure. Anyway, here’s the script:
local file = "C:/Users/"..os.getenv("USERNAME").."/AppData/Roaming/Aseprite/extensions/radial_menu/extension - Copy"
local fileExt = ".bak"
local path = file .. fileExt
local backupPath = path .. ".original"
local targetLine = 295
local EXPECT_OLD = "22" -- set to nil to skip strict check
local function fileExists(p)
local f = io.open(p, "r"); if f then f:close() return true end; return false
end
local function readAllLines(p)
local f = io.open(p, "r"); if not f then return nil, "Could not open for reading:\n"..p end
local t = {}; for s in f:lines() do t[#t+1] = s end; f:close(); return t
end
local function writeAllLines(p, lines)
local f = io.open(p, "w"); if not f then return false, "Could not open for writing:\n"..p end
f:write(table.concat(lines, "\n")); f:close(); return true
end
local function ensureBackupOnce()
if fileExists(backupPath) then return true end
local lines, err = readAllLines(path)
if not lines then return false, err end
local ok, werr = writeAllLines(backupPath, lines)
if not ok then return false, werr end
return true
end
local dlg = Dialog{ title="Set Button Size" }
dlg:entry{ id="size", label="Button size (in px):", text="32", focus=true }
dlg:button{
text="Set size",
onclick=function()
local sz = tonumber(dlg.data.size)
if not sz then app.alert("Please enter a valid number."); return end
-- make a one-time backup
local ok, berr = ensureBackupOnce()
if not ok then app.alert("Backup failed.\n\n"..tostring(berr)); return end
-- load and validate target line
local lines, err = readAllLines(path)
if not lines then app.alert(err); return end
if not lines[targetLine] then
app.alert("File has only "..#lines.." lines; missing line "..targetLine..".")
return
end
local before = lines[targetLine]
-- optional strict check: only proceed if EXPECT_OLD is found as a standalone number
if EXPECT_OLD and not before:find("%f[%d]"..EXPECT_OLD.."%f[%D]") then
app.alert("Line "..targetLine.." is not the expected value ("..EXPECT_OLD..").\n\n"..before)
return
end
-- replace the FIRST number on the line with the new size
local after, n = before:gsub("%d+", tostring(sz), 1)
if n == 0 then
app.alert("No number found on line "..targetLine..".\n\n"..before)
return
end
lines[targetLine] = after
local wok, werr = writeAllLines(path, lines)
if not wok then app.alert(werr); return end
app.alert("Successfully updated button size to "..after.."px.")
end
}
dlg:button{ text="Close" }
dlg:show{ wait=false }
Simply enter the value within the dialog then click set size. It should update the size of the button. It will make a backup of the file once so if you don’t like it, or it breaks, you can revert the backup within the path: C:/Users//AppData/Roaming/Aseprite/extensions/radial_menu
wow, i think it’s version problem ‘cuz mine is exactly like the photo that i’ve posted.
which version of aseprite r u using?
ow thanks. i was planning to add something like that. really apprecieted
It’s not the most ideal. You could do it from within your extension much more cleanly.
I did figure out the issue, it looks like your script scipt hates running with 200% ui. Can you make it so the menu stays the same size or at least scale with the ui? I don’t mind it being at 1x size but would prefer it to be that way when I’m in 200%.
ah, i see. ty so much. I’m writing down all the issues.
i’ll fix them in an update ![]()
another thing I’d like to request is the ability to press esc to get rid of the menu. I’ve press the keybinding for the menu by accident and it made me choose a tool before it would close.

