Artist's Guide to the Desktop, Part 2
Virtual screen space gives you added room to keep windows open. In essence, they are an alternative to iconizing windows. Icons are nice, but without meaningful icons to represent the real window's application, icons can be more confusing than helpful.
Pagers get around this ambiguity by simply leaving the windows open. You jump to and fro between virtual desktops with multiple pages. Think of each desktop as a desk in a different cube with multiple drawers. Each drawer would be a page in the desktop. The main difference is that it's easier to work on the virtual desktops than it is to swap papers to and from the desk and drawers.
E's pagers are fairly sophisticated, compared to pagers for other window managers. First, the background image used on a desktop can be displayed in each page of the pager, making it easier to delineate the pages. Each window in a pager is a miniature version of the real one, complete with window borders, window contents and images. The miniaturized windows in the pager can be zoomed when the mouse is over them, although for things like ordinary xterms, this isn't very helpful. What is useful is having the window title displayed when the mouse is over a window in the pager. This allows you to identify any window in any page of any desktop instantly—and a simple middle mouse button click on that window in its pager will jump you right to the window.
Having different backgrounds for each desktop is also supported. Figure 4 shows a desktop configured with 3 pagers along the right side, each with a different desktop background image and a 2x2 page configuration. A Netscape image and multicolored sticky notes are visible in various pages.
This example shows a modified configuration using a theme different from the default, personalized backgrounds and pagers with different configurations. Compare Figure 1 with Figure 4, and you'll see just how varied the E environment can look.
One of the newer features of E is its ability to support small programs, called epplets, to perform simple functions. The epplets are usually small C programs, but you can also create small scripts run by eesh, the Enlightenment shell. Epplets can be stand-alone programs which have their own user interface, or they can let E handle the user interface for them—a sort of embedded application.
Currently, there are only a few small epplets, provided mostly by loyal E enthusiasts. E itself comes with a few scripts, but no epplets. None of the epplets do anything overly interesting, although it's highly likely that functions like automatic connection to the Internet will be provided in the future using epplets. The most interesting of the epplets is probably gkrellm, an all-in-one epplet that displays system performance, time and other useful information. You can expect that future extensibility of E will come in the form of expanded support for epplets.
After all this, why should you consider E? In a nutshell-- configurability. E offers you the most options to making the desktop yours—your style, your feel, your world. You live on computers day in and day out. Why shouldn't it be a more personal place?
E has a considerable amount of graphical configuration support. In fact, nearly all features of E are configurable using simple graphical interfaces that you can access via the Settings menu or from feature-specific menus. The only parts of E that require manual intervention are adding menu options to the root menus and developing themes.
The Settings menu allows you to change the way the window manager works in many ways: opaque vs. transparent window moves, autofocus and autoraise for windows, desktop, tooltip and audio settings, and even a few special effects. It's important to scan through these settings, especially if you're running on a memory-limited laptop. Enlightenment is designed to allow you to add more flash to your desktop if your system has the CPU and memory to deal with it. But if it can't, E also allows you to disable some of the resource hogs.
Changing the root menus is fairly easy. Just edit the file.menu and/or user_apps.menu files under your $HOME/.enlightenment directory, which was created the first time you started E. You can add new submenus for the root menus in this way. The file.menu file corresponds to the User Menus menu (opened with a left mouse click on the root window). The user_apps.menu displays as the User Applications List menu, an option from the “User Menus” menu.
E checks the entries in these menu files to see if the program associated with a menu option can be found. If the program can't be found, then that entry won't be displayed in the menu. You can use fully qualified path names for programs. If the application is in a directory listed in your PATH environment variable, you just need to specify the program name.
Changing menus lets you have quick access to starting applications. How do you force an application to always start on a particular desktop page? E can remember open applications, but you have to specify manually which windows to reopen the next time you start an X session. To do this, hold down the ALT key while you right-click in a window; a menu will open. Select the “Remember...” option, and in the dialog that opens, select the options you want E to remember for this application. The next time you start E, it will start the application with the parameters you specified.
Note that this differs from how we started X the first time, using the .Xclients file. That file is used by xinit to start applications every time you start an X session—Enlightenment doesn't know anything about those applications. The ALT-right mouse click method just mentioned tells Enlightenment to restart an application after E is started. The choice here is whether to allow xinit or E to start your applications. To make life easier, the only line you want in your .Xclients file is the command to start Enlightenment; then, use E to manage the starting of any other applications.
Dragging windows can have many effects. Dragging a window from a pager over the root window will drop that window onto the current page and desktop. You can drag windows from the pager into the icon box to iconize the window without actually going to the desktop the window lives in. The icon box can be resized by holding down the ALT key and clicking the middle mouse button—not intuitive, but easy enough once you know what to do.
The background for any desktop can be set using the “Desktop Background Settings...” option in the Settings menu. User's backgrounds in just about any format (for example, TIFF, JPEG and PNG as long as your version of imlib was built to support these) can be copied to ~/.enlightenment/backgrounds. Changes to this directory will be recognized only if you restart E; however, this is easy to do using the “User Menus” menu.
How would someone go about figuring out how to change the themes? How do you find out how to create stylized buttons, Title Bars and so forth? This is the current limitation in E (and, actually, in many other Linux desktops). Simple themes can specify background images for windows and desktops, and images to use for icons. E allows more sophisticated control of the display by allowing you to specify window borders, title bars, edges, corners and various other bits and pieces. The bad news is there isn't yet any documentation anywhere that accurately describes how to do this. The good news is that whenever something minimal is provided by the developers, I'll be able to turn that into something more detailed for you.
Despite the lack of information on creating your own themes, many prepackaged themes are available for E from the official site for Linux themes: Themes.org. This site has sections devoted to the various window managers which support some form of themed environments. I looked through a number of the user-contributed themes for E that you can find here, but didn't find any that were visually more appealing than the BlueSteel theme provided in the default installation of E. Beauty, of course, is in the eye of the user.
Practical Task Scheduling Deployment
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.View Now!
|The Firebird Project's Firebird Relational Database||Jul 29, 2016|
|Stunnel Security for Oracle||Jul 28, 2016|
|SUSE LLC's SUSE Manager||Jul 21, 2016|
|My +1 Sword of Productivity||Jul 20, 2016|
|Non-Linux FOSS: Caffeine!||Jul 19, 2016|
|Murat Yener and Onur Dundar's Expert Android Studio (Wrox)||Jul 18, 2016|
- The Firebird Project's Firebird Relational Database
- Stunnel Security for Oracle
- My +1 Sword of Productivity
- Non-Linux FOSS: Caffeine!
- SUSE LLC's SUSE Manager
- Managing Linux Using Puppet
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- Parsing an RSS News Feed with a Bash Script
- Google's SwiftShader Released
- Doing for User Space What We Did for Kernel Space
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide