LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Desktop
User Name
Password
Linux - Desktop This forum is for the discussion of all Linux Software used in a desktop context.

Notices

Reply
 
Search this Thread
Old 02-21-2011, 06:34 AM   #1
Endarur
LQ Newbie
 
Registered: Jul 2010
Location: Koblenz (Germany)
Distribution: Litotas
Posts: 24

Rep: Reputation: 3
Ideas for a new Linux desktop


I'm thinking of a new small Linux Desktop Environment. The main goal why I want to develop it is to dive more deeply into the development of Linux. For that, I want to use C++ and Qt4.
My first thinking is, to have a panel at the top which will look a little bit like the one of Gnome3, but without the activities and a full integration of the User-panel with the working chat client. For the notifications of programs I want to implement a little tray-icon like it's used in the kde4.5 desktop.
At the bottom will be a macintosh like Panel where the user can place his favorite programs and where a menu will be placed in.
The primary goal of this desktop will be ease of use. The normal user will just get a few possibilities to customize his desktop (as it is the strategy of the Gnome-project) but with an option to get a full list of options available for the advanced user.

The reason, why I'm writing this post is to get some feedback of my ideas and to get some ideas, how to improve the experience of Linux.

As soon as I have something implemented, I will post some screenshots.
 
Old 02-21-2011, 08:30 AM   #2
jlreich
LQ Newbie
 
Registered: Jan 2004
Location: Ohio
Distribution: Ultimate Edition 2.7 64bit
Posts: 17

Rep: Reputation: 1
Quote:
to have a panel at the top which will look a little bit like the one of Gnome3, but without the activities and a full integration of the User-panel with the working chat client.
You can remove anything you want from the top panel including the chat integration.

Quote:
For the notifications of programs I want to implement a little tray-icon like it's used in the kde4.5 desktop.
Haven't used KDE for along time, so not exactly sure what it is.

Quote:
At the bottom will be a macintosh like Panel where the user can place his favorite programs and where a menu will be placed in.
Have you tried AWN? From your description it is exactly what you want.
 
Old 02-21-2011, 09:34 AM   #3
mark_alfred
Senior Member
 
Registered: Jul 2003
Location: Toronto, Ontario, Canada
Distribution: Ubuntu Linux
Posts: 1,030

Rep: Reputation: 94
It sounds interesting. I look forward to the screenshots.
 
Old 02-21-2011, 09:50 AM   #4
Endarur
LQ Newbie
 
Registered: Jul 2010
Location: Koblenz (Germany)
Distribution: Litotas
Posts: 24

Original Poster
Rep: Reputation: 3
Quote:
Originally Posted by jlreich View Post
You can remove anything you want from the top panel including the chat integration.
Why that?
 
Old 02-21-2011, 01:38 PM   #5
koen plessers
Member
 
Registered: Aug 2003
Location: Belgium
Distribution: Mint
Posts: 191

Rep: Reputation: 30
Speaking about AWN, why not completely go for Mac OS:

http://digitizor.com/2011/01/28/appl...s-theme-linux/
 
Old 02-21-2011, 10:09 PM   #6
jlreich
LQ Newbie
 
Registered: Jan 2004
Location: Ohio
Distribution: Ultimate Edition 2.7 64bit
Posts: 17

Rep: Reputation: 1
Quote:
Originally Posted by Endarur View Post
Why that?
I was under the impression you didn't want it, or much else, in the panel? Trying to point out that if you want a minimal panel it is easily done.

Personally I use the panel fairly extensively, and AWN to some degree. But that's the wonderful think about Linux, you can do whatever you want with it.

If you want to do this in order to get your hands dirty in development that's great. But from your stated requirements it sounds like everything you want is already there in current DE's. But again nothing at all wrong with doing it just to do it.

And yeah, definitely post some screenshots. I would like to see it.
 
Old 02-22-2011, 11:23 AM   #7
xenios
LQ Newbie
 
Registered: Dec 2008
Distribution: Debian
Posts: 22

