UCI Umounter
 
      
       Forum: DSL Tips and Tricks 
    Topic: UCI Umounter 
 started by: mikshaw
     
    Posted by mikshaw on Dec. 08 2005,06:16  
        So the subject came up on #dsl-chat a while ago about how to make it convenient to umount UCI applications, instead of having to browse to the file or remember where it's located.  This little flua script will grab a list of .uci files from /etc/mtab and display them for you. Select a file and press umount to uninstall the program.
 | Code Sample  |  #!/bin/flua ww = 400 wh = 120 Fl_Widget.initializers = {textfont=15,labelfont=15,labelcolor=0,scrollbar_width=15} Fl_Window.initializers = {box=Boxtype.thin_down,color=15} Fl_Button.initializers = {box = Boxtype.thin_up, down_box = Boxtype.thin_down} tempfile = "/tmp/lsuci.tempfile"
  w_main = Window{ww,wh,"UCI files mounted"}
  file_list = Hold_Browser{10,10,ww-20,wh-50} refresh = Button{40,wh-30,80,20,"refresh"} function refresh.callback() execute("grep \".uci \" /etc/mtab|awk '{print $1}' >"..tempfile) file_list:load(tempfile) remove(tempfile) end umount = Button{ww-120,wh-30,80,20,"umount"} function umount.callback() if file_list.value > 0 then   execute("mydsl-load "..file_list:text(file_list.value)) refresh.callback() end end
  w_main.size_range(w_main,ww,wh) w_main.resizable = file_list refresh.callback() w_main:show()
  |  
  EDIT: awk '{print $1}' /etc/mtab | grep .uci$ would probably be less likely to grab an inappropriate line.
   
    Posted by struppi on Dec. 08 2005,09:17  
        i use rox and made this one for automatic loading/unloading of clicked uci-files:
 | Code Sample  |  #!/bin/flua -f
  -- Install and uninstall .UCI-files
  if getn(arg) == 1 then     uci = arg[1]  else     print("usage: uci-load-choice.lua [uci_name]")     exit(1) end
  local file = openfile("/etc/mtab", "r")
  -- uci-name l=strlen(uci)
  for counter=1,l,1 do  x = strsub(uci,counter,counter)  if x=="/" then   lastSlash=counter  end end
  p=(l-lastSlash)*-1
  uciFile=strsub(uci,p)
  --escaping escapedUciFile="" blankFileName=uciFile l=strlen(uciFile) for counter=1,l,1 do  x = strsub(uciFile,counter,counter)  if x=="-" then   x="%-"  end  escapedUciFile=escapedUciFile..x end uciFile=escapedUciFile
  -- analyse filetable = {} line = read(file, "*l") while line do    if strfind(line,uciFile) then       if fl_ask(blankFileName.." is allready mounted!\n\nDo you want to unmount "..blankFileName.."?") then          execute("mydsl-load " .. uci ) 	 closefile(file)          exit(0)         else          return        end    end    line = read(file,"*l") end
  closefile(file)
  if fl_ask(blankFileName.." is not mounted!\n\nDo you want to mount "..blankFileName.."?") then   execute("mydsl-load " .. uci )   exit(0)  else   exit(0) end |   
   
     |