View Full Version : Desktop Effects Preferences
SmSpillaz
October 28th, 2007, 10:36 PM
For those who have read my blog, I have started work on a simple configuration tool known as 'desktop effects preferences', quite akin to simple-ccsm with the magic of the compizconfig-python bindings.
It was designed to be a settings capplet that provided a little bit more control over how things worked (instead of 'enable this, enable that - because then the user would enable everything :P)
308309310
Get it from git at git://git.compiz-fusion.org/users/smspillaz/cfcapplet
Configure away!
SmSpillaz
delfick
October 29th, 2007, 06:13 AM
looks very nice :D
SmSpillaz
November 18th, 2007, 12:36 AM
OK, there is now a 0.6 branch. Please test :)
Deciare
November 18th, 2007, 01:27 AM
I've been way too lazy about checking this out, and am glad I finally did. ^_^
It's beautiful. Almost everything is organised into groups that make much more sense from the end user's perspective than ccsm's which-plugin-provides-which-option approach.
There are a few small details I'd like to comment about, though...
(I tested the git master version.)
Why is the Expo plugin not available in the screen edges/corners section of the Shortcuts tab?
Extras->Panning Zoom mode doesn't automatically enable the hide_original_mouse and mouse_pan options, but both options should be enabled for it to behave as expected.
The Extras->Select Zoom Area with option doesn't seem to do anything when Area Zoom is selected. Was it supposed to connect with the zoom plugin's initiate_button?
Under the Desktop tab, selecting any arrangement other than Desktop Wall seems to have no effect. The horizontal and vertical virtual size adjustments also fail with the following error:
Traceback (most recent call last):
File "compiz-fusion-preferences.py", line 1090, in SettingValueChanged
self.plugins[self.pluginnames.index(name)].Screens[0][settingName].Value = widget.get_value()
ValueError: list.index(x): x not in list
The first edge flipping option can disable vpswitch, but not enable it. The last two edge flipping options don't do anything.
Actually, a lot of options don't seem to be connected yet, so I'll leave actual functionality alone for now. ^^;
Under the Effects tab, "Maximise" is written with an S whereas "Minimize" is written with a Z. :p
Under the Extras tab, there are options that affect colorfilter and annotate, but there's no option to enable or disable either plugin. Changing their respective shortcut keys also doesn't automatically enable those plugins.
initiate_key and initiate_button shortcuts should be configurable for shift. This is because the default shortcut for switching windows conflicts with the default shortcut for zooming the desktop when the mouse wheel is used in conjunction with the Shift switcher. Using either of the Initiate shortcuts makes it unnecessary to hold onto the Super key to stay in switcher mode.
Under the 3D Desktop tab, my GeForce 6200 is identified simply as "6200/PCI/SSE2". It seems that too much text is being trimmed from the left.
An option to configure which mode of Show Desktop we'd like to see would be nice. :) Minimise, Fade, or Slide.
Adding a checkbox to enable or disable snapping window behaviour would be nice too, as described in this post (http://forum.compiz-fusion.org/showpost.php?p=37293&postcount=8).
That's all I have to nitpick about for now, I think... Even though not everything works yet, this is a great beginning! Keep up the good work! :D
delfick
November 18th, 2007, 01:29 AM
I always forget this, how do we make git use the right branch?
(and you might want to edit the third last line of your first post :D)
SmSpillaz
November 18th, 2007, 04:38 AM
git clone git://git.compiz-fusion.org/users/smspillaz/cfcapplet
git checkout 0.6.0
SmSpillaz
November 18th, 2007, 05:40 AM
I've been way too lazy about checking this out, and am glad I finally did. ^_^
It's beautiful. Almost everything is organised into groups that make much more sense from the end user's perspective than ccsm's which-plugin-provides-which-option approach.
There are a few small details I'd like to comment about, though...
(I tested the git master version.)
Why is the Expo plugin not available in the screen edges/corners section of the Shortcuts tab?
It's 'View Desktops'
Extras->Panning Zoom mode doesn't automatically enable the hide_original_mouse and mouse_pan options, but both options should be enabled for it to behave as expected.
Yeah, I should add these
The Extras->Select Zoom Area with option doesn't seem to do anything when Area Zoom is selected. Was it supposed to connect with the zoom plugin's initiate_button?
Works here. Can you check to see if the zoom plugin was enabled? (I'll look into it further however)
Under the Desktop tab, selecting any arrangement other than Desktop Wall seems to have no effect. The horizontal and vertical virtual size adjustments also fail with the following error:
Traceback (most recent call last):
File "compiz-fusion-preferences.py", line 1090, in SettingValueChanged
self.plugins[self.pluginnames.index(name)].Screens[0][settingName].Value = widget.get_value()
ValueError: list.index(x): x not in list
Works here
The first edge flipping option can disable vpswitch, but not enable it. The last two edge flipping options don't do anything.
Works here
Actually, a lot of options don't seem to be connected yet, so I'll leave actual functionality alone for now. ^^;
Under the Effects tab, "Maximise" is written with an S whereas "Minimize" is written with a Z. :p
Fixing
Under the Extras tab, there are options that affect colorfilter and annotate, but there's no option to enable or disable either plugin. Changing their respective shortcut keys also don't automatically enable those plugins.
I added checkboxes next to these (well, I'm adding them)
initiate_key and initiate_button shortcuts should be configurable for shift. This is because the default shortcut for switching windows conflicts with the default shortcut for zooming the desktop when the mouse wheel is used in conjunction with the Shift switcher. Using either of the Initiate shortcuts makes it unnecessary to hold onto the Super key to stay in switcher mode.
I don't know if I should change it so that next_key becomes initiate key (Ie, pressing Super-Tab. Comments?
Under the 3D Desktop tab, my GeForce 6200 is identified simply as "6200/PCI/SSE2". It seems that too much text is being trimmed from the left.
Strange. Could you please post your
glxinfo | grep Renderer
An option to configure which mode of Show Desktop we'd like to see would be nice. :) Minimise, Fade, or Slide.
Cool. Adding (Did you get that from medium-settings btw?)
Adding a checkbox to enable or disable snapping window behaviour would be nice too, as described in this post (http://forum.compiz-fusion.org/showpost.php?p=37293&postcount=8).
That's all I have to nitpick about for now, I think... Even though not everything works yet, this is a great beginning! Keep up the good work! :D
I've added a 'snap key' (As wobbly is never disabled). Is that enough?
Thanks for the compliments!
SmSpillaz
Deciare
November 18th, 2007, 06:07 AM
It's 'View Desktops'
Ah, I see. Isn't that inconsistent with what Expo is called under the Desktop tab? It's a relief to know that it's selectable, anway. :)
Works here. Can you check to see if the zoom plugin was enabled? (I'll look into it further however)
The zoom plugin is enabled according to ccsm. Initiate is set to <Super>Button6 in ccsm, but the Select Zoom Area with field appears blank in cfcapplet.
Works here
Works here
I re-tested the hsize/vsize and vpswitch options and they are still not working. I'll update all Compiz Fusion components from git to see if the version I had was too old for your applet. (We are talking about the git master version, right?)
I noticed a new error, too. When accessing the Desktop Wall/Plane/Cube dropdown list for the first time, this gets printed to the console:
compiz-fusion-preferences.py:823: GtkWarning: gtk_combo_box_get_active: assertion `GTK_IS_COMBO_BOX (combo_box)' failed
CurrentValue = widget.get_active()
I added checkboxes next to these (well, I'm adding them)
Thanks.:)
I don't know if I should change it so that next_key becomes initiate key (Ie, pressing Super-Tab. Comments?
That may conflict with the expectations of people who expect to be able to rapidly toggle back and forth between two windows with <Super>Tab.
Strange. Could you please post your
glxinfo | grep Renderer
$ glxinfo | grep -i renderer
OpenGL renderer string: GeForce 6200/PCI/SSE2
Cool. Adding (Did you get that from medium-settings btw?)
It's something I came up with while brainstorming in this thread (http://forum.compiz-fusion.org/showthread.php?t=5479).
I've added a 'snap key' (As wobbly is never disabled). Is that enough?
Wobbly can't be disabled? What does the Effects->Move Effect setting affect, then? I can't check because that doesn't work for me, either...
delfick
November 18th, 2007, 09:25 AM
what you said about changing branch was wrong (aka it doesn't work)
git checkout -b /origin/0.6.0
is the right command
though I have problems updating
iambob@bob:~/svn/cfcapplet$ git pull 0.6.0
fatal: '0.6.0': unable to chdir or not a git archive
fatal: The remote end hung up unexpectedly
Cannot get the repository state from 0.6.0
and using the program gives me errors
iambob@bob:~/svn/cfcapplet$ compiz-fusion-settings
For reference, your startup command is:
Backend : ini
Integration : true
Profile : delfick
Adding plugin eresize (Enhanced Resize)
Adding plugin freewins (Freewins)
Adding plugin anaglyph (Anaglyph)
Adding plugin star (Stars)
Adding plugin atlantis (Cube Atlantis)
Adding plugin scale (Scale)
Adding plugin addhelper (ADD Helper)
Adding plugin blur (Blur Windows)
Adding plugin rotate (Rotate Cube)
Adding plugin cube (Desktop Cube)
Adding plugin text (Text)
Adding plugin switcher (Application Switcher)
Adding plugin regex (Regex Matching)
Adding plugin scalefilter (Scale Window Title Filter)
Adding plugin resizeinfo (Resize Info)
Adding plugin png (Png)
Adding plugin inotify (Inotify)
Adding plugin vpswitch (Viewport Switcher)
Adding plugin screenshot (Screenshot)
Adding plugin animation (Animations)
Adding plugin snap (Snapping Windows)
Adding plugin showdesktop (Show desktop)
Adding plugin place (Place Windows)
Adding plugin wobbly (Wobbly Windows)
Adding plugin ezoom (Enhanced Zoom Desktop)
Adding plugin group (Group and Tab Windows)
Adding plugin widget (Widget Layer)
Adding plugin reflex (Reflection)
Adding plugin thumbnail (Window Previews)
Adding plugin expo (Expo)
Adding plugin crashhandler (Crash handler)
Adding plugin resize (Resize Window)
Adding plugin minimize (Minimize Effect)
Adding plugin cubereflex (Cube Reflection)
Adding plugin annotate (Annotate)
Adding plugin plane (Desktop Plane)
Adding plugin water (Water Effect)
Adding plugin extrawm (Extra WM Actions)
Adding plugin dbus (Dbus)
Adding plugin fadedesktop (Fade to Desktop)
Adding plugin tile (Tile)
Adding plugin svg (Svg)
Adding plugin mswitch (Mouse switch)
Adding plugin video (Video Playback)
Adding plugin fakeargb (Color Opacity)
Adding plugin clone (Clone Output)
Adding plugin glib (GLib)
Adding plugin zoom (Zoom Desktop)
Adding plugin scaleaddon (Scale Addons)
Adding plugin ring (Ring Switcher)
Adding plugin put (Put)
Adding plugin splash (Splash)
Adding plugin shift (Shift Switcher)
Adding plugin imgjpeg (JPEG)
Adding plugin wall (Desktop Wall)
Adding plugin cubecaps (Cube Caps)
Adding plugin mblur (Motion blur)
Adding plugin move (Move Window)
Adding plugin decoration (Window Decoration)
Adding plugin fade (Fading Windows)
Adding plugin snow (Snow)
Adding core settings (General Options)
Adding plugin winrules (Window Rules)
Adding plugin trailfocus (Trailfocus)
Adding plugin fs (Userspace File System)
Adding plugin workarounds (Workarounds)
Adding plugin firepaint (Paint fire on the screen)
Adding plugin neg (Negative)
Adding plugin colorfilter (Color filter)
Adding plugin gears (Cube Gears)
Adding plugin bench (Benchmark)
Adding plugin opacify (Opacify)
Adding plugin named bouge
Initializing core options...done
7217
GetSetting
GetSetting
Initializing group options...done
GetSetting
Initializing rotate options...done
GetSetting
Returning plugin.Display[settingName]
GetSetting
Returning plugin.Display[settingName]
Initializing expo options...done
GetSetting
Returning plugin.Display[settingName]
Initializing ezoom options...done
GetSetting
GetSetting
Initializing cube options...done
GetSetting
Initializing scale options...done
GetSetting
Returning plugin.Display[settingName]
GetSetting
GetSetting
Initializing move options...done
GetSetting
Returning plugin.Display[settingName]
GetSetting
GetSetting
Initializing extrawm options...done
GetSetting
Returning plugin.Display[settingName]
Traceback (most recent call last):
File "compiz-fusion-preferences.py", line 1186, in <module>
Base()
File "compiz-fusion-preferences.py", line 368, in __init__
self.CreateTextSetting(self.TextSettings[x][0], self.TextSettings[x][1][0], self.TextSettings[x][1][1], sensitive)
File "compiz-fusion-preferences.py", line 1160, in CreateTextSetting
self.Widget.set_text(self.GetSetting(name, settingType, settingName).Value)
File "compiz-fusion-preferences.py", line 1181, in GetSetting
return plugin.Display[settingName]
KeyError: 'toggle_fullscreen_key'
iambob@bob:~/svn/cfcapplet$
...
SmSpillaz
November 18th, 2007, 10:49 AM
May I ask what EResize does?
SmSpillaz
November 18th, 2007, 10:53 AM
@ Delfick : That is toggle_maximized_horizontally_key is not in the 0.6 branch. Can you try again? Use git pull origin/0.6.0 to update methinks
SmSpillaz
November 18th, 2007, 11:22 AM
Deciare: I fixed the settings changed thing. Most of it should work now ^_^
delfick
November 18th, 2007, 11:28 AM
eresize is enhanced resize, I don't actually use and can't remember what changes it had, lol :D
@ Delfick : That is toggle_maximized_horizontally_key is not in the 0.6 branch. Can you try again? Use git pull origin/0.6.0 to update methinks
git pull 0.6.0 is how I update compiz-fusion components
and
iambob@bob:~/svn/cfcapplet$ git pull origin/0.6.0
fatal: 'origin/0.6.0': unable to chdir or not a git archive
fatal: The remote end hung up unexpectedly
Cannot get the repository state from origin/0.6.0
...
SmSpillaz
November 18th, 2007, 12:35 PM
please tell me what eresize doe :P (Just post a screenie of the settings page then :P
I'll see if you can fix the git repo. Tell me what git branch gives
delfick
November 18th, 2007, 02:44 PM
please tell me what eresize doe :P (Just post a screenie of the settings page then :P
here we go http://forum.compiz-fusion.org/showthread.php?t=4442
I remember now :D
I'll see if you can fix the git repo. Tell me what git branch gives
will a bit later, am in windows atm so I can help a friend using voice conversation....
macaholic
November 18th, 2007, 04:48 PM
It looks cool, but one question, how do I run it? :D
Edit: OOOOOOOOOO I didn't see that file. *embarrassed*
macaholic
November 18th, 2007, 04:56 PM
Darn, now when I run it, it doesn't work. The output from terminal is:compiz-fusion-settings: line 5: cd: /usr/local/bin/compiz-fusion-preferences: No such file or directory
For reference, your startup command is: LIBGL_ALWAYS_INDIRECT=1 compiz --replace ccp
Backend : gconf
Integration : true
Profile : default
Adding plugin atlantis (Cube Atlantis)
Adding plugin screensaver (Screen Saver)
Adding plugin star (Stars)
Adding plugin photo (Photowheel)
Adding plugin anaglyph (Anaglyph)
Adding plugin autumn (Autumn)
Adding plugin freewins (Freewins)
Adding plugin wallpaper (Wallpaper)
Adding core settings (General Options)
Adding plugin neg (Negative)
Adding plugin screenshot (Screenshot)
Adding plugin widget (Widget Layer)
Adding plugin cubereflex (Cube Reflection)
Adding plugin clone (Clone Output)
Adding plugin showdesktop (Show desktop)
Adding plugin fs (Userspace File System)
Adding plugin fakeargb (Color Opacity)
Adding plugin gears (Cube Gears)
Adding plugin put (Put)
Adding plugin 3d (3D Windows)
Adding plugin expo (Expo)
Adding plugin switcher (Application Switcher)
Adding plugin place (Place Windows)
Adding plugin rotate (Rotate Cube)
Adding plugin animation (Animations)
Adding plugin resizeinfo (Resize Info)
Adding plugin trailfocus (Trailfocus)
Adding plugin fadedesktop (Fade to Desktop)
Adding plugin blur (Blur Windows)
Adding plugin cubecaps (Cube Caps)
Adding plugin extrawm (Extra WM Actions)
Adding plugin glib (GLib)
Adding plugin dbus (Dbus)
Adding plugin bench (Benchmark)
Adding plugin snow (Snow)
Adding plugin ring (Ring Switcher)
Adding plugin text (Text)
Adding plugin scaleaddon (Scale Addons)
Adding plugin fade (Fading Windows)
Adding plugin winrules (Window Rules)
Adding plugin tile (Tile)
Adding plugin group (Group and Tab Windows)
Adding plugin plane (Desktop Plane)
Adding plugin zoom (Zoom Desktop)
Adding plugin reflex (Reflection)
Adding plugin water (Water Effect)
Adding plugin regex (Regex Matching)
Adding plugin vpswitch (Viewport Switcher)
Adding plugin scalefilter (Scale Window Title Filter)
Adding plugin svg (Svg)
Adding plugin thumbnail (Window Previews)
Adding plugin decoration (Window Decoration)
Adding plugin ezoom (Enhanced Zoom Desktop)
Adding plugin wobbly (Wobbly Windows)
Adding plugin minimize (Minimize Effect)
Adding plugin crashhandler (Crash handler)
Adding plugin splash (Splash)
Adding plugin mblur (Motion blur)
Adding plugin imgjpeg (JPEG)
Adding plugin firepaint (Paint fire on the screen)
Adding plugin wall (Desktop Wall)
Adding plugin annotate (Annotate)
Adding plugin video (Video Playback)
Adding plugin cube (Desktop Cube)
Adding plugin inotify (Inotify)
Adding plugin shift (Shift Switcher)
Adding plugin addhelper (ADD Helper)
Adding plugin workarounds (Workarounds)
Adding plugin scale (Scale)
Adding plugin mswitch (Mouse switch)
Adding plugin snap (Snapping Windows)
Adding plugin opacify (Opacify)
Adding plugin resize (Resize Window)
Adding plugin png (Png)
Adding plugin colorfilter (Color filter)
Adding plugin move (Move Window)
Initializing core options...done
Initializing group options...done
Initializing rotate options...done
GConf backend: There is an unsupported value at path /apps/compiz/plugins/rotate/allscreens/options/rotate_flip_left_edge. Settings from this path won't be read. Try to remove that value so that operation can continue properly.
GConf backend: There is an unsupported value at path /apps/compiz/plugins/rotate/allscreens/options/rotate_flip_right_edge. Settings from this path won't be read. Try to remove that value so that operation can continue properly.
Initializing expo options...done
GConf backend: There is an unsupported value at path /apps/compiz/plugins/expo/allscreens/options/expo_edge. Settings from this path won't be read. Try to remove that value so that operation can continue properly.
Initializing ezoom options...done
Initializing cube options...done
Initializing scale options...done
Initializing move options...done
Initializing extrawm options...done
Initializing water options...done
Initializing firepaint options...done
Initializing snow options...done
Initializing colorfilter options...done
Initializing annotate options...done
Initializing shift options...done
Initializing widget options...done
Initializing wall options...done
Initializing switcher options...done
Initializing ring options...done
Initializing wobbly options...done
Initializing resize options...done
Initializing animation options...done
Traceback (most recent call last):
File "compiz-fusion-preferences.py", line 1190, in <module>
Base()
File "compiz-fusion-preferences.py", line 672, in __init__
if Button in ZoomButton.Value:
UnboundLocalError: local variable 'ZoomButton' referenced before assignment
EDIT: BTW I also tried running compiz-decorator settings and it just guves command not found.
EDIT2: There is a directory /usr/local/bin/compiz-fusion-preferences, and when you run python compiz-fusion-preferences.py in that directory it outpits the same things as above.
Deciare
November 18th, 2007, 05:53 PM
Deciare: I fixed the settings changed thing. Most of it should work now ^_^
Yes, more stuff works now. Way to go! :D
Not everything works yet, though, I'm afraid I will have to keep bothering you. ^^;
I don't know if it makes a difference, but I'm using my build script to modify all components of cfcapplet to install into /usr instead of /usr/local. (sed FTW!)
A. Windows Tab
Aa. Window Switcher Section
Aa1. The text field initially shows different key bindings for Flat-bar, Ring, and Shift (as configured in ccsm). But any attempt to change the key bindings via this text field causes the same binding to be used by all switchers.
Aa2. The dropdown list doesn't work when going from either the Flip3D or CoverFlow to Ring. Doing so causes the Super+Tab effect to continue using the previously-selected switcher.
Aa3. Going from Flat-bar to Ring works as expected unless the key binding has been changed at least once via the text field (see Aa1), at which point switching to Ring activates the last-used Shift mode instead.
Aa4. Going from No Switcher to Ring always works.
Ab. Window Picker Section
Ab1. Segmentation fault when pressing Enter in the text field. Console output:
compiz-fusion-preferences.py:1105: GtkWarning: gtk_entry_get_text: assertion `GTK_IS_ENTRY (entry)' failed
plugin.Display[settingName].Value = widget.get_text()
Exception exceptions.TypeError: 'expected string or Unicode object, NoneType found' in 'compizconfig.EncodeValue' ignored
/usr/bin/compiz-fusion-settings: line 6: 5034 Segmentation fault python compiz-fusion-preferences.py
Ab2. "Clicking on the desktop hides all windows" can be disabled, but not enabled. Clicking on it first the first time after launching cfcapplet always prints the following error:
compiz-fusion-preferences.py:1087: GtkWarning: gtk_toggle_button_get_active: assertion `GTK_IS_TOGGLE_BUTTON (toggle_button)' failed
plugin.Display[settingName].Value = widget.get_active()
Ab3. The "Allow me to search these windows" and "Information on scaled windows" check boxes have the same problem, with slightly different error output:
compiz-fusion-preferences.py:1076: GtkWarning: gtk_toggle_button_get_active: assertion `GTK_IS_TOGGLE_BUTTON (toggle_button)' failed
self.plugins[self.pluginnames.index(name)].Enabled = widget.get_active()
Ac. Window Grouping Section
Ac1. "Allow me to group windows" can only be disabled. Console output:
compiz-fusion-preferences.py:1076: GtkWarning: gtk_toggle_button_get_active: assertion `GTK_IS_TOGGLE_BUTTON (toggle_button)' failed
self.plugins[self.pluginnames.index(name)].Enabled = widget.get_active()
compiz-fusion-preferences.py:1081: GtkWarning: gtk_toggle_button_get_active: assertion `GTK_IS_TOGGLE_BUTTON (toggle_button)' failed
self.gladefile.get_widget('AllowTabbingCheckBox'). set_sensitive(widget.get_active())
Ac2. "Allow me to tab these windows" has no effect; tabbing is always enabled via Super+T key binding. Console output:
compiz-fusion-preferences.py:1085: GtkWarning: gtk_toggle_button_get_active: assertion `GTK_IS_TOGGLE_BUTTON (toggle_button)' failed
plugin.Screens[0][settingName].Value = widget.get_active()
Ac3. "Show window thumbnails at the taskbar" can be disabled, but not enabled. Console output:
compiz-fusion-preferences.py:1076: GtkWarning: gtk_toggle_button_get_active: assertion `GTK_IS_TOGGLE_BUTTON (toggle_button)' failed
self.plugins[self.pluginnames.index(name)].Enabled = widget.get_active()
Ad. Other Section
Ad1. Pressing Enter in either of the first two text fields causes cfcapplet to crash:
compiz-fusion-preferences.py:1105: GtkWarning: gtk_entry_get_text: assertion `GTK_IS_ENTRY (entry)' failed
plugin.Display[settingName].Value = widget.get_text()
Exception exceptions.TypeError: 'expected string or Unicode object, NoneType found' in 'compizconfig.EncodeValue' ignored
/usr/bin/compiz-fusion-settings: line 6: 5457 Segmentation fault python compiz-fusion-preferences.py
Ad2. The third text field doesn't seem to do anything, and comes up blank when cfcapplet is restarted even if I entered something into it in the previous session.
Ad3. "Opacity of Moving Windows" slider has no effect. Setting is forgotten with next cfcapplet restart. Console output:
compiz-fusion-preferences.py:1096: GtkWarning: gtk_range_get_value: assertion `GTK_IS_RANGE (range)' failed
plugin.Display[settingName].Value = widget.get_value()
Aside from the specific errors I pasted above, I quickly went through most of the other checkboxes in cfcapplet, and most of them have the same problem: they can disable features, but not enable them. It's always the same assertion failure message in the console, but with slightly different line numbers.
As you'd mentioned earlier, your applet also assumes that the Wobbly plugin is always active, and provides no option to enable or disable it. I'm not sure that's a good idea... At least, if the Wobbly plugin has been disabled by ccsm, Wobbly-related options in the applet should be greyed out. (Personally, I think Wobbly is inconsistent and confusing, so I prefer to turn it off.)
SmSpillaz
November 18th, 2007, 10:35 PM
"
`GTK_IS_ENTRY (entry)' failed"
I think you have a problem with your gtk, or your pyglade is not uptodate
SmSpillaz
November 18th, 2007, 11:03 PM
macaholic: ... typo... Try the latest version from git. (git pull origin)
macaholic
November 18th, 2007, 11:26 PM
well i got the latest git and it solved the no such file or directory problem, but I'm still getting Traceback (most recent call last):
File "compiz-fusion-preferences.py", line 1190, in <module>
Base()
File "compiz-fusion-preferences.py", line 672, in __init__
if Button in ZoomButton.Value:
UnboundLocalError: local variable 'ZoomButton' referenced before assignment
Deciare
November 19th, 2007, 12:10 AM
I found a solution to one of the problems that was plaguing me!
Take the EdgeChanged() function as an example (it affects the Screen Edges and Corners section under the Shortcuts tab):
def EdgeChanged(self, signal, Edge, Widget)
It is connected this way:
self.Widget.connect("changed", self.EdgeChanged, self.Edges[EdgeWidgets.index(Edge)], self.Widget)
For some reason, the self.Widget value above is valid at least up until the time the signal is connected, but when I try
print Widget
from within the EdgeChanged() function, Widget comes up as an unitialised gtk.ComboBox object!
Fortunately, I found that the first parameter that automatically gets passed to connected function is actually the Gtk widget. In other words, the signal parameter in the EdgeChanged() function serves exactly the same purpose as the Widget variable was supposed to serve! So if I modify the EdgeChanged() function's declaration like this:
def EdgeChanged(self, Widget, Edge):
and modify the connection like this:
self.Widget.connect("changed", self.EdgeChanged, self.Edges[EdgeWidgets.index(Edge)])
it works perfectly!
Deciare
November 19th, 2007, 12:24 AM
The patch attached to this message fixes nearly all the problems I was experiencing earlier with checkboxes and comboboxes.
My test system uses PyGtk 2.12.0 and Gtk 2.12.1.
Edit: Updated patch to fix text entries and sliders as well.
delfick
November 19th, 2007, 01:11 AM
iambob@bob:~/svn/cfcapplet$ git branch
master
origin/0.6.0
made me realise that no branch was actually selected, so I did "git checkout origin/0.6.0 and now the origin/0.6.0 has the star in front of it when running git branch
but I still can't update the thing :(
SmSpillaz
November 19th, 2007, 08:43 AM
Thanks deciare :). My code is terribly sloppy. Meh.
SmSpillaz
November 19th, 2007, 09:14 AM
Ive Commited it now. Should fix the assertion problems
SmSpillaz
November 19th, 2007, 10:21 AM
Fortunately, I found that the first parameter that automatically gets passed to connected function is actually the Gtk widget. In other words, the signal parameter in the EdgeChanged() function serves exactly the same purpose as the Widget variable was supposed to serve! So if I modify the EdgeChanged() function's declaration like this:
Heh, I got told :P (Well, I told you about Mac OS X, so I guess we're equal :P)
SmSpillaz
November 19th, 2007, 10:23 AM
made me realise that no branch was actually selected, so I did "git checkout origin/0.6.0 and now the origin/0.6.0 has the star in front of it when running git branch
but I still can't update the thing :(
meh. You tried git pull origin? Is it reporting 'already up-to-date'?
Where did you get your avatar btw? Did you make it yourself?
delfick
November 19th, 2007, 11:14 AM
meh. You tried git pull origin? Is it reporting 'already up-to-date'?
iambob@bob:~/svn/cfcapplet$ git pull origin
remote: Generating pack...
remote: Done counting 13 objects.
Result has 7 objects.
remote: Deltifying 7 objects...
remote: /7) done/7) done
remote: Total 7 (delta 4), reused 0 (delta 0)
Unpacking 7 objects...
100% (7/7) done
* refs/remotes/origin/0.6.0: fast forward to branch '0.6.0' of git://git.compiz-fusion.org/users/smspillaz/cfcapplet
old..new: 7f937e1..504cf8d
* refs/remotes/origin/master: fast forward to branch 'master' of git://git.compiz-fusion.org/users/smspillaz/cfcapplet
old..new: f65068c..a8ea1c3
Warning: No merge candidate found because value of config option
"branch.origin/0.6.0.merge" does not match any remote branch fetched.
No changes.
Where did you get your avatar btw? Did you make it yourself?
lol, I made it up during year 11 (I think)......comes from the fact that I can't draw :D
vBulletin® v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.