Rep: Reputation: 1
DreamLinux might be worth checking:

http://www.dreamlinux.net/startpage/
 
Old 02-24-2011, 10:37 AM   #8
DJ Shaji
Member
 
Registered: Dec 2004
Location: India
Distribution: Debian Squeeze, Fedora 17
Posts: 414
Blog Entries: 15

Rep: Reputation: 74
Why QT? Wouldn't it be more suitable to use GTK+ for a fast and low memory desktop?
 
Old 02-25-2011, 04:46 AM   #9
Endarur
LQ Newbie
 
Registered: Jul 2010
Location: Koblenz (Germany)
Distribution: Litotas
Posts: 24

Original Poster
Rep: Reputation: 3
Why Gtk+? Is it easier to use then Qt?
I like Qt and that's the reason why I want to program with that toolkit.
 
Old 02-25-2011, 08:12 AM   #10
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713
Qt is far easier than GTK+. I tried programming with GTK+, and it was incredibly hard. But with Qt it was a breeze!

I see no reason not to go with Qt, I also prefer it.

People who think Qt is huge for a GUI toolkit probably don't know that it's much more than a GUI toolkit. It's pretty much a cross-platform library for just about everything from file I/O to networking to 3D graphics.
 
Old 02-25-2011, 10:11 AM   #11
DJ Shaji
Member
 
Registered: Dec 2004
Location: India
Distribution: Debian Squeeze, Fedora 17
Posts: 414
Blog Entries: 15

Rep: Reputation: 74
1. How can you find GTK+ hard to use? What were you trying to do? I'm sure whatever you did with QT can be done with GTK+ in fewer lines of code. Creating a window is as simple as
Code:
GtkWindow * w = gtk_window_new ( GTK_WINDOW_TOPLEVEL ) ;
2. GTK+ too has a component graphics library, an I/O library, a native low level toolkit that communicates with actual system interfaces (GDK), a general purpose utility library, and much more.

3. It is lightweight, easy to use and "themable" i.e you can make a "skinnable" app.

3a. GTK+ and all its component libraries are cross platform too.

4. I've got nothing against QT, but in my opinion GTK is a better choice. Plus, you've got the silly "no commercial use on windows" licensing issue with QT. GTK is all open source.
 
Old 02-25-2011, 11:12 AM   #12
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713
Program form GTK+ tutorial:

Code:
#include <stdlib.h>
#include <gtk/gtk.h>

/* Create a new hbox with an image and a label packed into it
 * and return the box. */

static GtkWidget *xpm_label_box( gchar     *xpm_filename,
                                 gchar     *label_text )
{
    GtkWidget *box;
    GtkWidget *label;
    GtkWidget *image;

    /* Create box for image and label */
    box = gtk_hbox_new (FALSE, 0);
    gtk_container_set_border_width (GTK_CONTAINER (box), 2);

    /* Now on to the image stuff */
    image = gtk_image_new_from_file (xpm_filename);

    /* Create a label for the button */
    label = gtk_label_new (label_text);

    /* Pack the image and label into the box */
    gtk_box_pack_start (GTK_BOX (box), image, FALSE, FALSE, 3);
    gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 3);

    gtk_widget_show (image);
    gtk_widget_show (label);

    return box;
}

/* Our usual callback function */
static void callback( GtkWidget *widget,
                      gpointer   data )
{
    g_print ("Hello again - %s was pressed\n", (char *) data);
}

