Skip to content

M7S/dockbarx

Repository files navigation

===========
DESCRIPTION
===========
This is a branch of DockBar (a TaskBar with grouping and group manipulation) with some extra features added. 


Dockbar is made by Aleksey Shaferov. 
DockbarX branch is developed by Matias Särs.
The icon is made by BigRZA.
"Human Bar" theme is made by bigRZA.
"Gaia" is made by Izobalax.
The button image used in "Default" and "New" themes are is made by Sami Rissanen (st6). 

Dockbar and DockbarX are licensed under GPL3.



=======
INSTALL
=======

Note! New dependency: python-keybinder
1. Install python-wnck, python-gnomeapplet, python-keybinder and python-numpy (DockbarX might be able to run without python-numpy, but it shouldn't hurt). 
$ sudo apt-get install python-gnomeapplet python-wnck python-keybinder python-numpy

1b. (Optional) For recent and most used files you need zeitgeist 0.3.3 or later from zeitgeist ppa.
$ sudo add-apt-repository ppa:zeitgeist/ppa && sudo apt-get update
$ sudo apt-get install libgtk2.0-0 libx11-6 libxcomposite1 zeitgeist

2. Change directory to where you unpacked dockbarx and run the setup.py install
$ sudo ./setup.py install

3. Add DockBarX applet to panel (kill gnome-panel first if necessary)


You can also run dockbarx in window (meant for debugging purposes, mostly):
$dockbarx_factory.py run-in-window

===
AWN
===
To install dockbarx as an AWN 0.4 applet, you should first do an normal install and then copy the content of the AWN folder to ~/.config/awn/applets. 

Preference dialog: AWN gives you no handle so you can't access preference dialog by right clicking and choosing preference. You can access dockbarx preference window from your gnome menu (Accessories->Dockbarx Preference). If you like you can also pin it to dockbarx.


=====
USAGE
=====
The default actions are listed here. There are more actions in dockbarx. You can assign them to different buttons via preference dialog.

DEFAULT WINDOW BUTTON ACTIONS:
left click:
- activate / minimize / unminimize

middle click:
- close window

right click:
- minimize and lock


DEFAULT GROUP BUTTON ACTIONS:
left click:
- activate / minimize / unminimize group (launch application if no window is open)

shift + left click:
- launch application

middle double click:
- close group of windows

right click:
- open 'menu'

scroll up/down: 
- Select next/previous window of the group



LAUNCHERS:
Add launchers:
You can add launchers in two ways. 
1) Drag a icon from gnome-menu and drop it on dockbarx (that means on an existing icon in dockbarx, otherwise you just make a normal panel launcher). 
2) Right click on a group button and choose "pin application". (That option does only exist for applications which are correctly indentified by dockbarx. If it doesn't use the first method instead.)

In versions previous to x.0.24.0 you had to enter the resource class name of the application when you added a launcher. This isn't necessary anymore since dockbarx is now guessing it. Dockbarx fails to guess in some circumstances, though. You notice this when the windows of a program opens a new group button instead of using the launcher button. To fix this you need to manually edit the resource class name by right clicking the launcher and choosing "Edit Resource name".

Remove launcher:
Right click on the launcher you wish to remove. Choose 'Unpin application' from the menu. 

Move launchers (and other group buttons):
Drag and drop ;)



WORKSPACE/VIEWPORT BEHAVIOR OPTIONS:
You can change how DockBar reacts when you select a group (left click on the group icon if the default is used) from preference window.

Ignore: Acts as if windows on other workspaces and viewport doesn't exist.

Switch: Behaves as ignore if there are windows belonging to the group on the current workspace/viewport. If there are no windows belonging to the group on the current workspace/viewport it switches to the workspace/viewport with most windows that belong to the group. This is the default behavior.

Move: Moves windows from other workspaces/viewports to current workspace/viewport. This is the behavior vanilla Dockbar uses.

If you select a window in the popup list you will always switch to the workspace/viewport of the window. This is not configurable (vanilla Dockbar behaves the same way).


