GithubHelp home page GithubHelp logo

elementary / wingpanel-indicator-sound Goto Github PK

View Code? Open in Web Editor NEW
34.0 26.0 24.0 2.04 MB

Wingpanel Sound Indicator

License: Other

Vala 97.69% Meson 1.37% Python 0.13% CSS 0.81%
wingpanel pantheon pulseaudio gtk gtk3 vala meson hacktoberfest

wingpanel-indicator-sound's Introduction

Wingpanel Sound Indicator

Translation status

Screenshot

Building and Installation

You'll need the following dependencies:

libcanberra-gtk-dev
libcanberra-gtk3-dev
libgranite-dev
libglib2.0-dev
libgtk-3-dev
libnotify-dev
libpulse-dev
libwingpanel-dev
meson
valac (>= 0.26)

Run meson to configure the build environment and then ninja to build

meson build --prefix=/usr
cd build
ninja

To install, use ninja install

sudo ninja install

wingpanel-indicator-sound's People

Contributors

bagjunggyu avatar bluesabre avatar cassidyjames avatar codygarver avatar comradekingu avatar danirabbit avatar davidmhewitt avatar donadigo avatar edwood-grant avatar elementarybot avatar hugok79 avatar ihorhordiichuk avatar jeremypw avatar johndumpling avatar josprachi avatar kgrubb avatar lenemter avatar lucas455 avatar marcin-serwin avatar mirosnik1 avatar mtamas85 avatar nathanbnm avatar p-bo avatar peteruithoven avatar queeup avatar ricotz avatar ryonakano avatar tomiohl avatar weblate avatar yarons 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

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

wingpanel-indicator-sound's Issues

Hide audio/video controls when no media is playing

I may be missing something, but I couldn't figure out a way to hide the controls from the music and video apps (Noise and Audience), even when they haven't been launched, and no video or audio is playing. This adds visual noise to the volume dialog and takes up unnecessary space:

screenshot from 2017-10-24 11-37-15

I believe it would make sense for the indicator to hide these controls by default in such cases, but if that's not desirable, I'd like to at least have that option in the Sound settings dialog.

Buttons jump around when skipping songs

The sound notification indicator should ellipsize song names and always have a fixed witdth to avoid having the buttons jumping around when skipping songs.

Ellipsize is already implemented, but it isn't strict enough to keep the buttons from jumping around.

Launchpad Details: #LP1578440 Zisu Andrei - 2016-05-05 00:01:21 +0000

Audio control at lock screen

As a user I'd like to control the audio when at the lock screen.

Take the scenario where you were playing music on your laptop, possibly to a peripheral which would make you turn up the volume to such a level that it would be playing out very loud from your laptop speakers, and you put it to sleep to later have it wake up when in a hury to access information or some functionality. Take a business meeting or a college lecture. In this case you'd want to take control over the audio quickly enough to prevent a unconvenient situation.

I'd like to see the ability to control volume and mute (ofcourse also with the media keys), and preferably something like on a lot of smartphone's lockscreens today; the ability to play/pause/etc whatever media player(s) the logged in user(s) are/is running without having to unlock.

Launchpad Details: #LP1078143 Felix - 2012-11-13 01:23:25 +0000

Audio volume controls don't control selected output device

When switching between audio output devices, the volume controls don't control the selected output device. This bug was noticed when switching from the local audio output device to a bluetooth audio output device. After switching to the bluetooth audio output the audio volume controls still control the volume of the internal audio output. The solution is now to actually go to the audio settings and change the audio volume of the selected device there. After doing this, the audio volume controls do actually control the selected audio device...

Launchpad Details: #LP1560863 Chris - 2016-03-23 08:59:07 +0000

Scrolling very fast on Sound icon in WingPanel mutes sound

Steps to reproduce:

  • Place mouse over sound icon in WingPanel
  • Scroll the scroller on the mouse really fast upwards
  • Sound gets muted

It seems as though volume change requests are queued up instead of dropped if it's already busy changing volume, and then proceeds to crash?

Launchpad Details: #LP1434554 Arlen - 2015-03-20 13:34:07 +0000

Separate volume slider bars for different devices

Currently the minimal design shows a single volume slider. When we add new Bluetooth device, the volume slider is not hooked to it, rather it is for the default device. In order to change volume, one has to go into settings>sound settings>select device. It is lengthy process.
The user experience could be enhanced if there could be separate volume sliders for different active devices.

General sound indicator not working as expected.

I have multiple sources of sound and when I lowered the volume in the indicator nothing changed, I had to go to the settings select the output and then change the volume.

