Getting E17 Back with Multiple Monitor Support

Jun 05 2014

I have been using e17 for about a year. I haven’t encountered any bugs, and it’s definitely stable enough for daily usage. On upgrading e17 earlier this week to 0.17.6, I found the monitors to be handled separately. I considered this to be a regression in the software. I installed the upstream development version 0.18.7, since it was in the Portage tree to see if it fixed the problems. Other people had the same multiple monitor or dual-monitor problems with e18. I played around with the settings to no avail. Installing 0.17.5 again by editing the 0.17.6 ebuild didn’t help.
I decided to install the old 0.17.5 ebuild which is no longer in the Pportage tree. Upon close examination, EFL (Enlightenment Foundation Libraries) in the recent ebuilds replaced the separate packages used in the 0.17.5.ebuild.
In the 0.17.5.ebuild:

RDEPEND="
    pam? ( sys-libs/pam )
    >=dev-libs/eet-1.7.9
    >=dev-libs/efreet-1.7.9
    >=dev-libs/eio-1.7.9
    >=dev-libs/eina-1.7.9[mempool-chained-pool]
    || ( >=dev-libs/ecore-1.7.9[X,evas,inotify] >=dev-libs/ecore-1.7.9[xcb,evas,inotify] )
    >=media-libs/edje-1.7.9
    >=dev-libs/e_dbus-1.7.9[libnotify,udev?]
    ukit? ( >=dev-libs/e_dbus-1.7.9[udev] )
    enlightenment_modules_connman? ( >=dev-libs/e_dbus-1.7.9[connman] )
    enlightenment_modules_shot? ( >=dev-libs/ecore-1.7.9[curl] )
    || ( >=media-libs/evas-1.7.9[eet,X,jpeg,png] >=media-libs/evas-1.7.9[eet,xcb,jpeg,png] )
    >=dev-libs/eeze-1.7.9
    emotion? ( >=media-libs/emotion-1.7.9 )
    x11-libs/xcb-util-keysyms"

In the 0.17.6.ebuild:

RDEPEND="
    pam? ( sys-libs/pam )
    || ( >=dev-libs/efl-1.8.4[X,eet,jpeg,png] >=dev-libs/efl-1.8.4[xcb,eet,jpeg,png] )
    >=dev-libs/e_dbus-1.7.10
    ukit? ( >=dev-libs/e_dbus-1.7.10[udev] )
    x11-libs/xcb-util-keysyms"

I decided I had enough of the split screen methodology. One reason people don’t switch software is because they have to change the ways they interact with them. In my case, interacting with each monitor separately would lead to productivity loss while learning the new methodology and in the future. For example, the taskbar in the newer versions only show windows from one monitor. If I use two taskbars, I would have to keep track of where I put each window. User interfaces should get out of the way as much as possible so that users would not have to perform such unproductive chores.
Time to download the old ebuilds and rollback e17.

cd /usr/portage/x11-wm/enlightenment/
wget http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-wm/enlightenment/enlightenment-0.17.5.ebuild -O enlightenment-0.17.5.ebuild
ebuild enlightenment-0.17.5.ebuild digest
cd /usr/portage/x11-wm/enlightenment/
wget http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/e_dbus/e_dbus-1.7.9.ebuild?revision=1.2 -O e_dbus-1.7.9.ebuild
ebuild e_dbus-1.7.9.ebuild digest
emerge -C dev-libs/efl
emerge =x11-wm/enlightenment-0.17.5

The general procedure is to download old ebuilds as necessary and remove packages that block other packages from being emerged. I went on to reinstall terminology, e17’s native terminal.

cd /usr/portage/x11-terms/terminology/
wget http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-terms/terminology/terminology-0.4.0_alpha1.ebuild?revision=1.2 -O terminology-0.4.0_alpha1.ebuild
ebuild terminology-0.4.0_alpha1.ebuild digest
emerge -pv =x11-terms/terminology-0.4.0_alpha1 | less
wget http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-libs/elementary/elementary-1.7.9.ebuild -O ../../media-libs/elementary/elementary-1.7.9.ebuild
ebuild ../../media-libs/elementary/elementary-1.7.9.ebuild digest
emerge =media-libs/elementary-1.7.9
emerge -av =x11-terms/terminology-0.4.0_alpha1

Finally, to prevent future upgrades from undoing the work, mask newer versions of e17 and terminology in /etc/portage/package.mask/e17

>x11-wm/enlightenment-0.17.5
>x11-terms/terminology-0.4.0_alpha1
>=dev-libs/efl-1.9.4
>media-libs/elementary-1.7.9
>dev-libs/e_dbus-1.7.9
Tags: ,

No responses yet