Showing posts with label beryl. Show all posts
Showing posts with label beryl. Show all posts

Tuesday, March 6, 2007

Beryl without emerald...

Ok, so the original ebuild for beryl meta x11-wm/beryl forced the user to require emerald and consequently emerald-themes and libwnck. However, since both Heliodor and Aquamarine are available as alternatives to emerald, I felt it was time to provide a choice to the user.

The ebuild would allow you to choose to add aquamarine (via USE="kde") and/or heliodor (via USE="gnome") but not to drop emerald. This was probably a good thing while aquamarine and heliodor we fairly new and maybe not as stable. Now, they seem pretty stable, so if you want to make the switch to one of those and not have emerald, it should be possible while using the meta ebuild for beyl.

To make this happen, we needed two things:

1) Modify the beryl meta ebuild
2) Patch the beryl-manager to hide the emerald theme manager option (if not installed)

The second item is purely cosmetic, but needed to be done.

Here's the original patch I applied to beryl-manager-0.1.9999.2:


--- beryl-manager-0.1.9999.2/src/main.c 2007-02-13 16:14:41.000000000 -0330
+++ beryl-manager-0.1.9999.2/src/main.c.new 2007-03-05 12:17:29.000000000 -0330
@@ -1149,6 +1149,8 @@
gtk_widget_show(mitem);
g_signal_connect(mitem, "activate", G_CALLBACK(startApp),
"beryl-settings");
+ if (detect_app("emerald-theme-manager"))
+ {
mitem = gtk_image_menu_item_new_with_label(_("Emerald Theme Manager"));
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mitem),
make_image(PIXMAPS_DIR "/emerald-theme-manager-icon.png"));
@@ -1156,6 +1158,7 @@
gtk_widget_show(mitem);
g_signal_connect(mitem, "activate", G_CALLBACK(startApp),
"emerald-theme-manager");
+ }

mitem = gtk_separator_menu_item_new();
gtk_menu_shell_append(GTK_MENU_SHELL(menu), mitem);


I applied this patch to use detect_app from beryl-manager to try and see if emerald is installed. If not, then do not add the menu item. Pretty simple, but effective fix. Nesl247 has since modified this patch and committed to upstream, so it's in berl SVN now and will be available in the next release candidate and/or beryl 0.2.0.

Now that we have a clean beryl-manager, we can modify the beryl meta ebuild to remove the dependancy on emerald. We need to be careful, as the user should choose at least one window decorator to use. So here is the diff showing the changes:


--- beryl-0.1.9999.2.ebuild 2007-03-06 10:42:45.000000000 -0330
+++ /usr/portage/local/layman/xeffects/x11-wm/beryl/beryl-0.1.9999.2.ebuild 2007-03-05 16:54:52.000000000 -0330
@@ -11,16 +11,33 @@
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-IUSE="kde gnome"
+IUSE="kde gnome noemerald"

RDEPEND="~x11-plugins/beryl-plugins-${PV}
- ~x11-wm/emerald-${PV}
+ !noemerald? ( ~x11-wm/emerald-${PV} )
kde? ( ~x11-wm/aquamarine-${PV} )
gnome? ( ~x11-wm/heliodor-${PV} )
~x11-misc/beryl-settings-${PV}
~x11-misc/beryl-manager-${PV}
>=x11-libs/cairo-1.2"

