使用 libfm Linux 的 C 中的自定义操作或命令?
Custom action or command in C using libfm Linux?
我正在为 pcmanfm 进行自定义操作,我正在编辑文件"main-win.c",这里是代码:
static void on_open(GtkAction* act, FmMainWin* win) {
FmFileInfoList *files = fm_folder_view_dup_selected_files(win->folder_view);
if (files) {
GList* l = fm_file_info_list_peek_head_link(files);
if (g_list_length(l) > 0)
fm_launch_files_simple(GTK_WINDOW(win), NULL, l, pcmanfm_open_folder, NULL);
fm_file_info_list_unref(files);
}
}
*"FmFileInfoListfiles">是文件管理器窗口中所选文件的列表。
"GListl">* 是将列表转换为双向链表。
函数 fm_launch_files_simple()使用默认程序运行链表中的所有文件,如"gedit/home/someuser/some.txt"或"totem/home/someuser/video.mp4"。
我需要谁?,我需要使用循环在所有选定文件中执行自定义命令或函数,这是命令?这是命令:
fm_launch_command_simple(GTK_WINDOW(win), NULL, 0, "somecommand", NULL);
fm_launch_command_simple()是一个libfm函数,它在执行pcmanfm的控制台中运行bash命令...
这里有一个我想做什么的例子,使用">printf"函数:
static void on_open(GtkAction* act, FmMainWin* win) {
FmFileInfoList *files = fm_folder_view_dup_selected_files(win->folder_view);
if (files) {
//GList* l = fm_file_info_list_peek_head_link(files);
//if (g_list_length(l) > 0)
//fm_launch_files_simple(GTK_WINDOW(win), NULL, l, pcmanfm_open_folder, NULL);
for (file in files) {
printf("echo File selected: " + file[i]);
}
fm_file_info_list_unref(files);
}
}
下面是使用函数">fm_launch_command_simple"的其他示例:
static void on_open(GtkAction* act, FmMainWin* win) {
FmFileInfoList *files = fm_folder_view_dup_selected_files(win->folder_view);
if (files) {
//GList* l = fm_file_info_list_peek_head_link(files);
//if (g_list_length(l) > 0)
//fm_launch_files_simple(GTK_WINDOW(win), NULL, l, pcmanfm_open_folder, NULL);
for (file in files) {
fm_launch_command_simple(GTK_WINDOW(win), NULL, 0, "echo File selected: " + file[i], NULL);
}
fm_file_info_list_unref(files);
}
}
我是这种编程语言的新手。
使用 g_list_foreach https://developer.gnome.org/glib/stable/glib-Doubly-Linked-Lists.html#g-list-foreach
然后创建一个 void (*GFunc) 函数 (gpointer listItem, gpointer otherStuffEnteredInGListForeach) 来包装fm_launch_command_simple。
相关文章:
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 从命令行c++发送文本文件名
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 重载操作程序时出错>>用于类中的字符串 memebr
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 使用QProcess执行命令,并将结果存储在QStringList中
- 数组长度,为什么从命令行获取时不能使用它?
- 对字符串进行位操作
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- clang整洁10忽略了我的NOLINT命令
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- exe文件不被识别为内部或外部命令,可操作的程序或批处理文件在C++
- 使用 libfm Linux 的 C 中的自定义操作或命令?
- 命令模式:如何进行连续操作?(例如,移动对象)
- 从命令行构建x64 C++项目说:此操作应该只在UI线程上进行
- 打开一个通过命令参数执行某些操作的函数
- 从Windows命令行操作GUI
- 如何使用命令参数从<自定义操作 /> 调用.exe文件
- 如何告诉我的程序在等待从用户那里获取命令时执行某些操作