Code Monkey home page Code Monkey logo

micheleg / dash-to-dock Goto Github PK

View Code? Open in Web Editor NEW
3.8K 69.0 465.0 8.06 MB

A dock for the Gnome Shell. This extension moves the dash out of the overview transforming it in a dock for an easier launching of applications and a faster switching between windows and desktops.

Home Page: https://micheleg.github.io/dash-to-dock/

License: GNU General Public License v2.0

JavaScript 95.77% Makefile 0.92% SCSS 3.28% Nix 0.02%
dock gnome linux

dash-to-dock's Introduction

Dash to Dock

screenshot

A dock for the GNOME Shell

This extension enhances the dash moving it out of the overview and transforming it in a dock for an easier launching of applications and a faster switching between windows and desktops without having to leave the desktop view.

For additional installation instructions and more information visit https://micheleg.github.io/dash-to-dock/.

Installation from source

The extension can be installed directly from source, either for the convenience of using git or to test the latest development version. Clone the desired branch with git

Build Dependencies

To compile the stylesheet you'll need an implementation of SASS. Dash to Dock supports dart-sass (sass), sassc, and ruby-sass. Every distro should have at least one of these implementations, we recommend using dart-sass (sass) or sassc over ruby-sass as ruby-sass is deprecated.

By default, Dash to Dock will attempt to build with sassc. To change this behavior set the SASS environment variable to either dart or ruby.

export SASS=dart
# or...
export SASS=ruby

Building

Clone the repository or download the branch from github. A simple Makefile is included.

Next use make to install the extension into your home directory. A Shell reload is required Alt+F2 r Enter under Xorg or under Wayland you may have to logout and login. The extension has to be enabled with gnome-extensions-app (GNOME Extensions) or with dconf.

git clone https://github.com/micheleg/dash-to-dock.git
make -C dash-to-dock install

If msgfmt is not available on your system, you will see an error message like the following:

make: msgfmt: No such file or directory

In this case install the gettext package from your distribution's repository.

Bug Reporting

Bugs should be reported to the Github bug tracker https://github.com/micheleg/dash-to-dock/issues.

License

Dash to Dock Gnome Shell extension is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for details.

dash-to-dock's People

Contributors

13r0ck avatar 3v1n0 avatar amr-ibra avatar azzar1 avatar chamfay avatar dap39 avatar ewlsh avatar franglais125 avatar frnogueira avatar hasecilu avatar jesusignazio avatar jrom99 avatar jsrba avatar micheleg avatar morganantonsson avatar passingthru67 avatar philipl avatar proninyaroslav avatar rhendric avatar sergio-costas avatar shlinux avatar sicklylife-jp avatar smedir avatar stuarthayhurst avatar taoky avatar vantu5z avatar vanvugt avatar xalt7x avatar zapashcanon avatar zhmars avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dash-to-dock's Issues

Drag & drop files to open with app

As with docky - drag an image over GIMP icon to open that image in GIMP.

Is it possible with gnome-shell? I'd like to tackle that as I'm quite proficient in JS/coffee, but I don't know much about gnome-shell API. No problem on JS/html5 side.

Multiple-monitor issues

First: Thanks for this great extension!

When there are multiple monitors, and the main display is not the leftmost (one can drag the bar between monitors in the display settings), then the dock does not autohide.

Apps such as Inkscape and Gimp need to be used maximized and fullscreen, so this extension is incompatible for many people's workflow until this bug is fixed.

gnome-shell 3.6 crashes when changing workspaces

This extension currently crashes gnome-shell when you try to change workspaces in 3.6.
The error looks something like "st_widget_get_theme_node called on the widget which is not in stage". It could be because you're causing some kind of reparenting.

Mouse over delay

This is more of a feature request than an issue, and actually two of them:

