আপনি কীভাবে Xmonad এ ভলিউম কী এবং নিঃশব্দ কী কাজ করবেন do


22

আমি এক্সমনাদে নতুন (কেবল গতকাল এটি ইনস্টল করেছি), এবং যেহেতু আমি আগে কখনও হ্যাশেল ব্যবহার করি নি, তাই কনফিগারেশনটি আমার জন্য খানিকটা বিভ্রান্তি পেয়েছি। আমি কিছুটা এক্সমোবার এবং ট্রেয়ারের কাজ পেয়েছি, তবে কীভাবে আমি ভলিউম সামঞ্জস্য করতে মাল্টিমিডিয়া কীগুলি তৈরি করতে পারি তার কোনও ধারণা নেই। কেউ কি এই সাহায্য করতে পারেন?

অতিরিক্ত প্রশ্ন: কীভাবে আপনি xmonad এ আপনার ভলিউম পরিচালনা করবেন। আপনি কি ট্রে আইকন, বা এই জাতীয় জিনিস ব্যবহার করেন?

এখানে আমার xmonad কনফিগারেশন:

import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.EZConfig(additionalKeys)
import System.IO

main = xmonad =<< statusBar myBar myPP toggleStrutKey myConfig

-- Command to launch the bar
myBar = "xmobar"

-- Custom PP, it determines what is written to the bar
myPP = xmobarPP { ppCurrent = xmobarColor "#429942" "" . wrap "<" ">" }

-- Key bindings to toggle the gap for the bar
toggleStrutKey XConfig {XMonad.modMask = modMask} = (modMask, xK_b)

myConfig = defaultConfig {
    manageHook = manageDocks <+> manageHook defaultConfig,
    layoutHook = avoidStruts $ layoutHook defaultConfig,
    modMask = mod4Mask -- Rebind Mod to windows key
    } `additionalKeys`
    [ ((mod4Mask .|. shiftMask, xK_z), spawn "xscreensaver-command -lock")
    ]

উত্তর:


24

'Xev' ব্যবহার করুন এবং মাল্টিমিডিয়া কীগুলি তাদের নামগুলি আবিষ্কার করতে আলতো চাপুন। একটি হতে পারে 'XF86XK_AudioMute'। তারপরে '/usr/incolve/X11/XF86keysym.h' এর সামগ্রীগুলি দেখুন এবং নামটি সন্ধান করুন। আমার সিস্টেমে 'XF86XK_AudioMute' হল '0x1008FF12'।

যেখানে আপনি আপনার কনফিগার ফাইলে একটি কী রেখেছিলেন সেখানে ফেলে দিন। এটি দেখতে এটির মতো দেখাবে:

import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.EZConfig(additionalKeys)
import System.IO

-CUT-

 } `additionalKeys`
    [ ((mod4Mask .|. shiftMask, xK_z), spawn "xscreensaver-command -lock"),
      ((0                     , 0x1008FF11), spawn "amixer -q sset Master 2%-"),
      ((0                     , 0x1008FF13), spawn "amixer -q sset Master 2%+"),
      ((0                     , 0x1008FF12), spawn "amixer set Master toggle")
    ]

'অ্যামিক্সার' আপনার ভলিউম সেট করবে। Mod4Mask প্রতিস্থাপন করে '0' আপনাকে মোড কী না ধরে মাল্টিমিডিয়া কীটি টেপ করতে দেয়।


যদি অ্যামিক্সার সেট মাস্টার 2- আপনার সিস্টেমে কাজ করে না,
অ্যামিক্সার

1
যখন আমি xev ব্যবহার করি এবং আমার এইচপি ল্যাপটপে ভলিউম কীগুলি টিপਦਾ হয় তখন আমি কোনও কীকোড পাই না, তবে শোকি কমান্ড এগুলি কীকোড 114 এবং কীকোড 115 হিসাবে দেখায় my
ভ্যালেন্ট

উবুন্টু ১৩.০৪-তে এই কী চিহ্নগুলি সন্ধান না করেই এই কাজকৃত অনুলিপি / পেস্ট করুন।
কোরি ক্লিন 21

2
উপরের নিঃশব্দটি নিঃশব্দ করতে না পারলে amixer -D pulse set Master toggleপরিবর্তে চেষ্টা করুন।
zw324

1
কী সমস্যাটি নিঃশব্দ করুন: যখন আমি xevনিঃশব্দ কীটি শুরু করি এবং টিপব তখন টার্মিনালে খুঁজে পাওয়ার মতো কিছুই নেই। (অন্যান্য চাবি জরিমানা হয়।) আমি থেকে তাকিয়ে /usr/include/X11/XF86keysym.h, আমি এই পাওয়া যায়নি: #define XF86XK_AudioMute 0x1008FF12 /* Mute sound from the system */তুমি কি জানো আমার নিঃশব্দ কী দিয়ে সমস্যা কোথায়? ধন্যবাদ.
নিক

