所以我最近.app为zsh脚本创建了一个包装器,但是当我运行它时,应用程序的图标一直在Dock中跳跃.
该应用基本上是:
% find Example.app -type f
Example.app/Contents/Info.plist
Example.app/Contents/MacOS/wrapper.sh
% cat Example.app/Contents/Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- tell OSX what the name of the executable is -->
<key>CFBundleExecutable</key>
<string>wrapper.sh</string>
</dict>
</plist>
% cat Example.app/Contents/MacOS/wrapper.sh
#!/usr/bin/env zsh
# not my real script, but something else that hangs for a while
sleep 10
%
Run Code Online (Sandbox Code Playgroud)
有什么方法可以让我的应用程序图标停止跳跃,并像一个普通的应用程序一样,只是坐在旁边有一个三角形?
或多或少的一切都在标题中,我正在寻找一种方法来从一个可可应用程序,运行dock.app的pid_t.
在此先感谢您的帮助.
看看这个名为Construct的开源应用程序 .
它使用Panel Docking,您可以在其中拖动Panel,然后使用屏幕上的一些视觉辅助工具来显示Panel可以停靠的位置,如下所示:
在拖动/停靠之前

在拖动/停靠阶段
当拖动/移动其中一个Dock面板时,Window现在看起来像这样:

如您所见,在拖动/移动对象面板时,它会显示面板可以停靠的位置的视觉帮助.当它不在对接位置时,它也像自由窗口一样移动.在此示例中拖动/移动其他Dock面板(例如"项目面板")时也是如此.
这是一个使用它的应用程序的示例,我也看到其他应用程序也使用它.
是否有德尔福实现这种行为的方式?
我有一些占用一些空间,自由移动或对接它们的面板将是有用的功能实现.
谢谢.
UPDATE
LMD组件似乎提供了这样一个组件,我可以研究一下.
这是winforms.我正在创建一个用户控件,它基本上是一个充满其他用户控件的FlowlayoutControl.我需要添加的每个控件都停靠在前一个控件的顶部(从左到右).不幸的是,看起来flowlayoutcontrol忽略了任何对接属性.有没有办法将控制器停靠在那里?我需要它从左到右填充项目,但项目应该像列表视图一样布局.真的没有我可以提供的代码,因为它是一个确定采取什么方法的事实.
如何将画布“停靠”在其父级中?
我有一个UserControl,其中包含一个画布。
<UserControl x:Class="MyUC"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<MyCanvas x:Name="myCanvas"
Height="???"
Width="???{Binding RelativeSource={RelativeSource TemplatedParent}}" >
</MyCanvas>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
我在其中使用此自定义画布的Width和Height属性。并且需要始终将这些属性“绑定”到父容器。
我有一个我想要构建的应用程序,当你启动mac时会启动它并将出现在Dock中.
我有一些Objective-C和iPhone开发经验但没有Mac开发经验,我通常也是PC用户,所以我不喜欢Mac使用规范.这里的任何指导表示赞赏.
你如何获得自动启动的应用程序?
*编辑您可以在状态栏中运行应用程序吗?(与时钟等)或应用程序只在Dock中运行?
我的Cocoa应用程序支持将文件拖放到Dock图标上,但我想要根据是否按下修改键(命令,选项等)来执行不同的行为.
我尝试检查modifierFlagsfor currentEvent,但无论是否按下修饰符,它们都是相同的(我正在使用Option键进行测试).
码:
// Code is inside my AppDelegate
- (void)application:(NSApplication *)theApplication openFiles:(NSArray *)files {
BOOL optDown = (([[NSApp currentEvent] modifierFlags] & NSAlternateKeyMask)
== NSAlternateKeyMask);
NSLog(@"flags: %u, down? %@", [[NSApp currentEvent] modifierFlags],
optDown ? @"YES" : @"NO");
}
Run Code Online (Sandbox Code Playgroud)
输出(使用Option键关闭文件,然后不丢弃):
flags: 1088, down? NO
flags: 1088, down? NO
Run Code Online (Sandbox Code Playgroud)
预期
flags: <not sure>, down? YES
flags: <different>, down? NO
Run Code Online (Sandbox Code Playgroud) 我有以下HTML:
<div class="gallery-item">
<a href="ddd.pdf" style="display:block; width: 100%;">
<span id="filename_1" style="white-space: nowrap;">Hello</span>
</a>
<div id="commands">
<input type="text" readonly="readonly" value="https://blob">
<a href="sdfasdfasdfasdf">Delete</a>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
.gallery-item {
border: 1px #AAA solid;
display: inline-block;
margin: 2px;
padding 2px;
width: 130px;
height: 90px;
text-align: center;
border-radius: 5px;
vertical-align: middle;
}
.gallery-item #commands {
line-height: 4px;
padding-bottom: 1px;
vertical-align: bottom;
bottom: 1px;
}
Run Code Online (Sandbox Code Playgroud)
我想将commandsdiv与div类的底部对齐gallery-item.以上都不起作用,commands坚持前面的元素:

我正在尝试从坞站中删除(所有)项目。我可以按名称删除它们,如下所示:
tell application "System Events"
tell UI element "Launchpad" of list 1 of process "Dock"
perform action "AXShowMenu"
click menu item "Remove from Dock" of menu 1
end tell
end tell
Run Code Online (Sandbox Code Playgroud)
但我想拉出当前项目的列表并迭代它们。 这个堆栈溢出问题似乎涵盖了如何获取列表。我想做的是调整上面的代码以在循环内运行。我猜想在循环内引用列表的当前项目将使用“thisRecord”完成。我想我误解了如何将“thisRecord”转换为我可以在系统事件中引用的内容。
set plistpath to (path to preferences folder as text) & "com.apple.dock.plist"
tell application "System Events"
set plistContents to contents of property list file plistpath
set pListItems to value of plistContents
end tell
set persistentAppsList to |persistent-apps| of pListItems
set dockAppsList to {}
repeat with thisRecord in …Run Code Online (Sandbox Code Playgroud) 将 Google 添加到 Dock 的工作方式如下:
\n\n defaults write com.apple.dock persistent-apps -array-add '<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>/Applications/Google Chrome.app</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>'\nRun Code Online (Sandbox Code Playgroud)\n\n但是将终端添加到扩展坞不适用于以下情况:
\n\n defaults write com.apple.dock persistent-apps -array-add '<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>/Applications/Utilities/Terminal.app</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>'\n\n defaults write com.apple.dock persistent-apps -array-add '<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>/Applications/Lis\xc3\xa4ohjelmat/Terminal.app</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>'\n\n defaults write com.apple.dock persistent-apps -array-add '<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>/Applications/Lis\xc3\xa4ohjelmat/P\xc3\xa4\xc3\xa4te</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>'\nRun Code Online (Sandbox Code Playgroud)\n\n我希望将我的计算机语言保留为芬兰语,同时仍然能够通过我的点文件拥有自定义底座。MacOS 默认应用程序(例如终端和日历等)也存在同样的问题。
\n