如何在quicklook插件中删除缩略图创建的卷曲图标?
当前图标的屏幕截图: 
我想要的截图: 
GeneratePreviewForURL.m:
#include <CoreFoundation/CoreFoundation.h>
#include <CoreServices/CoreServices.h>
#include <QuickLook/QuickLook.h>
#import "GenerateIcon.h"
OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options);
void CancelPreviewGeneration(void *thisInterface, QLPreviewRequestRef preview);
/* -----------------------------------------------------------------------------
Generate a preview for file
This function's job is to create preview for designated file
----------------------------------------------------------------------------- */
OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options)
{
// To complete your generator please implement the function GeneratePreviewForURL in GeneratePreviewForURL.c
[GenerateIcon generatePreviewWithRef:preview URL:url];
return noErr;
}
void CancelPreviewGeneration(void *thisInterface, …Run Code Online (Sandbox Code Playgroud) 如何找出iPhone注册的通知?
例如:
notify_post("com.apple.springboard/Prefs");
Run Code Online (Sandbox Code Playgroud) 我不能这样做(错误:) line 2: [: ==: unary operator expected:
if [ $(echo "") == "" ]
then
echo "Success!"
fi
Run Code Online (Sandbox Code Playgroud)
但这很好用:
tmp=$(echo "")
if [ "$tmp" == "" ]
then
echo "Success!"
fi
Run Code Online (Sandbox Code Playgroud)
为什么?
是否可以在if语句中获取命令的结果?
我想做这样的事情:
if [ $(echo "foo") == "foo" ]
then
echo "Success!"
fi
Run Code Online (Sandbox Code Playgroud)
我目前使用这种解决方法:
tmp=$(echo "foo")
if [ "$tmp" == "foo" ]
then
echo "Success!"
fi
Run Code Online (Sandbox Code Playgroud) 假设我有一个名为“Foo Bar”的应用程序,包标识符应该是com.tyilo.foobar还是com.tyilo.FooBar?
什么是最正常的,Apple 是怎么做的?
如果我的MacBook连接了外接显示器,我该如何检索MacBook屏幕?
任何一个屏幕都可以是带有菜单栏和底座的屏幕.它们也可以具有相同的分辨率,相同的名称等.
是否可以确定它而不要求用户拔掉除MacBook屏幕以外的所有屏幕?
我正在为网站制作移动应用程序以查看您的日程安排.他们不提供任何API,也无意提供任何API.
该网站只能使用Ajax,但要伪造这些请求并刮掉我需要伪造__EVENTVALIDATION帖子字段的网站.
我对网站没有任何控制权,而且我从未使用ASP.NET或Microsoft Ajax构建任何东西.
有没有人这样做过?
我发现该__EVENTVALIDATION字段具有此模式(...符号根据请求更改字节,base64解码版本的hexdump):
d8 01 16 13 02 4f 0a ... f6 e0 84 d4 05 02 a0 3f e2 3f 03 02 3f d8 d1 d5 0c 02 bb 82 cf ec 08 02 b4 b5 99 f8 0b 02 3f 89 3f eb 04 02 d5 83 90 88 0a 02 8a db 94 90 03 02 8b cf 3f 85 08 02 93 3f b1 3f 06 02 …
在使用作弊引擎时,我偶然发现这两个操作码都会产生相同的汇编代码:
03C8 add ecx,eax
和
01C1 add ecx,eax
为什么会这样,有什么区别?
给定进程'pid,如何确定进程是暂停(使用SIGSTOP)还是正在运行?
我正在使用OS X,所以我没有/proc目录.
是否存在某种服务,我可以输入系统"枚举类型"(或类似)并获取所有可能值的列表?
使用gdb进行调试时遇到错误,快速获取错误名称会很好,而不必查看定义类型的头文件的相关头文件.
例如,kern_return_t定义OS X中的类型,/usr/include/mach/i386/kern_return.h其中基本上只包含一行内容(不包括):
typedef int kern_return_t;
Run Code Online (Sandbox Code Playgroud)
有效值是定义的/usr/include/mach/kern_return.h,这是有道理的,但我永远不会记住这条路径,我想加快这个过程.
例:
输入: kern_return_t
输出:
0 | KERN_SUCCESS
1 | KERN_INVALID_ADDRESS
2 | KERN_PROTECTION_FAILURE
3 | KERN_NO_SPACE
4 | KERN_INVALID_ARGUMENT
5 | KERN_FAILURE
6 | KERN_RESOURCE_SHORTAGE
7 | KERN_NOT_RECEIVER
8 | KERN_NO_ACCESS
9 | KERN_MEMORY_FAILURE
...
Run Code Online (Sandbox Code Playgroud) 我想制作一个 GTK 小部件,当在另一个程序中拖放时,它会像一个文件被拖放一样(行为与从 Nautilus 拖放文件的方式相同)。
我尝试了 3 种不同的方法在回调中设置拖动数据,但似乎没有任何效果:
#include <bits/stdc++.h>
#include <gtkmm.h>
#define FILENAME "/tmp/foo.txt"
int main(int argc, char *argv[]) {
auto app = Gtk::Application::create(argc, argv, "com.tyilo.foo");
Gtk::Window window;
window.set_default_size(200, 200);
window.set_keep_above();
Gtk::Button button("Drag this");
window.add(button);
std::vector<Gtk::TargetEntry> listTargets;
listTargets.push_back(Gtk::TargetEntry("text/uri-list"));
//listTargets.push_back(Gtk::TargetEntry("text/plain"));
//listTargets.push_back(Gtk::TargetEntry("text/plain;charset=utf-8"));
//listTargets.push_back(Gtk::TargetEntry("UTF8_STRING"));
//listTargets.push_back(Gtk::TargetEntry("COMPOUND_STRING"));
//listTargets.push_back(Gtk::TargetEntry("TEXT"));
//listTargets.push_back(Gtk::TargetEntry("STRING"));
button.drag_source_set(listTargets, Gdk::ModifierType(GDK_BUTTON1_MASK | GDK_BUTTON3_MASK),
Gdk::DragAction(GDK_ACTION_COPY | GDK_ACTION_MOVE));
button.drag_source_set_icon("document-save");
button.signal_drag_data_get().connect([&](auto, auto selection_data, auto, auto) {
std::cout << "Data get: " << selection_data.get_target() << std::endl;
auto uri = Glib::filename_to_uri(FILENAME);
std::cout << uri << std::endl;
// All but …Run Code Online (Sandbox Code Playgroud)