+pkg_setup() {
+ if use noemerald && ! use kde && ! use gnome; then
+ echo
+ ewarn "You have not selected any window decorator. For the meta"
+ ewarn "install, you should choose at least one of either emerald,"
+ ewarn "kde (aquamarine) or gnome (heliodor) decorators. Although"
+ ewarn "you may proceed without, you will have no window decorations"
+ ewarn "unless you enable emerald, kde, or gnome (unless provided"
+ ewarn "externally via another package)."
+ echo
+ ewarn "To enable the default window decorator, please disable the"
+ ewarn "noemerald use flag. Alternatively, set use kde or gnome for"
+ ewarn "aquamarine and/or heliodor, respectively."
+ echo
+ fi
+}
+
pkg_postinst() {
ewarn "DO NOT report bugs to Gentoo's bugzilla"
einfo "Please report all bugs to http://trac.gentoo-xeffects.org"


What did we do here? Well, we added a noemerald use flag. The reason for noemerald is that we still want the default behaviour to be "let's install emerald" and optionally add aquamarine and/or heliodor. If the user sets the use flag noemerald explicitly, then they do not get emerald by default. This should prevent installs without a window decorator.

I also added a check/warning if the user mistakenly chose no window decorator by enabling noemerald and not setting kde or gnome use flags.

Anyway, that's the current update...

Friday, March 2, 2007

Drop Shadows with Kickoff menu

I'm testing out the drop shadow patch for kickoff menu used by kicker. The patch is against kdelibs to allow kicker to display a drop shadow around the kickoff menu.

Currently, kicker has this drop shadow coded into the UI but it doesn't display as I never applied the patch against kdelibs. This is not a problem, and the only side effect is that the menu doesn't have any visible border to differentiate it from a white background, which make it look odd.

So, I just tested the patch against kdelibs, and it looks great. The main issue now is integration. This drop shadow should be able to be turned on/off via the Menu drop shadow setting in kcontrol under Appearance & Themes/Style/Effects. Currently this is not the case.



Why is this important? First of all, is should be integrated for consistancy. If you disable menu shadows (e.g. due to low system resources), then this effect should be global. Secondly, this does not play nice with Beryl when you have shadows enabled in Beryl and also have enabled Menu Drop Shadows (which this patch does for Kickoff menu).

The current solution for Beryl users (in general) is to disable the KDE Menu drop shadows if you have enabled shadows in Beryl. However, the patch to kdelibs, as it stands, does not allow you to disable the drop shadow around the kickoff.

So, expect in the next few days for me to release an updated kdelibs build which enables drop shadows. Hopefully, I can get the whole enable/disable via Menu drop shadows figured out so that it works both for Beryl users and non-beryl users alike.

Please see my post on xeffects located here for additional info.

Tuesday, February 27, 2007

Xeffects new additions...

Been busy for the last few days, so haven't posted.

Here's a brief update on what's new in the xeffects overlay for KDE:

1) Taskbar - Compiz : This is a drop in replacement for the Kicker taskbar applet that attempts to play nice with compositing WM's (like beryl and compiz).

2) Kde Autostart manager : Ever wonder how to tell an app to start automatically from a default or new KDE session (other than saving the session)? This little gem provides a front end to your .~/.kde/Autostart folder and allows you to add apps from your K-Menu to Autostart.



3) KIO Resouces : Added a new KDE IO Slave which allows you to type a URL like resources:/ to access configs, wallpapers, etc., and not having to remember that these could be stored local to your user, or system-wide. For example, resources:/wallpapers will show all wallpapers available. You can add new ones and it will save to your local .kde dir.

Anyway, for additional info, please read the full posts on the xeffects forums under KDE/Kickoff.

-Rod

Friday, February 16, 2007

Beryl, AIGLX and Intel...

I am amazed everyday at the work being done on Beryl. I started back last summer, working with a couple of people trying to get Xgl and compiz working under Gentoo. We spent long hours making packages, install scripts, etc., just to make it run.

Back then, there we a couple of basic plugins like cube, wobbly windows, and basic window decorations. Today, there are a plethora of plugins included with Beryl, and more being developed everyday.

Of course, Beryl is a fork of Compiz, and for Gentoo, a couple of us maintain an overlay called Xeffects which has Beryl among other things.

For me, I have an Acer 9412 Laptop with an Intel 945GME, and I can tell you, that everything is sweet. Now, even the water plugin (which was previously not working on Intel) works wonderful.

Friday, February 9, 2007

Linux Desktop Revolution...

I been recently helping out adding improvement patches to Gentoo's distribution via the Xeffects overlay.

Gentoo is a great Linux OS which is source based. Gentoo supports managing and creating an overlay which allows you to customize individual packages.

What does this mean? Well, when people are testing modifications and improvements to things like KDE, X, etc, you can take these patch files and make an overlay to test them one Gentoo as well.

Xeffects is such an overlay, and contains fixes to KDE, as well as other desktop improvements for Gentoo (like Beryl).

Beryl is a Revolutionary way to look at your desktop and shows exactly what Linux can achieve, which is far beyond anything Vista has to offer.

Beryl is an branch of Compiz, which was originally developed as a proof of concept by Novel. The source was released to the public, and it has developed beyond a simple proof of concent into a full blown replacement window manager.