X-Designer hosts many features which deserve a review of their own but will receive only a brief description here.
AppGuru is the interface to previously designed templates for GUIs. Initially, it contains the default template which enables you to quickly create applications with standard components, such as a menu-bar, a tool bar and file selection dialogues. At first the AppGuru looks like a cute toy, but its power lies in its configurability. Each design can be changed into a template. Using X-Designer resources, the new template can be incorporated into the AppGuru menu with control over the separate components, which may or may not be added into the new application. The freedom with resources is great, so the X-Designer administrator in a large software company can add pixmaps which represent components. Users can easily select ones which are really needed. I think this is a great tool for a software engineering environment, where several pre-designed interfaces can be set up according to internal policy. Company information dialogues and standard application parts can be automatically inserted into new designs.
User-defined widgets allow the GUIs created with X-Designer to look beyond Motif and use widgets provided by a third party or even custom widgets. When I first saw X-Designer, I noticed the special widget for OpenGL as supplied by the MesaGL package in the palette of X-Designer widget icons. I was curious how it got there since it is not a Motif widget. The basic idea behind this very complex concept lies in the interface between X-Designer and the widgets used in the GUI building process.
Any widgets can be chosen for incorporation into X-Designer. You must run the provided xdconfig utility to create the configuration files which tell X-Designer about resources, constraints and children all new widgets can have. Even icons can be provided in pixmap form for addition to the X-Designer widget palette. Specifying the code generation options for every new widget is a mandatory task. After all this is done, rebuild X-Designer using all the configuration files and the provided xdesigner.o object file. The new binary will contain X-Designer with the newly added widgets.
Installation provides many configurations for common widget sets, and I tested the Athena widget set which worked fine. I can now build GUIs with the Athena widget set, forgetting Motif. The only drawback to this process is the fact that new widgets are compiled into X-Designer itself. If for some reason, the widgets cause segmentation faults or otherwise behave badly, X-Designer may crash. I actually managed to crash it by laying out Athena widgets in an invalid hierarchy. Creating successful widget configurations requires deep knowledge of the widgets, C, make and X-Designer.
With X-Designer, an on-line help subsystem can be created for the new applications. All help is written in HTML files with anchors as documented in the User's guide. You must only decide whether your application will use XD/Help, Netscape or FrameMaker for the help browser—just link an additional provided object file with your application.
The XD Replay/Capture tool is another amazing tool that comes with X-Designer. With Capture, you select the Motif application and capture its widget instance tree. Only the executable of the application is needed; Capture takes a snapshot of its widget structure which you can then drag into X-Designer and reuse. You can then take your old Motif applications, capture them and develop them further with X-Designer. As I understand, the tool works by inserting a sort of parasite shared object into the application which records the widget tree creation. The application must be dynamically linked with Xt for Capture to work. A similar tool is XD Record/Replay; it records any events within the application in an internal script language. These can later be replayed for the purpose of demonstrations, tutorials, testing and other cases where automatic behaviour of an application is desirable.
Among simpler design tools are the XmString editor, pixmap editor, font and color selection tools and layout editor. With the XmString editor, arbitrary XmStrings can be generated on a WYSIWYG basis, a fact any Motif programmer will appreciate. The layout editor is a cool tool to define the layout of child widgets within the container widget. As this is a tedious business, the layout editor provides great help with setting up those widgets in a functional and resize-friendly way. Using the pixmap editor, which is functional and serves its purpose well, caused an interesting event. The first time I selected the Pixmap editor entry in the menu bar, X-Designer crashed. Strange behaviour, I thought, but quickly decided to use this crash for testing the IST user support. I sent e-mail to firstname.lastname@example.org describing my problem, and within less than 30 minutes I got a correct answer to the faulty behaviour. The Pixmap editor clashed with the default .fvwmrc setting for a cryptic Meta 3rd-Mouse-button combination which is locked for FVWM private use. I don't use it, so I removed the line from .fvwmrc, and now the pixmap editor works fine. Well done, IST support team. I can understand a glitch or two in any product, and that's why good user support is necessary.
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|
- Stunnel Security for Oracle
- The Firebird Project's Firebird Relational Database
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- SUSE LLC's SUSE Manager
- Managing Linux Using Puppet
- My +1 Sword of Productivity
- Non-Linux FOSS: Caffeine!
- Doing for User Space What We Did for Kernel Space
- SuperTuxKart 0.9.2 Released
- Google's SwiftShader Released
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