#!/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 os.environ.has_key('ICEWM_CFGDIR') == 1: recentMenu = os.environ['ICEWM_CFGDIR'] else: recentMenu = os.environ['HOME'] + '/.icewm' mainMenu = recentMenu + '/menu' recentMenu = recentMenu + '/recent.menu' countRecentItems = 10 command = "" for i in range(1, len(sys.argv)): command = command + sys.argv[i] + " " command = command.strip() menuItem = 'prog "' + command + '" ' + sys.argv[1] + \ ' 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() recentMenuFile.close() if recentMenuItems.count(menuItem) > 0: recentMenuItems.remove(menuItem) recentMenuItems.insert(0, menuItem) if len(recentMenuItems) == countRecentItems: del recentMenuItems[countRecentItems - 1] recentMenuFile = open(recentMenu, 'wb') for it in recentMenuItems: recentMenuFile.write(it + '\n') recentMenuFile.close() os.utime(mainMenu, None) os.system(command)