#!/usr/bin/python2

# icerrun - runs program and forms the menu of recent run programs tfor IceWM
# Version 0.5
# Copyrigth (c) 2003 Vadim A. Khohlov (aka XBA)

import sys, os

if len(sys.argv) == 1:
	sys.exit
#if len(sys.argv) == 1

if os.environ.has_key('ICEWM_CFGDIR') == 1:
	recentMenu = os.environ['ICEWM_CFGDIR']
else:
	recentMenu = os.environ['HOME'] + '/.icewm'
#else if os.environ.has_key("ICEWM_CFGDIR") == 1
mainMenu = recentMenu + '/menu'
recentMenu = recentMenu + '/recent.menu'

countRecentItems = 10

command = ""
for i in range(1, len(sys.argv)):
	command = command + sys.argv[i] + " "
#for i in range(0, len(sys.argv))

command = command.strip()
menuItem = 'prog "' + command + '" - icerrun.py ' + command

recentMenuItems = []

if os.access(recentMenu, os.R_OK | os.W_OK) == 1:
	recentMenuFile = open(recentMenu, 'rb')
	it = recentMenuFile.readline().strip()
	while it <> '':
		recentMenuItems.append(it)
		it = recentMenuFile.readline().strip()
	#while it <> ''
	recentMenuFile.close()
#if os.access(recentMenu, os.R_OK | os.W_OK) == 1

if recentMenuItems.count(menuItem) > 0:
	recentMenuItems.remove(menuItem)
#if recentMenuItems.count(menuItem) > 0

recentMenuItems.insert(0, menuItem)
if len(recentMenuItems) == countRecentItems:
	del recentMenuItems[countRecentItems - 1]
#if len(recentMenuItems) > countRecentItems

recentMenuFile = open(recentMenu, 'wb')
for it in recentMenuItems:
	recentMenuFile.write(it + '\n')
#for it in recentMenuItems
recentMenuFile.close()

os.utime(mainMenu, None)
os.system(command)