previously I had to change the output to the default of the laptop as apparently the system changed the default to be the dock instead of the laptop.

Two Volume popups appear while changing volume

If the Sound popup has been opened by clicking and the keyboard is used to change the sound, then another popup for volume appears. Both change values simultaneously. See the screenshot.

sound_bug

Move confirmation notifications to their relevant indicators

At the moment we have a problem where if I have the sound indicator open and I use function keys to change the volume, I get a notification over this menu. This is duplicate UI since I can see the sound level change right there in the indicator.

We should move confirmation notifications that are covered by the indicator to the indicator since only it knows whether or not it's opened

This would also give the indicator the unique ability to immediately dismiss the notification associated with it if it is opened.

Launchpad Details: #LP1625416 Daniel Fore - 2016-09-20 01:26:41 +0000

Add blacklisted players feature

Provide the ability to blacklist players like
in com->canonical->indicator->sound->blacklisted-media-players

Launchpad Details: #LP1536985 Robert - 2016-01-22 09:46:46 +0000

When the microphone is on, show an icon

We show the microphone slider when the mic is on, but maybe we should also show the icon in the panel. In this way, the indicator would kind of be a whistleblower and let you know that something is using the mic.

Launchpad Details: #LP1651573 Daniel Fore - 2016-12-20 20:20:44 +0000

Disable horizontal scroll on the sound indicator icon

Hi.

Problem 1:

1 - Move the cursor to the sound indicator.

2- Use the horizontal scroll.

Result: Horizontal scrolling doesn't do anything but the volume changing sound is played in a longer way.

Problem 2:

1 - move the cursor to the sound indicator.

2 - Left click on the sound indicator.

3 - Try to scroll horizontally.

Result: Horizontal scrolling doesn't do anything, but the volume changing sound is played with a weird pitch.

Layout jumps around when song thumbnails are loading (Spotify)

If I skip songs on Spotify, it apparently takes half a second to download the song thumbnail. What happens then is that the image disappears and the whole layout jumps around, then when the image finishes loading, everything jumps back to normal.

Expected behavior: The indicator's layout is stable even when the image is temporarily missing.

Control phone when paired over bluetooth [$100]

When you pair a phone over bluetooth you can use the computer as a speaker. If we can, it'd be great to be able to use the sound indicator to control playback

I can confirm that my iPhone does have bluetooth interfaces for controls and they execute over dfeet.

I can see that we have the following methods:

Play, Pause, Next, Previous, Rewind, FastForward

as well as a "Track" property that is "Dict of {String, Variant}" and a "Status" property and some other things that are probably not terribly useful to us.

--

https://www.bountysource.com/issues/40092820-control-phone-when-paired-over-bluetooth

Launchpad Details: #LP1591392 Daniel Fore - 2016-06-10 22:16:30 +0000

Support smooth scrolling volume change

This is a sister bug of elementary/wingpanel-indicator-power#58.

Neither the icon scroll neither the volume scroller scroll can handle smooth scrolling gracefully. Currently, the code increments the brightness by a fixed value for every scroll event, which means a small amount of smooth scroll can lead to a big change.

To support smooth scrolling, the handler needs to check if the event is smooth and then change the brightness value with a value scaled by the delta_y

Scrolling behaviour of icon/popup contradicts system-settings behaviour.

