31 lines
		
	
	
	
		
			728 B
		
	
	
	
		
			Ruby
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			728 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)
 | 
