- 博客(69)
- 收藏
- 关注
原创 Timeout 與 Idle
引用自:http://caterpillar.onlyfun.net/Gossip/GTKGossip/TimeoutIdle.html 如果您要定時讓程式去作某件事,則可以使用g_timeout_add()或g_timeout_add_full(),g_timeout_add()的定義如下: guint g_timeout_add(...
2009-11-29 21:18:20 94
原创 g_object_notify的使用方法
引用自:http://blog.csdn.net/hwizhao/archive/2009/02/10/3873577.aspx g_object_notify的使用方法0、注册部分 g_object_class_install_property(gobject_class, ...
2009-11-28 18:13:06 454
原创 X 如何高效率的使用DBUS作client/server架构
引用自:http://blog.csdn.net/cuijpus/archive/2007/12/07/1922658.aspx 在嵌入式系统中使用dbus主要有两个方面的用途:1:进程间通信2:实现client/server模式;2也是1的具体表现形式;包括dbus自带的例子,都是采用dbus对数据的封装,实现client/server模式的,缺...
2009-11-28 16:52:56 159
原创 Glib中Gquark浅析
Glib中Gquark浅析夸克,英文名叫quark,原意是表示一种物理单位;第一次在GLIB中看到这个名词,很有意思。下文摘自http://blog.csdn.net/ciahi为了在程序中标识一块数据,你一般有两种方式可选:数字或字符串。但是这两者都有一些缺点。数字是非常难以辨认的。如果你开始粗略的知道需要多少标签,你就可以定义一个枚举类型...
2009-11-26 10:23:04 164
Thunar 1.0.0 中是怎么进行图片预览的 (一)
可以参考下列网站:http://jens.triq.net/thumbnail-spec/http://gezeiten.org/post/2009/10/Using-Tumbler-in-Client-Applicationshttp://live.gnome.org/ThumbnailerSpechttp://standards.freedesktop.org/shared-m...
2009-11-25 17:22:18 264
Thunar中的控件绑定
在Thunar中有使用exo_mutual_binding_new_full 和 exo_binding_new进行控件属性绑定,原型是:/* 互相绑定, object1和object2的属性值通过transform和reverse_transform互相影响 */ExoMutualBinding* exo_mutual_binding_new_full (GObjec...
2009-11-25 10:08:03 98
定制xfce快捷键
在 “首选项->xfce 4 设置管理器->键盘“ 中有一个 “应用程序快捷键” 选项卡。其对应的配置文件在下面两个地方:~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboar...
2009-11-24 10:56:53 249
原创 RedHat 8.0上的Gnome,配置键盘快捷键的方法.
引用自:http://www.unixresources.net/linux/clf/laptop/archive/00/00/38/58/385831.html 经过网上各位大侠的指教,终于成功能使用键盘快捷键盘了.以下写些心得:1)基础知识:* 每当你按下一个键或一组组合键,键盘会向XFree86发送一个keycode信号,比如我的特殊键(i),用来启动浏览器的,就...
2009-11-24 10:32:32 433
原创 gnome菜单编辑解决方案
怎样在rh8 gnome里面编辑菜单呢? (我在此将 菜单栏里面的 其他 以及其它里面的子目录以外的菜单栏 通称为一级目录,比如图像,互联网都是一级目录。) 和gnome菜单显示相关的有三个个目录:/usr/share/applications, /usr/share/gnome/apps和 /etc/X11/applnk/ 对于前者即/usr/share/appli...
2009-11-20 10:33:54 506
原创 对gtk构件显示的总结
1、gtk_widget_realize的作用是,为构件(widget)创建一个gdk_window,也即是为widget创建一个xid资源2、只有当一个widget已经被加入到顶级窗口后(top-level),才可以对 widget调用gtk_widget_realize操作,这是因为gdk_window的创建,是需要首先创建父窗口,再才创建子窗口的。因此,这是一个从root_windo...
2009-11-19 23:31:03 319
设定xfce工具栏图标背景的几种方法
现在有这么一个需求,需要将xfce工具栏上图标的背景设置成指定的背景,那么可以用下面几种方法:1.修改~/.gtkrc-2.0,这个方法最简单,可以参考:http://wiki.archlinux.org/index.php/Xfce_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29#.E5.A6.82.E4.BD.95.E8.AE.A9.E6.A1.8...
2009-11-19 20:14:30 232
原创 Gtk透明窗口全攻略
引用自:http://xy0811.spaces.live.com/blog/cns!F8AECD2A067A6B17!1256.entryGtk透明窗口全攻略 如图所示,左边是普通的ubuntu桌面,右边是我建立的三个gtk特殊窗口,其中包含了:异形窗口(上),透明窗体(中),不同区域不同透明度的窗口(下)。基本包括...
2009-11-18 23:10:53 760
原创 实现背景透明的GTK+ widget
引用自:http://tigersoldier.is-programmer.com/2009/2/10/gtk-transpraent-custom-widget.7086.html 如果要用 GTK+ 写一些自定义界面的程序(如QQ),免不了要实现一个背景透明的widget。一个简单的办法是GtkEventBox+GtkImage,不过这种方法太丑陋了点。然而用通常的方法来创建G...
2009-11-18 23:08:54 443 1
原创 文件默认的打开方式 MIME TYPE
文件默认的打开方式一般是通过/usr/share/applications/defaults.list 来进行判断的,先去判断文件的MIME TYPE,然后去找对应的执行程序。 [Default Applications]#第一列是文件的MIME TYPE 第二列是文件的默认打开方式application/x-dia-diagram=fedora-dia.desktop#tex...
2009-11-18 22:47:31 740
原创 GTK+程序设计教程
GTK+程序设计教程引言第一个简单的GTK+程序“菜单” (menubar)和“工具栏”(toolbars)GTK+ 布局管理GTK+ 中的事件(events)和信号(signals)GTK+中的对话框GTK+ 中的常用构件(widget) GTK+ 中的常用...
2009-11-17 15:19:10 174
原创 使用rpm2cpio,cpio提取rpm包的中的特定文件
有些时候,我们需要提取rpm包中的一些文件,通过如下方法可以快速提取 1. 首先查询rpm包中的文件 [root@taotips ~]# rpm -qpl anaconda-11.4.1.62-1.src.rpm anaconda-11.4.1.62.tar.bz2 anaconda.spec2. 我们...
2009-11-17 15:18:01 289
原创 GObject Tutorial 和GObject手册的中文版
GObject Tutorial :http://www.zooyoo.org/?p=10275GObject手册:http://imtx.cn/search/?y=14&x=19&s=GObject&page=2 开始翻译GObject引用手册:序1、概念:GObject的开发背景...
2009-11-17 15:17:19 258
原创 [推荐1]GObject系列教程和官方文档
官方文档:http://library.gnome.org/devel/gobject/2.14/index.html javaeyes 上类似文档:http://cloverprince.iteye.com/category/82210
2009-11-17 15:16:35 205
原创 定义、注册和实现 GObject 类的子类
定义 GObject 的子类 * instance 结构:包含于类的实例相关的域,相当于 C++ 中的非静态公共成员。 * class 结构:包含的域相当于 C++ 中的静态公共成员。 * 私有成员在哪里定义? 与 C++ 不同,私有成员不是直接定义在类的声明中的(你甚至找不到一个到私有数据的指针)。GObject 的私有数据是在 class 结构初始...
2009-11-17 15:15:09 228
原创 [推荐3]GObject 参考手册:教程:如何定义和实现接口
How to define interfacesThe bulk of interface definition has already been shown in the section called “Non-instantiable classed types: interfaces” but I feel it is needed to show exactly how to cr...
2009-11-17 15:12:58 242
原创 #define的用法
1.简单的define定义#define MAXTIME 1000一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写if(i<MAXTIME){.........}编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。这样的定义看起来类似于普通的常量定义CONST,但也有着不同,因为defi...
2009-11-17 15:10:53 160
原创 理解复杂的C/C++声明 const, typedef , 函数指针
让我们从一个非常简单的例子开始,如下:int n;这个应该被理解为“declare n as an int”(n是一个int型的变量)。接下去来看一下指针变量,如下:int *p;这个应该被理解为“declare p as an int *”(p是一个int*型的变量),或者说p是一个指向一个int型变量的指针。我想在这里展开讨论一下:我觉得在声明一个指针(或引用)类型的变...
2009-11-17 15:09:30 65
原创 Linux PAM Program/弹出获得root权限对话框
什么也不要说,先来一个程序吧。/*注意要和你的系统一致redhat是这样/etc/pam.d/check_userauth required /lib/security/pam_unix_auth.soaccount required /lib/security/pam_unix_acct.so1.如果需要出现密码弹出框还需要在添加/etc/security/c...
2009-11-17 15:08:13 569
原创 D-BUS基础编程
引用自:http://dash1982.iteye.com/?show_full=true 第十二章 自由桌面项目 典型的桌面都会有多个应用程序在运行,而且,它们经常需要彼此进行通信。DCOP是一个用于KDE的解决方案,但是它依赖于Qt,所以不能用于其他桌面环境之中。类似的,Bonobo是一个用于GNOME的解决方案,但是非常笨重,因为它是基于CORBA的。它还...
2009-11-17 15:04:20 146
原创 X dbus 例程
dbus 例程:http://hi.baidu.com/zengzhaonong/blog/item/670b98d6e63ae42c07088bae.htmldbus基本接口:http://hi.baidu.com/zengzhaonong/blog/item/c48864f4a4b5f9daf2d3858d.html/** Example low-level D-B...
2009-11-17 15:03:38 124
原创 怎么写Daemon程序
引用自:http://www.netzmafia.de/skripten/unix/linux-daemon-howto.htmlhttp://www.qqgb.com/Netware/Linux/Linux7/82888.html作者:Devin Watson译者:Li Zhiwei 第一版 2004年5月本文讲述如何用GCC在Linux编写Daemon. 使用本文档...
2009-11-17 15:02:27 184
U盘的热拔插/自动挂载跟linux2.6 kernel、 udev、 hal、 dbus 、gnome-mount 、thunar的关系...
将网上的资料整理了下。简单的说就是:插入新设备后,kernel 发现设备变化反应到 sysfs 上并通知 udev, udev 把硬件相关内容送给 hal,hal 过滤、处理之后发送信息到 dbus 总线, thunar 从 dbus 收到信息后在 xfdesktop 桌面显示新图标, 用户点击桌面图标后用 pmount 把设备挂上,打开挂载...
2009-11-17 14:58:13 304
原创 dbus实例讲解(四下):使用dbus-glib
4、复杂的数据类型在dbus中怎样处理复杂的数据类型?第一个建议是尽量不要使用复杂的数据类型。但如果确实需要呢?有的网友建议用GArray作为容器,不管什么参数,在客户端都手工放入GArray,在服务器端再自己取出来。这确实是个思路,比较适合服务器和客户端都是自己开发的情况。还有一篇"How to pass a variant with ...
2009-11-17 14:55:49 315
原创 dbus实例讲解(四上):使用dbus-glib
dbus-glib是dbus底层接口的一个封装。本讲我们用dbus-glib做一个dus接口,并写一个客户程序。1、接口1.1、编写接口描述文件首先编写接口描述文件。我们要实现的连接的公共名是"org.freesmartphone.ogsmd",接口描述文件如下:$ cat smss.xml<?xml version="1.0" encoding="UTF-8" ?>...
2009-11-17 14:55:02 454 1
原创 dbus实例讲解(三):数据类型和dteeth
我想在freerunner(一个开源linux手机)上查看fso(openmoko的诸多软件版本之一)的dbus信息。但fso的python没有gtk模块,跑不了d-feet。在上一讲我介绍了d-feet的基本思路:用“org.freedesktop.DBus.ListNames”枚举消息总线上的连接,用“org.freedesktop.DBus.Introspectable.Intr...
2009-11-17 14:54:17 223
原创 dbus实例讲解(二下):消息和消息总线
2.3.2、ListActivatableNames和服务器的自动启动运行:$ dbus-send --system --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.ListActivatableNames和$ dbus-send --sessi...
2009-11-17 14:53:31 141
原创 dbus实例讲解(二上):消息和消息总线
应用程序A和消息总线连接,这个连接获取了一个众所周知的公共名(记作连接A)。应用程序A中有对象A1提供了接口I1,接口I1有方法M1。应用程序B和消息总线连接,要求调用连接A上对象A1的接口I1的方法M1。在上一讲的加法例子中,上面这段话可以实例化为:应用程序example-service和会话总线连接。这个连接获取了一个众所周知的公共名“org.fmddlmyy.Test”。应用程序ex...
2009-11-17 14:52:42 200
原创 dbus实例讲解(一):初次见面
这个系列引用自:http://blog.csdn.net/fmddlmyy/category/115247.aspx 网上有不少介绍dbus的文章。本文的目标是补充一些简单的例子。1、dbus是什么东西?网上有一篇叫“D-Bus Tutorial”的文章,流传较广。不少介绍dbus的资料,都引用了其中的段落。其实相对于这篇文章,我建议大家直接读“D-B...
2009-11-17 14:50:58 416
原创 C语言的(...)参数
C语言中有一种长度不确定的参数,形如:"…",它主要用在参数个数不确定的函数中,我们最容易想到的例子是printf函数。 原型:int printf( const char *format [, argument]... ); 使用例:printf("Enjoy yourself everyday!\n");printf("The value is %d!\n",...
2009-11-17 14:50:24 114
原创 [推荐]关于GtkTreeView和 MVC的一篇好文章 入木三分
Preface 想要使用GtkTreeView實在不是一件"簡單"的事。我在這把簡單特意括了起來,是因為要提醒您一下。我並不是想要暗示您聯想到他是很難的,在這裡我選擇了另一種相對的意義 -- 繁複。步驟多了一點,但概念上並不算難以理解。也許您已經領教過落落長的GTK+ 2.0 Tree View Tutorial(Tim-Philipp Mler, 2005)作者是希望他能涵蓋大部...
2009-11-17 14:47:31 275
原创 用GTK打造一个notebook
引用自:http://blog.chinaunix.net/u2/81187/showart_1855688.html学习GTK也有一段时间了,但总是深入不下去,究其原因,是因为没有实际的处理过问题,没有完整的去自已实现过编程。因此就萌发了自已写一个软件工具的想法,想来想去,决定从写一个记事本开始,以后慢慢再开发一些比较复杂的。 首先做好...
2009-11-17 14:46:22 168
原创 xinit、startx 、gdm和XIM实现开机启动
引用自:http://frostyplanet.blogbus.com/logs/4057402.html从用startx启动X转到gdm,输入法启动问题迷惑了我好多天,原来调用关系是这样的:xinit只执行xinit程序 startx本身是一个脚本,会调用系统的xinitrc(/etc/X11/xinit/xinitrc)或用户的xinitrc(~/.xinitrc)。...
2009-11-17 14:45:41 1077
~/.gtk-book-marks的产生
文件管理器 nautilus或者thunar通过调用文件~/.config/user-dirs.dirs中的设定,生成~/.gtk-book-marks和$HOME目录下的文件,比如:"文档","下载","音乐"等等。而~/.config/user-dirs.dirs时由包xdg-user-dirs产生的。另外,xdg-user-dirs-gtk这个包,是一个辅助包,通过每次的自动启动...
2009-11-17 14:44:52 175
export LANG 改变系统语言 程序出现国际化不正常的问题。
通过使用export LANG = jp.utf-8或者system-config-language 选择日语改变目前系统语言后,发现有些程序的翻译不正常,存在一部分翻译一部分还是英文的情况。检查对应软件的PO档,发现对应的翻译都存在。最后通过调查发现,在~/.config目录下存在user-dirs.locale文件,其设定还为默认的en_US。这个文件和user...
2009-11-17 14:44:23 248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人