===
FAQ
===
Q: Why do you want to make Linux into a Microsoft Windows 7 clone?
A: I don't. The goal of DockbarX isn't to be a clone of the Windows 7 task bar. Windows 7 task bar has a good principle, though.  When it comes to your most used programs it's more productive to do all window handling - launching, selecting, closing, etc. from the same few pixels. If I need a Firefox window I move my mouse cursor to the same spot on the screen regardless of which Firefox window I want and or if I even have opened a Firefox window yet. This behavior is good and it would be stupid not to implement it just because "Windows had it first". Don't reduce your productivity out of stubbornness. When it comes to looks it's up to you to choose a theme that looks like windows 7 or a theme that doesn't look that way.

Here are some historical references about docks:
http://en.wikipedia.org/wiki/Dock_(computing)
http://en.wikipedia.org/wiki/Icon_bar

And another interesting link that has had quite a bit of infuence on my work with DockbarX:
http://arstechnica.com/software/news/2009/01/dock-and-windows-7-taskbar.ars

Q: I want a button for every window instead of all windows of the same application grouped together under one button. When will DockbarX support that?
A: Never. That would demand quite a bit of restructuring of the code and I believe it's less productive to keep the window buttons ungrouped. You are welcome to change the code yourself if you don't like my decision, or try the applet Talika it might suit your needs better than DockbarX does.

Q: I added a new launcher for program X but when I click on the launcher a new groupbutton is made for the window instead of using the groupbutton of the launcher. What went wrong?
A: Dockbarx connects group buttons and windows by using the resource class name of the application. When a launcher is added dockbarx tries to guess the resource class name of that launcher. This works in most cases but not always. Apparently it didn't work for your program X. To fix this, right click on the launcher for program X and choose "Edit Resource name" and enter the correct resource name. If the program is already running you should be able to find it's resource class name in the drop-down list.

Q: There is no menu option to pin program X, but there is one for program Y and Z. WTF?
A: Dockbarx wasn't able to identify program X correctly then. You can "pin" the program by dragging it's icon from the gnome menu instead. Oh, and you will probably have to enter the resource name manually as well (see previous question).

Q: I want to make a custom launcher. Is it possible?
A: Yes, it is. There are two ways.
1) You can change the launcher in gnome-menu (alt+F2 and type "alacarte"). Add the launcher by dragging it or - if it's an old launcher - right click Dockbarx's handle and choose "Update" for the changes to show. 
2) Drag the launcher from gnome-menu to a folder. Right click it, choose preference and change what you want there. Drag the launcher to dockbarx. Don't delete the launcher from the folder! 

Q: How do I get to preference dialog?
A: Right click the handle (the dots or lines to the left of dockbarx) to get a menu where you can choose the preference option. Voila! Sometimes though, you have to double right click the handle to get the menu. Don't ask me why - just do it. You can also find the preference dialog from gnome menu (in Accessories).

Q: None of DockbarX's compiz stuff like "compiz scale" work. Why?
A: Make sure you enable the GLib extension in Compiz settings manager and that the compiz plugin dockbarx uses is activated as well. (e.g. for group button action "compiz scale" to work you need the scale plugin activated)

Q: What is Opacify and how do I get it to work?
A: Opacify is a way to find localize a window with dockbar. When opacify is on and you roll over a name in the window list with the mouse, all other windows will become transparent so that you easy can spot the window. To activate opacify you need to go to the appearance tab of the preference dialog and check in opacify checkbox. Opacify requires compiz fusion and you need to activate the plugin Opacity, Brightness and Saturation in CompizConfig!

Q: How do I install a theme?
A: If you find a theme on the web that you like, copy the file (should be SOMETHING.tar.gz) to ~/.dockbarx/themes or /usr/share/dockbarx/themes. You change themes in the appearance tab of preference dialog. You might need to press the reload button before your newly installed theme shows up.

Q: How can I make an theme of my own?
A: Read Theming HOWTO. If you need help ask me (Matias Särs alias M7S) on gnome-look or at launchpad. I'm happy to help theme developers as much as I can.