Haberler

:::::  YENİ  :::::
AYLINUX

Gnome eklentisi yapmaya çalışıyorum yardım.

karasu · 1936

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı karasu

  • Newbie
  • *
    • İleti: 267
Benim gibi kulaklık mağdurları için bir eklenti yapmaya çalışıyorum.

Eklentinin amacı alsamixer deki auto-mute'nin durumunu öğrenerek üzerinde durum değişikliği yapmak.



Gnome extension tool ile varsayılan olarak oluşturulan temayı değiştirip Auto-Mute'yi kapatmayı başardım.

Takıldığım nokta ise Auto-Mute'nin durumunu öğrenmek.

hiç javascript bilgim yok sağdan soldan örnek bularak yapmaya çalışıyorum. programlama bilgimde 5 yıl önce C# ta sql sorgularından ibaret.

:'( yardım ederseniz sevinirim.


Kod: [Seç]

const St = imports.gi.St;
const Main = imports.ui.main;
const Tweener = imports.ui.tweener;
const Util = imports.misc.util;

let text, button;

function _hideHello() {
    Main.uiGroup.remove_actor(text);
    text = null;
    Util.spawn(['/usr/bin/amixer', '-c', '0', 'sset', '"Auto-Mute Mode"', 'Disabled'])
}

function _Auto-Mute() {
    if (!text) {
        text = new St.Label({ style_class: 'helloworld-label', text: "Hello, world!" });
        Main.uiGroup.add_actor(text);
    }

    text.opacity = 255;

    let monitor = Main.layoutManager.primaryMonitor;

    text.set_position(monitor.x + Math.floor(monitor.width / 2 - text.width / 2),
                      monitor.y + Math.floor(monitor.height / 2 - text.height / 2));

    Tweener.addTween(text,
                     { opacity: 0,
                       time: 2,
                       transition: 'easeOutQuad',
                       onComplete: _hideHello });
}

function init() {
    button = new St.Bin({ style_class: 'panel-button',
                          reactive: true,
                          can_focus: true,
                          x_fill: true,
                          y_fill: false,
                          track_hover: true });
    let icon = new St.Icon({ icon_name: 'system-run-symbolic',
                             style_class: 'system-status-icon' });

    button.set_child(icon);
    button.connect('button-press-event', _showHello _Auto-Mute);
}

function enable() {
    Main.panel._rightBox.insert_child_at_index(button, 0);
}

function disable() {
    Main.panel._rightBox.remove_child(button);
}
« Son Düzenleme: 01 Ocak 1970 - 02:00:00 Gönderen: Guest »



Çevrimdışı karasu

  • Newbie
  • *
    • İleti: 267
Yanıtla #1 : 01 Şubat 2015 - 15:46:50
$ /usr/bin/amixer -c 0 sget "Auto-Mute Mode"

Simple mixer control 'Auto-Mute Mode',0

  Capabilities: enum

  Items: 'Disabled' 'Enabled'

  Item0: 'Disabled



uğraşıyorum..
« Son Düzenleme: 01 Ocak 1970 - 02:00:00 Gönderen: Guest »



Çevrimdışı cokomoko

    • İleti: 508
Yanıtla #2 : 02 Şubat 2015 - 12:08:17
Nasıl bir sorun bu?Ses 0 olunca bir daha yükseltemiyor musunuz?
« Son Düzenleme: 01 Ocak 1970 - 02:00:00 Gönderen: Guest »

\'\'Eğer 386BSD ben Linux\'a başladığımda var olsaydı, Linux büyük bir olasılıkla olmazdı.\"

......................................................Linus Torvalds....................................................

\"Birgün herkes Archer olacak!\"


Çevrimdışı karasu

  • Newbie
  • *
    • İleti: 267
Yanıtla #3 : 02 Şubat 2015 - 15:07:36
yok hocam ses seviyesi ile ilgili bir durum değil.



şimdi bilgisayarın ön paneline sürekli olarak takılı kulaklık var. ve arka panelede monitörün hoparlörleri bağlı. haliyle gnome da ses çıkışı olarak

1 - line out

2-headphones

görünüyor. ama bunlardan hangisini seçersen seç hiçbirşey farketmiyor, bir tarafı kapatıp diğer tarafı açmıyor yani bu seçim işlemi. her iki taraftanda aynı ses çıkmakta (eğer auto-mute disable yapılmış ise yoksa hangisini seçersen seç sadece kulaklıktan ses geliyor.)

eğer evde kulaklığınız varsa bilgisayarın ön paneline takıp sizde denerseniz problemi anlarsınız.



yukarıdaki

/usr/bin/amixer -c 0 sset "Auto-Mute Mode" Disabled

/usr/bin/amixer -c 0 sset "Auto-Mute Mode" Enabled

komutları ile kulaklığı kapatamasamda hiç olmazsa monitörün (hoparlörlerin) sesini kapatıp açabilirim.



hdmi dan bağlı olsa böyle bir şeye ihtiyaç olmayacak.



şimdilik iki *.sh dosyası oluşturup enable ve disable için öyle denicem. orta karar bir çözüm.
« Son Düzenleme: 01 Ocak 1970 - 02:00:00 Gönderen: Guest »



Çevrimdışı karasu

  • Newbie
  • *
    • İleti: 267
Yanıtla #4 : 11 Şubat 2015 - 13:34:02
Teşekkür ederim abi valla ben de dosyadan bir şey anlamadım daha okadar kavrayamadım olayı :)



evde eşimin bilgisayarını tv ye bağlarken taktığımız "dvi to hdmi" apartı vardı, bizim tv yi babama verince elde fazlalık kalmıştı,  ekran kartının arkasındaki dvi-i yuvasına onu taktıp denedim. normalde dvi portu sadece görüntü iken, böylece hem sesi hemde görüntüyü aktarabiliyormuş. alsamixer den ekrankartına baktığımda 4 tane çıkış gösteriyordu. sanırım ekrankartındaki 2 dvi 1 hdmi ve 1 adet dp portunun hepsinin ayrı ayrı ses çıkış özelliği var.



Ayrıca bu dvi to hdmi aparatının bana daha çok yararı oldu.

Normalde hdmi portu ekran kartının bios unda dvi lardan sonraya sıralanmış yani. sağ taraftaki ikinci monitörde görünüyordu bios ve boot ekranı, artık o problemden kurtulmuş oldum.

hdmi'a takılıyken ses kartı olarak gnome bana hdmi2 diyordu, aparat sayesinde ilk port olan dvi-i'ye taktığım için artık direk hdmi diyor daha çok hoşuma gidiyor :D



ve yapanın ellerine sağlık harika bir eklenti. hem görselli hem işlevli bir eklenti.

https://extensions.gnome.org/extension/906/sound-output-device-chooser/" class="bbc_link" target="_blank">http://https://extensions.gnome.org/extension/906/sound-output-device-chooser/

https://extensions.gnome.org/static/extension-data/screenshots/screenshot_906.png" alt="" class="bbc_img" />
« Son Düzenleme: 01 Ocak 1970 - 02:00:00 Gönderen: Guest »