int main( int   argc,
          char *argv[] )
{
    /* GtkWidget is the storage type for widgets */
    GtkWidget *window;
    GtkWidget *button;
    GtkWidget *box;

    gtk_init (&argc, &argv);

    /* Create a new window */
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

    gtk_window_set_title (GTK_WINDOW (window), "Pixmap'd Buttons!");

    /* It's a good idea to do this for all windows. */
    g_signal_connect (window, "destroy",
	              G_CALLBACK (gtk_main_quit), NULL);

    g_signal_connect (window, "delete-event",
	 	      G_CALLBACK (gtk_main_quit), NULL);

    /* Sets the border width of the window. */
    gtk_container_set_border_width (GTK_CONTAINER (window), 10);

    /* Create a new button */
    button = gtk_button_new ();

    /* Connect the "clicked" signal of the button to our callback */
    g_signal_connect (button, "clicked",
		      G_CALLBACK (callback), (gpointer) "cool button");

    /* This calls our box creating function */
    box = xpm_label_box ("info.xpm", "cool button");

    /* Pack and show all our widgets */
    gtk_widget_show (box);

    gtk_container_add (GTK_CONTAINER (button), box);

    gtk_widget_show (button);

    gtk_container_add (GTK_CONTAINER (window), button);

    gtk_widget_show (window);

    /* Rest in gtk_main and wait for the fun to begin! */
    gtk_main ();

    return 0;
}
Equivalent Qt program:

Code:
#include <QtCore>
#include <QtGui>
#include <QtDebug>

class Window : public QWidget
{
    Q_OBJECT
    
    Window::Window()
    {
        QVBoxLayout layout = new QVBoxLayout(this);
        setLayout(layout);
        QPushButton button = new QPushButton(this, "cool button");
        button->setIcon(QIcon("info.xpm"))
        layout.addWidget(button);
        
        connect(button, SIGNAL(clicked()), this, SLOT(onButtonPressed()));
    }
    
public slots:
    void onButtonPressed()
    {
        qDebug() << "Button was pressed";
    }
};

int main(int argc, char **argv)
{
    QApplication app(&argc, &argv);
    Window w;
    w.show()
    return app.exec()
}
Which do you find easier to understand?
 
Old 02-25-2011, 11:33 AM   #13
Endarur
LQ Newbie
 
Registered: Jul 2010
Location: Koblenz (Germany)
Distribution: Litotas
Posts: 24

Original Poster
Rep: Reputation: 3
Definitively Qt is easier to understand from the two examples.
But the discussion is not about which toolkit is better, the discussion is about how can we improve the Linux experience for users and how could that fit in a new desktop environment.
 
Old 02-25-2011, 12:23 PM   #14
fair_is_fair
Member
 
Registered: May 2005
Posts: 511

Rep: Reputation: 51
The OP might want to check out Arios Linux for ideas. Customized desktop using Awn. Pretty nice. I'm running it on one machine and liking it.

http://arioslinux.org/
 
Old 02-25-2011, 02:10 PM   #15
DJ Shaji
Member
 
Registered: Dec 2004
Location: India
Distribution: Debian Squeeze, Fedora 17
Posts: 414
Blog Entries: 15

Rep: Reputation: 74
Friend, that is code from a tutorial. Here's what I'll write:

Code:
/* New demo */
#include <gtk/gtk.h>

GtkWidget * xpm_label_file ( gchar * xpm_file, gchar * label_text )
{
    GtkBox * box = gtk_hbox_new ( 0, 0 ) ;
    gtk_box_pack_start ( box, gtk_image_new_from_file ( xpm_file ), 0, 0 ) ;
    gtk_box_pack_start ( box, gtk_label_new ( label_text ), 1, 1 ) ;

    return box ;
}
So, as you can see, the same thing in 3 effective lines of code. Note that there is no way to check for errors if we use gtk_image_new_from_file (). It would be better to load the image as a GdkPixbuf via gdk_pixbuf_new_from_file (), which takes a ** GError as an argument, and reports if the image is not found or cannot be loaded.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Linux Ideas jmc1987 Linux - General 3 10-15-2009 01:17 AM
LXer: Ten ideas about Ideas LXer Syndicated Linux News 0 11-05-2006 08:21 AM
Ideas for using really old desktop janestclaire General 9 10-21-2005 11:02 AM
Your Desktop Environment Ideas cragwolf Linux - General 16 04-17-2004 10:15 PM


All times are GMT -5. The time now is 10:32 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration