32 lines
713 B
Ruby
Executable file
32 lines
713 B
Ruby
Executable file
#!/usr/bin/env ruby
|
|
#dep:scrot dmenu
|
|
|
|
require 'dmenu'
|
|
|
|
def run_menu(items, prompt)
|
|
menu = Dmenu.new
|
|
menu.case_insensitive = true
|
|
menu.lines = items.length
|
|
menu.items = items
|
|
menu.prompt = prompt
|
|
menu.run.value
|
|
end
|
|
modes = [
|
|
Dmenu::Item.new('multidisp', '-m'),
|
|
Dmenu::Item.new('select', '-s'),
|
|
Dmenu::Item.new('focused', '-u -d 1'),
|
|
Dmenu::Item.new('normal', '')
|
|
]
|
|
|
|
actions = [
|
|
Dmenu::Item.new('move to screenshots', 'mv $f ~/media/screenshots'),
|
|
Dmenu::Item.new('view image', 'xdg-open $f'),
|
|
Dmenu::Item.new('make draggable', 'dragon -x $f'),
|
|
Dmenu::Item.new('nothing', 'true')
|
|
]
|
|
|
|
mode = run_menu(modes, "Screenshot type")
|
|
action = run_menu(actions, "and then")
|
|
|
|
system('scrot', mode, '-e', action)
|