If you use the mousewheel to scroll down you will reduce volume when hovering over the icon or over the popup-bar. However when scrolling down in the system settings it actually increases the volume.
This inconsistency should be fixed. Possibly by changing the scrolling behaviour in the settings app so that scrolling down moves the bar to the left instead of the right (it also affects balance, though since that can't be changed elsewhere it feels less like a contradiction).

Add output selector to audio indicator

Audio output is reset to internal whenever my HDMI screen is powered off, so each time I have to open audio settings and re-select hdmi as audio output.

An output switch in the audio indicator would allow current behaviour to remain untouched (whyever...) and allow for easier selection with multiple output sinks.

Launchpad Details: #LP1632990 Richard Wonka - 2016-10-13 08:33:26 +0000

change icon to indicate headphones plugged in

Since I realized headphones are already being detected and volume is set separately depending on whether they are plugged in or not, I was wondering if it would be possible to display a headphone icon when they are. I frequently wonder why I don't have any sound and realized my headphones are plugged. This sometimes leads me to push the volume way up.

Get icon spacing from stylesheet

Right now the icon spacing in the panel between the mic and volume icons is hardcoded. For future proofing, we should get this value from the padding of .composited-indicator

Select volume level icon to toggle mute/unmute

I thought that to mute audio I could just click on the speaker on the left, since it's often (always?) how it works.

Instead, there's a switch control.

I don't think it's necessary, since everyone is used to clicking on the speaker to mute.

Having the switch therefore:

  • makes the experience worse, because the intuitive thing to do is to click on the speaker icon
  • adds an unnecessary element, while elementary OS strives for simplicity and remove elements that are not needed

licensing information incorrect in some source files

For Example (maya-calendar):

Running licensecheck on the maya-calendar sources reports that some of the files which include licensing information include the wrong FSF address.

 $ licensecheck -r . | awk -F ": " '{ print $2 }' | sort | uniq -c | sort -gr

    163 No copyright UNKNOWN
    101 UNKNOWN
     38 GPL (v3 or later)
      6 LGPL (v2 or later) (with incorrect FSF address)
      4 No copyright GENERATED FILE
      4 BSD (2 clause)
      3 No copyright GPL (v3 or later)
      2 LGPL (v2.1 or later)

The affected files are:

 $ licensecheck -r . | grep incorrect
  ./core/Backends/Backend.vala: LGPL (v2 or later) (with incorrect FSF address)
  ./core/Backends/BackendsManager.vala: LGPL (v2 or later) (with incorrect FSF address)
  ./core/Backends/LocalBackend.vala: LGPL (v2 or later) (with incorrect FSF address)
  ./core/Backends/PlacementWidget.vala: LGPL (v2 or later) (with incorrect FSF address)
  ./plugins/CalDAV/CalDAVBackend.vala: LGPL (v2 or later) (with incorrect FSF address)
  ./plugins/Google/GoogleBackend.vala: LGPL (v2 or later) (with incorrect FSF address)

Package checkers / linters (for example the compulsory fedora one - rpmlint) complain very verbosely about this.

Launchpad Details: #LP1653413 Fabio Valentini - 2017-01-01 11:16:13 +0000

Apostrophe character not displayed correctly

This title (podcast on Vocal)...
screenshot from 2018-11-08 21 43 12 2x

...gets displayed as this...
screenshot from 2018-11-08 21 37 55 2x
...by the sound indicator.

But here (Melody player) it works just fine...
screenshot from 2018-11-08 21 47 39 2x

The host 🖥️

System:    Host: elementary-os Kernel: 4.15.0-38-generic x86_64 bits: 64 gcc: 7.3.0
           Desktop: Gnome  (Gtk 3.22.30) Distro: elementary OS 5.0 Juno
Machine:   Device: desktop Mobo: ASUSTeK model: Z170-DELUXE v: Rev 1.xx serial: N/A
           UEFI [Legacy]: American Megatrends v: 3504 date: 06/29/2017
CPU:       Quad core Intel Core i7-6700K (-MT-MCP-) arch: Skylake-S rev.3 cache: 8192 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 32064
           clock speeds: max: 4300 MHz 1: 1132 MHz 2: 3826 MHz 3: 3927 MHz 4: 3844 MHz 5: 3966 MHz 6: 3742 MHz
           7: 3886 MHz 8: 3839 MHz
Graphics:  Card: NVIDIA GP104 [GeForce GTX 1080] bus-ID: 01:00.0
           Display Server: x11 (X.Org 1.19.6 ) driver: nvidia Resolution: [email protected]
           OpenGL: renderer: GeForce GTX 1080/PCIe/SSE2 version: 4.6.0 NVIDIA 390.77 Direct Render: Yes
Audio:     Card-1 NVIDIA GP104 High Definition Audio Controller driver: snd_hda_intel bus-ID: 01:00.1
           Card-2 Intel Sunrise Point-H HD Audio driver: snd_hda_intel bus-ID: 00:1f.3
           Card-3 Creative Live! Cam Chat HD [VF0700] driver: USB Audio usb-ID: 001-002
           Sound: Advanced Linux Sound Architecture v: k4.15.0-38-generic
Network:   Card-1: Intel Ethernet Connection (2) I219-V driver: e1000e v: 3.2.6-k bus-ID: 00:1f.6
           IF: enp0s31f6 state: up speed: 1000 Mbps duplex: full mac: <filter>
           Card-2: Broadcom Limited BCM4360 802.11ac Wireless Network Adapter
           driver: bcma-pci-bridge bus-ID: 07:00.0
           IF: N/A state: N/A mac: N/A
           Card-3: Intel I211 Gigabit Network Connection driver: igb v: 5.4.0-k port: c000 bus-ID: 0b:00.0
           IF: enp11s0 state: down mac: <filter>
Drives:    HDD Total Size: 2570.6GB (2.9% used)
           ID-1: /dev/sda model: Samsung_SSD_850 size: 256.1GB
           ID-2: /dev/sdb model: Samsung_SSD_850 size: 1024.2GB
           ID-3: /dev/sdc model: Crucial_CT1050MX size: 1050.2GB
           ID-4: /dev/sdd model: KINGSTON_SH100S3 size: 120.0GB
           ID-5: /dev/sde model: KINGSTON_SV300S3 size: 120.0GB
Partition: ID-1: / size: 110G used: 71G (68%) fs: ext4 dev: /dev/sde1
RAID:      No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors:   System Temperatures: cpu: 32.0C mobo: N/A gpu: 0.0:54C
           Fan Speeds (in rpm): cpu: 0
Info:      Processes: 281 Uptime: 8:18 Memory: 3814.9/32101.8MB Init: systemd runlevel: 5 Gcc sys: 7.3.0
           Client: Shell (bash 4.4.191) inxi: 2.3.56 

Should throttle notifications

When scrolling over the indicator icon while the Popover is closed notifications are triggered for each adjustment. These add a huge lag to the volume adjusts. We should probably throttle those notifications.

This might be the reason for: #8

Audio feedback when adjusting volume is redundant

It's very cute, but I think having audio feedback when you adjust the volume is redundant.

Main reasons are:

  • one never adjusts the volume for fun, just when there's already sound coming out and you don't like the volume level, so you can gauge by the actual sound or movie you're playing
  • one never adjusts the volume for fun, just when there's already sound coming out and you don't like the volume level, so the visual feedback covers whatever you're already playing and screws up the experience
  • the sound effect can give me an idea about the volume level that that specific sound is confortable to me at, but it's no indication that the volume level will be OK for YouTube, Spotify, etc. since most things have different volume levels

[Enhancement] Big step size on scroll volume slider

By default used 6% - it's very big and not comphortable:
const double volume_step_percentage = 0.06
That too much sound amplification.
Please change to 2% by default or add option for change this on settings.

Allow increasing audio volume past 100% with modifier key

Would it be possible to allow the volume buttons (or maybe the slider in the menu bar) to bump the volume past 100% by pressing a modifier key at the same time?

For example, have vol+ max out at 100%, but allow alt+vol+ to go past that?

Background

I'm running elementaryOS on the ThinkPad X230, which is a nice hardware, but the built-in speaker is a little underwhelming. Normally, I can use headphones which work fine, but sometimes I need the built-in speakers. I have noticed that in the Settings, I can allow the output volume to exceed 100%, which works fine. However, even after allowing the volume to exceed 100%, it's not possible to do so with the volume buttons on my keyboard, or with the volume control in the menu bar (from what I can tell).

Prior Art

While I can't do this on my MacBook, macOS allows modifiers to be used while using the volume buttons. On there, option+shift+vol+ can be used to step in smaller increments. I don't know how of if any other distros handle this.

Pledge

If you get this working, I will donate $5. I know this is not a lot (I'm a student), but maybe other people who would like to see this also want to chip in?

Integrate with HTML5 <audio>/<video>?

If there's someway that the notification panel/pulseaudio can pick up <audio>/<video> tags in browsers, we can integrate what is currently playing in the notification dock and be able to play/pause/forward it straight from the notification dock/your play/pause buttons on your laptop/your headset.


While I'm here, do bluetooth play/pause/next controls even work from headsets? I have a pair of Beats, and I haven't been able to get them to play nice with Music.

Microphone slider has no feedback

It is unclear what the microphone slider is actually doing. The volume slider changes the icon in the menu for the volume level the same could be done for the microphone, we could use the microphone-sensitivity-*-symbolic icons to display the sensitivity level.

Separator above volume control is present even if no media controls are shown

This is related to #35. I rarely use desktop media players, and as I wasn't able to turn off the integrated controls in the volume dialog, I tried uninstalling Noise and Audience.

That removes the media controls, but the separator that exists to separate them from the volume slider is still shown even though there isn't anything to separate anymore:

screenshot from 2017-10-24 11-31-47

In this case the separator should not be visible IMO.

Scrolling icon with touchpad feels inverted

When I'm "scrolling" over the icon with my touchpad, the motion I'm doing is most akin to manipulating this kind of device: http://www.robotplanet.dk/audio/audio_gui_design/volumeslider.jpg

We should take that into account and make sure that when you're using a touchpad that sliding up makes the volume go up. This isn't really akin to a scroll gesture where you're pushing the content. In this case, you're sliding a "handle"

Launchpad Details: #LP1509569 Daniel Fore - 2015-10-23 23:43:37 +0000

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.