The Following User Says Thank You to qwerty12 For This Useful Post: | ||
![]() |
2010-05-20
, 06:38
|
|
Posts: 700 |
Thanked: 846 times |
Joined on Nov 2009
|
#122
|
These aren't suggestions as I realise implementing them would take a while (GObject; **** yeah! [Though, props to Vala - implementing properties and D-Bus methods and signals is so simple in Vala that it's almost orgasmic...), but ideas of what can be done with D-Bus if you ever feel like extending your brilliant efforts.
*If your object uses GObject properties for settings etc., you can manipulate them with the standard org.freedesktop.properties (something like that interface) as DBus-GLib will export them.You've already provided get/set_param methods
* You can also allow signals to emitted - create them in the GObject Way and define them in your interface XML. You could have one emitted for when a widget is updated.
I believe the cheapest solution could be this one:
![]()
![]()
With "A" being the "status" beecon (with status querying scriptupdating manually, every startup, on desktop change, every 30 or so secondsupdated via new QBW IPC features by "B") and "B" being the "toggle" beecon/button (with status toggling script just for manual interaction)
![]()
![]()
Hi, as per subject I need to programmatically control the overlaying positions of 3 instances of the same multi-instance hildon desktop (hildon-home) widget.
Programming Language is C.
I basically need to send the top most yellow box behind the red and green boxes (the very-very back) while I'm in the top most widget's settings dialog box.
I've already tried:
- gtk_window_set_keep_below gtk_window_set_keep_below
- HildonWindowStack family functions
No success so far... anyone can help?
Bye!
![]() |
2010-05-20
, 08:16
|
|
Posts: 4,274 |
Thanked: 5,358 times |
Joined on Sep 2007
@ Looking at y'all and sighing
|
#123
|
Appreciate your tips, thanks Faheem.
As I'm pretty very old school as a coder - my last C/C++ lines happened almost 20 years ago- it'll take some time to digest you precious contribution
signal sender=:1.32 -> dest=(null destination) serial=1085 path=/com/nokia/qbw; interface=com.nokia.qbw; member=Updated
int32 0
The Following User Says Thank You to qwerty12 For This Useful Post: | ||
![]() |
2010-05-20
, 10:47
|
|
Posts: 700 |
Thanked: 846 times |
Joined on Nov 2009
|
#124
|
Oh, believe me, I'm not a good coder at all. Far from it...
Anyway, for the signals thing (if you think it's a good idea):
http://slexy.org/view/s2JQ0NMQ5R
<signal name="sig_content_updated"> <arg type="s"/> <arg type="i"/> </signal>
g_cclosure_marshal_VOID__INT
g_cclosure_marshal_VOID__STRING__INT
queen_beecon_signals[SIG_CONTENT_UPDATED] = g_signal_new("sig_content_updated", QUEEN_BEECON_TYPE, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (QueenBeeconClass, queen_beecon_dbus_sig_content_updated), NULL, NULL, dbus_glib_marshal_queen_beecon_BOOLEAN__STRING_INT_POINTER, //g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_INT);
The Following User Says Thank You to No!No!No!Yes! For This Useful Post: | ||
![]() |
2010-05-20
, 12:38
|
|
Posts: 4,274 |
Thanked: 5,358 times |
Joined on Sep 2007
@ Looking at y'all and sighing
|
#125
|
Idea absolutely integrated ... got one more issue, though;
xml changed as I need QBW Instance ID which issued signal:
now:Code:<signal name="sig_content_updated"> <arg type="s"/> <arg type="i"/> </signal>
doesn't seem to be adequate any more but dunno how to create new marshaller in queen-beecon-service.h:Code:g_cclosure_marshal_VOID__INT
I triedCode:g_cclosure_marshal_VOID__STRING__INT
but I still keep not receiving any signal on the bus.Code:queen_beecon_signals[SIG_CONTENT_UPDATED] = g_signal_new("sig_content_updated", QUEEN_BEECON_TYPE, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (QueenBeeconClass, queen_beecon_dbus_sig_content_updated), NULL, NULL, dbus_glib_marshal_queen_beecon_BOOLEAN__STRING_INT_POINTER, //g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_INT);
AC_PATH_PROG([GLIBGENMARSHAL], [`$PKG_CONFIG glib-2.0 --variable=glib_genmarshal`])
AC_SUBST([GLIBGENMARSHAL])
INCLUDES = -DG_LOG_DOMAIN=\"@PACKAGE@\"
BUILT_SOURCES = hal-marshal.h hal-marshal.c headset-control-service.h
noinst_HEADERS = $(BUILT_SOURCES)
EXTRA_DIST = hal-marshal.list headset-control-service.xml
CLEANFILES = $(BUILT_SOURCES)
hal-marshal.h: hal-marshal.list
$(GLIBGENMARSHAL) --prefix=hal_marshal $< --header > $@
hal-marshal.c: hal-marshal.list hal-marshal.h
echo '#include "hal-marshal.h"' > $@
$(GLIBGENMARSHAL) --prefix=hal_marshal $< --body >> $@
headset-control-service.h: headset-control-service.xml
$(DBUSBINDINGTOOL) --mode=glib-server --prefix=headset_control $< --output=$@
bin_PROGRAMS = headset-control
headset_control_CFLAGS = $(HEADSET_CONTROL_CFLAGS)
headset_control_LDADD = $(HEADSET_CONTROL_LIBS)
headset_control_SOURCES = hal-marshal.h hal-marshal.c headset-control-obj.h headset-control-obj.c headset-controld.c
VOID:STRING,STRING
The Following User Says Thank You to qwerty12 For This Useful Post: | ||
![]() |
2010-05-20
, 20:30
|
|
Posts: 700 |
Thanked: 846 times |
Joined on Nov 2009
|
#126
|
[sbox-FREMANTLE_X86: ~] > run-standalone.sh dbus-monitor "interface='oh.no.more.qbw'" signal sender=org.freedesktop.DBus -> dest=:1.29 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired string ":1.29" signal sender=:1.13 -> dest=(null destination) serial=44 path=/oh/no/more/qbwid2; interface=oh.no.more.qbw; member=sig_content_updated string "" int32 0
The Following User Says Thank You to No!No!No!Yes! For This Useful Post: | ||
![]() |
2010-05-20
, 21:52
|
|
Posts: 700 |
Thanked: 846 times |
Joined on Nov 2009
|
#127
|
The Following User Says Thank You to No!No!No!Yes! For This Useful Post: | ||
![]() |
2010-05-21
, 03:20
|
Posts: 29 |
Thanked: 2 times |
Joined on May 2010
|
#128
|
![]() |
2010-05-21
, 04:42
|
Posts: 29 |
Thanked: 2 times |
Joined on May 2010
|
#129
|
![]() |
2010-05-21
, 05:48
|
|
Posts: 700 |
Thanked: 846 times |
Joined on Nov 2009
|
#130
|
is there a way we can save the icons, command and size font all together...?
*
If your object uses GObject properties for settings etc., you can manipulate them with the standard org.freedesktop.properties (something like that interface) as DBus-GLib will export them.You've already provided get/set_param methods* You can also allow signals to emitted - create them in the GObject Way and define them in your interface XML. You could have one emitted for when a widget is updated.