14

আপনি চাইছেন এমন কীগুলির জন্য এই গ্রাফিক্স.এক্স 11.এক্সট্রাটাইপস.এক্সএফ 86 দেখুন এবং আপনার কনফিগারেশনের ফাইলটিতে যুক্ত করুন:

import Graphics.X11.ExtraTypes.XF86
myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $
[ ...
, ((0, xF86XK_AudioLowerVolume   ), spawn "amixer set Master 2-")
, ((0, xF86XK_AudioRaiseVolume   ), spawn "amixer set Master 2+")
, ((0, xF86XK_AudioMute          ), spawn "amixer set Master toggle")
...]

আমি এই কনফিগারেশনে একটি ত্রুটি পেয়েছি: "xmonad.hs: 29: 1: পার্স ত্রুটি (সম্ভবত ভুল ইনডেন্টেশন) ত্রুটিগুলির জন্য ফাইলটি পরীক্ষা করুন।" সেই লাইনটিই "[..." শুরু হয় ... আপনি কেন জানেন কেন এটি ঘটে?
ভ্যালেন্ট 18

4
গ্রাফিক্স.এক্স 11. এক্সট্রাটাইপস.এক্সএফ 86 ব্যবহারের জন্য পঠনযোগ্যতার জন্য আরও ভাল সমাধান।
এরিক

@ ভ্যালেন্ট্ট বিন্দুগুলির সাথে লাইনটি একটি উদাহরণ মাত্র। এটির মতো দেখতে হবে, সুতরাং তিনটি বিন্দুর পরিবর্তে আপনার নিজের প্রথম কীটি সংজ্ঞায়িত করা হয়েছে:[ ((modMask, xK_e ), spawn "dmenu_run")
এরিক

9

আপনি যদি পালসওডিও ব্যবহার করেন তবে এটিও pactlকাজ করা উচিত।

, ((0 , xF86XK_AudioRaiseVolume), spawn "pactl set-sink-volume 0 +1.5%")
, ((0 , xF86XK_AudioLowerVolume), spawn "pactl set-sink-volume 0 -- -1.5%")
, ((0 , xF86XK_AudioMute), spawn "pactl set-sink-mute 0 toggle")
]

0সিঙ্ক আইডি হয়। pactl list short sinksডোবা তালিকা প্রদর্শন করবে।

pactl stat|grep 'Default Sink' | cut -f2 -d':'

বর্তমান ডিফল্ট সিঙ্ক প্রদর্শন করবে। আপনি সংখ্যার আইডি পরিবর্তে ডুবির নাম ব্যবহার করতে পারেন।

Doulble ড্যাশ --বলে করতে 'এই অপশনটি (-h মত), শুধু মান নয়' pactl


1
নিস! যাইহোক, --15.10 এ আমার পক্ষে কাজ করে নি, কেবল এটি সরিয়ে ফেললে কৌশলটি হয়েছিল। এছাড়াও, একটি বিশেষ নাম রয়েছে @DEFAULT_SINK@, যাতে আপনার ডিভাইসের নির্দিষ্ট নম্বর / নামগুলি দিয়ে চারপাশে ঝাঁকুনির প্রয়োজন হয় না।
আইজিল

1
এটি নিখুঁত, উপরের কমান্ডগুলির 0সাথে প্রতিস্থাপন করুন @DEFAULT_SINK@! অন্তত অন্যান্য ডিইএস থেকে স্যুইচিংয়ের জন্য - আপনাকে অনেক ধন্যবাদ!
জানু ডি

এই উত্তরের ক্যাপিংয়ের পরিবর্তে (অ্যামিক্সার ক্যাপগুলির মতো) 100% ছাড়িয়ে যাওয়ার সুবিধা রয়েছে। খারাপ জিনিস হ'ল আপনি যখন বিভিন্ন সিঙ্ক থেকে সংগীত খেলেন তখন এটি কাজ করা বন্ধ করে দেয়।
স্টাইলরোম ফ্লাই

3

যদি amixer set Master 2-কাজ করে না। amixer -D pulse set Master 2-পরিবর্তে চেষ্টা করুন। এছাড়াও 2%-এবং 2%+ভলিউমটি 2 শতাংশ দ্বারা পরিবর্তন করবে, যা ব্যবহার করা সহজ হতে পারে। Xmonad কনফিগারেশন ফাইল রাখার আগে আপনি এই কমান্ডগুলিকে টার্মিনালটিতে আপনার পছন্দ অনুযায়ী সামঞ্জস্য করতে পরীক্ষা করতে পারেন।


... -D pulse ...আমার জন্য কাজ! এছাড়াও, একটি -qপতাকা আউটপুট শান্ত করে
Josh.F
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.