简单的小牛GUI

时间:2014-10-12 18:18:36

标签: macos user-interface shoes

在小牛队中我需要一些简单的GUI帮助。现在我正试图用鞋子做,但我对其他事情持开放态度。我的基本需求是带有背景图像的GUI,3个带有文本的图形按钮。我需要一个按钮来重新启动计算机,另外两个按钮将从一个位置复制一个文件并将其粘贴到另一个目录中。它还需要在没有确认的情况下重写现有文件,或者在粘贴复制的文件之前将其删除。

在鞋子里我有背景设置和2个图形按钮,但是不知道如何在点击时复制和粘贴文件。感谢您的帮助。

这是我的代码,我知道它非常难看,但我仍在学习它,一旦我开始工作,我就会开始清理它......

Shoes.app(title: "OS Boost Selector", width: 650, heigth: 400 ) do    
background "background.png"
flow left: 100, top: 100 do
button= image "device_ntfs.png" do
FileUtils.cp_r ‘/Volumes/Mavericks/Extra/Windows 7/org.chameleon.Boot.plist', ‘/Volumes/Mavericks/Extra/org.chameleon.Boot.plist', :remove_destination => true 
end
end
stack left: 110, top: 265 do
para "Windows 7", font: "Trebuchet MS", size: 20, stroke: white
end

flow left: 400, top: 100 do
button= image "device_hfsplus_mav.png" do
FileUtils.cp_r ‘/Volumes/Mavericks/Extra/Mavericks/org.chameleon.Boot.plist', ‘/Volumes/Mavericks/Extra/org.chameleon.Boot.plist', :remove_destination => true
end
end
flow left: -100, top: 250 do
buttom= image "logo.png" do
#system(“sudo shutdown -r now”)
end
end
stack left: 295, top: 450 do
para "(Reboot)", font: "Trebuchet MS", size: 16, stroke: white
end
stack left: 415, top: 265 do
para "Mavericks", font: "Trebuchet MS", size: 20, stroke: white
end
end

2 个答案:

答案 0 :(得分:0)

好的,这是修改/etc/sudoers的信息,因此您的用户(即您)可以通过在sudo前添加命令并且无需提供密码来执行系统管理员工作。首先,您需要使用id找到您的用户名,如下所示:

id
uid=502(mark) gid=20(staff) groups=20(staff), ...

因此我的用户ID为'mark',我需要将其放在/etc/sudoers中,所以我这样做:

sudo visudo

并使用编辑器进入下面的这一位,并添加自己(标记)作为允许在任何主机上做任何我喜欢的事情,而不是每次都需要密码 - 哦感觉到力量:

# User privilege specification
root    ALL=(ALL) ALL
%admin  ALL=(ALL) ALL
mark    ALL=(ALL) NOPASSWD: ALL

现在,我可以运行shutdown / reboot命令而无需密码:

sudo shutdown -r now

答案 1 :(得分:0)

FileUtils.cp_r(" / Volumes / Mavericks / Extra / Windows 7 / org.chameleon.Boot.plist"," /Volumes/Mavericks/Extra/org.chameleon.Boot.plist& #34;,:remove_destination => true)

这就是我需要的副本并覆盖文件。

这就是我为重启mac而采取的措施 `open -a reboot'

当我在我的gui中按下重启按钮时,它会在应用程序中打开重启应用程序,这是一个从运行以下AppleScript的automator保存的应用程序:

忽略应用程序响应 告诉申请" Finder" 重新开始 结束告诉 结束无视

这完全就像我想要的那样。感谢所有的帮助和耐心!