1: It should be possible to set the mouse over time. I'm sure there are many different instances that this could be useful, but mostly if I'm trying to do something on the left side of a full screen window the dash can become visible which is distracting, and just should not happen without at least a delay. Perhaps another possibility would be to have a sort of small area with an icon of some kind that would be clicked to then show the dock, of course that could also be optional?

2: Is it possible to also implement the auto hiding feature inside of the overview as well?

refresh after movement...

Using Fedora 17 on a VirtualBox (yes... I don't like this but at this time I need to use Gnu/Linux like this). If I compile and install gnome-3.4 branch, installed and restart gnome, a problem appears:

Moving windows, or maximize, or when dock makes hides/show process, the full screen isn't refreshed and some artifacts appear.

Deactivate extension removes the problem.

Best regards

Dock does not reserve space in dual head setup.

Hi,

In one head setup when you expand the dock its reserve space to not overlap window behind it. But in my case.

Two monitor (with the Nvidia proprietary driver) its seems not working.

==> If i setup the dock to be exanded on the second monitor its working.
==> If i setup the dock on the main/principal monitor the space is not reserved.

Capture du 2012-12-26 08:25:13

Apply different css class to the dock when in overview mode

MatheusLigabue on the extensions site wrote:

I have a question. Is there a way I could assign a different style for the dash on Overview only in my gnome-shell theme? I've tried using #dashtodockContainer:overview, but to no avail. The thing is, while I would love to use a transparent style for the dock globaly, it doesn't look very good when I open up the notifications bar with Super + M. So I wish to set an opaque style for the desktop and an transparent style in the overview, for it to match the other elements of my theme.

[feauture request] switch windows on icon click

It is convinient to switch between multiple windows of one application by clicking its icon.
This behavior is implemented in awn and docky, making them quicker than the dash-to-dock extension.
I think dash-to-dock can be better then both, because is more integrated in the shell.

PS: I like your dash to dock extension, it should be included in gnome.

unclickable arena on secondary (left) monitor

Hello.
Im using the current release from extensions.gnome.org, with totally stock setup.
I am experiencing issues with the area where the dock appears to hide (the right side of secondary display, with the size and position of hidden dock). Any mouse events are not passed to underlaying window (like browser, I cant move or scroll the page).

Memory Leak

Your extension was so nice that I added a style for it to my GTK+Shell theme, GnomishBeige. Unfortunately, it has a big memory leak. When the dock is set to auto-hide, with every cycle of auto-hiding and reappearance, it consumes about 1MiB more memory.

I've also seen other extensions that show memory leaks. The leak may be related to Gnome-Shell itself.

Journal Extension Compatibility

I'm trying the latest version up for review that's the first release with the app button. Works well so far. The new Journal extension for GS 3.6 places a history button on the default GS dash. Although it's probably too early to offer compatibilty w/the new Journal extension(which has yet to be posted to the extension site), I'd thought I'd provide a heads up for future compatibility.

https://github.com/seiflotfy/gnome-shell-zeitgeist-extension

There is no donation link

Man, i love your extension, cycle trough windows by clicking on then in the dock is exactly what i was looking for. But i didn't knew it until i tried it ;-). And the settings panel and the other stuff is nice too. So please, add a README to this repo and let me now how i can buy you (and your fellows) a couple of beers.

xrandr changes aren't handled

The dock's location is not updated when screen settings change dynamically. This happens when new monitors are added or removed (such as with a docking station, adding a projector for a presentation, etc.), resolution is changed, and when screens are rotated (such as having an external monitor, and switching to portrait mode for web browsing & web development).

Currently, one must restart gnome-shell with alt-f2 and typing "r" (and hitting enter). It would be great if the extension can handle these changes automatically.

border/margin for desktop icons

Hello Michel,
do you think there is a way to add some border or margin to the desktop area to avoid having the desktop icons behind the dock?

Regards
Markus

Dock visible and clickable over lockscreen

On the new style lockscreen on gnome 3.6 (the GDM one that slides up to reveal the password box), the dock is visible over the lockscreen.
The icons on the dock are fully clickable also.

Issue with multi-monitor support

First: thank you for the extension. It makes my life a lot easier.

I just updated to the gnome-extension.org latest version. Up until the last release everything has been working well. I could xrandr my secondary monitor as primary and it worked without issue. After the latest release the dock floats about 100 pixels off the left side while hidden, then moves further over when moused over.

Thanks,
James

"Default" placement.

I'm not sure why, but the position of the Dock is now centered and there's no option to use the system's default placement. This is very annoying, I much prefer the default position rather than a centered one. Please add back in the option to use the "system default" placement.

Add keyboard shortcuts to dock

This is just a feature request on this awesome extension.
Could you add some keyboard shortcuts to access the dock and start applications in it easily? Something like holding SUPER/SYSTEM key to bring up the dock and then a number/letter to launch an application? Each one should launch a new instance of the application. This upgrade plus window navigation extension just rock the GNOME-Shell.

Thanks!

Autohide in the overview

@l300lvlwrote in Issue #1

Is it possible to also implement the auto hiding feature inside of the overview as well?

Strange behaviour when clicking the dock with a panel window open

If you open a panel window (say the calendar) and click on the dock without closing it, then it will first close the panel window. This is as expected. But (left) clicking the icon again will bring up the right click menu. This is not as expected.

Note: tested on Gnome 3.6.

Feature request: Allow page scrolling when scrolling over the dock

Usecase :

  1. deactivate "Switch workspace when scrolling over the dock"
  2. the user was scrolling his document with his mouse wheel but the dock suddendly appears behind the pointer and he can't scroll anymore without moving his mouse.

-> it would be great to allow user to scroll his document behind the dock even when the dock is shown (=the dock shouldn't interfere with page scrolling)

Thanks !

Feature Request: Full-Height Dock

Thanks for this great extension. Do you think it's possible to make the dock look like Unity, i.e. set the height to the screen height and make it always visible?

Secondary Monitor on the Left.

I have the secondary monitor on the left and by default the dock appears between both monitors making it hard to hit it with the mouse. So I changed line 104 to: this.monitor = Main.layoutManager.monitors[1]; Maybe this can be transformed into an option, so far no side effects.

Workspace switch not working in Gnome 3.8 with "Switch one workspace at a time"

Nebulosa on the extension site wrote:

Don't switch workspaces on Gnome 3.8.1 when option "Switch one workspace at a time" is checked.

Note to myself: this is due to the introduction of smooth scrolling that is not currently handle as a possible event. When smooth scrolling event is triggered the direction of scrolling can be deduced from the sign of the relative movement.

opacity only when in autohide does not work

If I unselect "only when in autohide" the dock should become dark in every situation, but it works only when I change the configuration. If I restart the shell this configuration doesn't work, as if it were not loaded.

Gnome 3.4.2

Dconf entries remain after uninstall

I tried the extension through extensions.gnome.org, but decided to remove it. I deleted the extension directory from .local/share/gnome-shell/extensions.
After removal the settings in dconf still remain. These procedures do not help : restart Gnome Shell, logout/login, reboot, reinstall through extensions.gnome.org followed by uninstall through the same site.
I don't know if this causes any problems, but suspect it to just be an inconvenience.

Intellihide does not work for me

Environment: Ubuntu 11.04 11.10, Gnome Shell 3.2

Intellihide does simply not work. On a plain desktop, the dock is hidden even if no window is there. I have the "classic" desktop (running a nautilus instance in background) enabled. 0211c4d did not change anything for me.

Positioning, app button setting + contribution?

Hi,
I like this extension a lot. A moment ago I had an idea for update. First, I don't like the shortcut button for showing applications. It would be nice to have an option in settings for hiding this and let the user decide. Second, sometimes I'd like to have the extension on the right side of screen, because of the second monitor. So this option would be nice, too :)

Also I'm offering the contribution to this project. My name is Michal Zajacik, I hold bachelor degree in computer science. I'm pursuing msc degree in Artificial intelligence. Currently I'm visiting course of Opensource Programming. The goal is to teach us how to contribute to open projects and how to communicate with other developers. So I'd like you to offer my help. I have skills with Java (from school and work), C, C++ ... JavaScript just little, but I assume I would learn it easily. If you let me, I could do the adjustments by myself, help you with bug fixing or implementing any other functionality. I could provide also the knowledge of Czech language.

Feel free to contact me via mail [email protected] !

Thanks for reply!
Michal

rtl-mode does not work

When I switch the language into a right-to-left based language the extension does not switch the side of the dock.

This is a big problem, because the rtl-mode almost mirrors the whole desktop. When the dock doesn't switch to the right side both are on the same side and I cannot effectively use the workspaces-window in the overview.

Extension Problem: "Apps On Top"

I am having problems with the extension "Apps On Top" and this extension used together.

Steps to reduplicate:

  • Install Apps On Top
  • Install Dash to Dock

Expected result:
Dash to Dock with the apps icon on top

Real result:
Dash to Dock with the apps icon below all other ones, in overview too.

It would be nice if there would be a option for that or just make Apps On Top work in Overview.

dash to dock multi monitor

Is it possible to make dash on dock appear separately on multiple monitors? So for example, 2 docks, one on each monitor?

Change hover font color (feature request)

First of all thank you for that really nice extension, i really love it.

I have a black desktop background and always wanted to change the color of the hover fonts for the dash. As you can see in the attached screenshot the hover font isn't readable at all. I just sometimes recognize it if any other window is near the dash.

This may not be a specific problem with your extension, maybe it's a general gnome-shell problem as in applications overview the hover font is also unreadable in case of dark/black backgrounds. So i just wanted to mention it here, maybe it's an easy thing to optionally set a custom font color for the dash-to-dock extension somehow...

thanx for all, cheerz

Screenshot-hover

Trigger dock by pressure

I'm almost ashamed to request a feature given how many feature requests there are but I think it's clear they prove how popular the functionality provided by the extension is. Anyway I think it's a nice idea that is at least worth mentioning so here it goes:

Much in the same spirit that GNOME 3.8 will handle Activities (663661) and the Message tray (677215) I'd love to have the option to get the dock appear by applying pressure with the cursor to the area that the dock uses (basically almost always going to be the center of the left side). My current config is having (both) Autohide (and Intellihide) enabled with a show delay of 50ms, a number which took a bit testing to determine but even now there are some cases where I bring the dock without meaning to.

I have no idea how hard that will be to code although I think I read that making the Activities button pressure sensitive took significant coding so I could certainly understand if you opted against it (maybe their implementation is reusable?).

Number shortcuts

Hi,

on Ubuntu's left dock, there is a feature which I find quite useful: when pressing and holding , the icons in the dock each get a label (usually a number being the index of the icon from the top, except for the trash and some other special cases), and if the user press that label key before releasing , then it executes the corresponding application (and we can press several, executing several applications).

Would it be possible to implement that for dash-to-dock? In the case of auto-hide / intelli-hide, I guess we have to wait x-seconds, and then show it if the key trigger hasn't been released yet, so that we show the labels.

I have to restart the extension on login for it to work

Whenever I log in, the dock doesn't show up until I turn the extension off and on again. If I restart the gnome shell, I have to manually restart the extension again.

Gnome 3.4.1

Here is a list of my enabled extensions:

Activities Button Text
Advanced Calculator
Advanced Settings in User Menu
Alternative Status Menu
Bigger MessageTray Corner
CPU Temperature Indicator
Dash to Dock
Enhance overview
Extension Updater
Frippery Move Clock
Media Player Indicator
Notifications Alert
Remove Accessibility
User Themes
Window Search Provider

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.