gianmarco
/
dotfiles
Archived
1
0
Fork 0

Finally THE commit for the new bspwm-based rice

master
gianmarco 2022-03-03 20:38:41 +01:00
parent 7f92e1302d
commit d7ba568c37
30 changed files with 482 additions and 82 deletions

View File

@ -34,6 +34,9 @@ bspc rule -a kcharselect state=floating
bspc rule -a plasma.emojier state=floating
bspc rule -a rpi-imager state=floating
bspc rule -a 'FF Multi Converter' state=floating
bspc rule -a isoimagewriter state=floating
bspc rule -a kmag state=floating
bspc rule -a GLava state=floating
bspc rule -a desktop="Desktop" locked=on
~/Scripts/autostart.sh

1
.config/glava/bars Symbolic link
View File

@ -0,0 +1 @@
/etc/xdg/glava//bars

33
.config/glava/bars.glsl Executable file
View File

@ -0,0 +1,33 @@
/* Center line thickness (pixels) */
#define C_LINE 1
/* Width (in pixels) of each bar */
#define BAR_WIDTH 4
/* Width (in pixels) of each bar gap */
#define BAR_GAP 2
/* Outline color */
#define BAR_OUTLINE #262626
/* Outline width (in pixels, set to 0 to disable outline drawing) */
#define BAR_OUTLINE_WIDTH 0
/* Amplify magnitude of the results each bar displays */
#define AMPLIFY 300
/* Whether the current settings use the alpha channel;
enabling this is required for alpha to function
correctly on X11 with `"native"` transparency. */
#define USE_ALPHA 0
/* How strong the gradient changes */
#define GRADIENT_POWER 60
/* Bar color changes with height */
#define GRADIENT (d / GRADIENT_POWER + 1)
/* Bar color */
#define COLOR (#3366b2 * GRADIENT)
/* Direction that the bars are facing, 0 for inward, 1 for outward */
#define DIRECTION 0
/* Whether to switch left/right audio buffers */
#define INVERT 0
/* Whether to flip the output vertically */
#define FLIP 0
/* Whether to mirror output along `Y = X`, causing output to render on the left side of the window */
/* Use with `FLIP 1` to render on the right side */
#define MIRROR_YX 0

1
.config/glava/circle Symbolic link
View File

@ -0,0 +1 @@
/etc/xdg/glava//circle

24
.config/glava/circle.glsl Executable file
View File

@ -0,0 +1,24 @@
/* center radius (pixels) */
#define C_RADIUS 128
/* center line thickness (pixels) */
#define C_LINE 1.5
/* outline color */
#define OUTLINE #333333
/* Amplify magnitude of the results each bar displays */
#define AMPLIFY 150
/* Angle (in radians) for how much to rotate the visualizer */
#define ROTATE (PI / 2)
/* Whether to switch left/right audio buffers */
#define INVERT 0
/* Whether to fill in the space between the line and inner circle */
#define C_FILL 0
/* Whether to apply a post-processing image smoothing effect
1 to enable, 0 to disable. Only works with `xroot` transparency,
and improves performance if disabled. */
#define C_SMOOTH 1
/* Gravity step, overrude frin `smooth_parameters.glsl` */
#request setgravitystep 6.0
/* Smoothing factor, override from `smooth_parameters.glsl` */
#request setsmoothfactor 0.01

8
.config/glava/env_KWin.glsl Executable file
View File

@ -0,0 +1,8 @@
#request setdecorated false
#request setxwintype "normal"
#request addxwinstate "below"
#request addxwinstate "skip_taskbar"
#request addxwinstate "skip_pager"
#request addxwinstate "pinned"
#request setclickthrough true

2
.config/glava/env_Openbox.glsl Executable file
View File

@ -0,0 +1,2 @@
#request setxwintype "desktop"
#request addxwinstate "pinned"

3
.config/glava/env_Xfwm4.glsl Executable file
View File

@ -0,0 +1,3 @@
#request setxwintype "desktop"
#request addxwinstate "pinned"
#request addxwinstate "below"

1
.config/glava/env_awesome.glsl Executable file
View File

@ -0,0 +1 @@
#request setxwintype "!-"

1
.config/glava/env_default.glsl Executable file
View File

@ -0,0 +1 @@
#request setxwintype "desktop"

1
.config/glava/env_i3.glsl Executable file
View File

@ -0,0 +1 @@
#request setxwintype "!-"

1
.config/glava/graph Symbolic link
View File

@ -0,0 +1 @@
/etc/xdg/glava//graph

31
.config/glava/graph.glsl Executable file
View File

@ -0,0 +1,31 @@
/* Vertical scale, larger values will amplify output */
#define VSCALE 300
/* Rendering direction, either -1 (outwards) or 1 (inwards). */
#define DIRECTION 1
/* Color gradient scale, (optionally) used in `COLOR` macro */
#define GRADIENT_SCALE 75
/* Color definition. By default this is a gradient formed by mixing two colors.
`pos` represents the pixel position relative to the visualizer baseline. */
#define COLOR mix(#EB4034, #FF8789, clamp(pos / GRADIENT_SCALE, 0, 1))
/* 1 to draw outline, 0 to disable */
#define DRAW_OUTLINE 0
/* 1 to draw edge highlight, 0 to disable */
#define DRAW_HIGHLIGHT 1
/* Whether to anti-alias the border of the graph, creating a smoother curve.
This may have a small impact on performance.
Note: requires `xroot` or `none` opacity to be set */
#define ANTI_ALIAS 0
/* outline color */
#define OUTLINE #2A2C2B
/* 1 to join the two channels together in the middle, 0 to clamp both down to zero */
#define JOIN_CHANNELS 0
/* 1 to invert (vertically), 0 otherwise */
#define INVERT 0
/* Gravity step, overrude from `smooth_parameters.glsl` */
#request setgravitystep 2.4
/* Smoothing factor, override from `smooth_parameters.glsl` */
#request setsmoothfactor 0.015

1
.config/glava/radial Symbolic link
View File

@ -0,0 +1 @@
/etc/xdg/glava//radial

39
.config/glava/radial.glsl Executable file
View File

@ -0,0 +1,39 @@
/* center radius (pixels) */
#define C_RADIUS 128
/* center line thickness (pixels) */
#define C_LINE 2
/* outline color */
#define OUTLINE #333333
/* number of bars (use even values for best results) */
#define NBARS 180
/* width (in pixels) of each bar*/
#define BAR_WIDTH 3.5
/* outline color */
#define BAR_OUTLINE OUTLINE
/* outline width (in pixels, set to 0 to disable outline drawing) */
#define BAR_OUTLINE_WIDTH 0
/* Amplify magnitude of the results each bar displays */
#define AMPLIFY 300
/* Bar color */
#define COLOR (#cc3333 * ((d / 40) + 1))
/* Angle (in radians) for how much to rotate the visualizer */
#define ROTATE (PI / 2)
/* Whether to switch left/right audio buffers */
#define INVERT 0
/* Aliasing factors. Higher values mean more defined and jagged lines.
Note: aliasing does not have a notable impact on performance, but requires
`xroot` transparency to be enabled since it relies on alpha blending with
the background. */
#define BAR_ALIAS_FACTOR 1.2
#define C_ALIAS_FACTOR 1.8
/* Offset (Y) of the visualization */
#define CENTER_OFFSET_Y 0
/* Offset (X) of the visualization */
#define CENTER_OFFSET_X 0
/* Gravity step, override from `smooth_parameters.glsl` */
#request setgravitystep 5.0
/* Smoothing factor, override from `smooth_parameters.glsl` */
#request setsmoothfactor 0.02

227
.config/glava/rc.glsl Executable file
View File

@ -0,0 +1,227 @@
/* The module to use. A module is a set of shaders used to produce
the visualizer. The structure for a module is the following:
module_name [directory]
1.frag [file: fragment shader],
2.frag [file: fragment shader],
...
Shaders are loaded in numerical order, starting at '1.frag',
continuing indefinitely. The results of each shader (except
for the final pass) is given to the next shader in the list
as a 2D sampler.
See documentation for more details. */
#request mod graph
/* Window hints */
#request setfloating false
#request setdecorated true
#request setfocused false
#request setmaximized false
/* Set window background opacity mode. Possible values are:
"native" - True transparency provided by the compositor. Can
reduce performance on some systems, depending on
the compositor used.
"xroot" - Maintain a copy of the root window's pixmap
(usually the desktop background) to provide a
pseudo-transparent effect. Useful when no compositor
is available or native transparency isn't nessecary.
Has very little performance impact.
"none" - Disable window opacity completely. */
#request setopacity "native"
/* Whether to mirror left and right audio input channels from PulseAudio.*/
#request setmirror false
/* OpenGL context and GLSL shader versions, do not change unless
you *absolutely* know what you are doing. */
#request setversion 3 3
#request setshaderversion 330
/* Window title */
#request settitle "GLava"
/* Window geometry (x, y, width, height) */
#request setgeometry 0 0 800 600
/* Window background color (RGB format).
Does not work with `setopacity "xroot"` */
#request setbg 00000000
/* (X11 only) EWMH Window type. Possible values are:
"desktop", "dock", "toolbar", "menu",
"utility", "splash", "dialog", "normal"
This will set _NET_WM_WINDOW_TYPE to _NET_WM_WINDOW_TYPE_(TYPE),
where (TYPE) is the one of the window types listed (after being
converted to uppercase).
Alternatively, you can set this value to "!", which will cause
the window to be unmanaged. If this is set, then `addxwinstate`
will do nothing, but you can use "!+" and "!-" to stack on top
or below other windows.
*/
#request setxwintype "normal"
/* (X11 only) EWMH Window state atoms (multiple can be specified).
Possible values are:
"modal", "sticky", "maximized_vert", "maximized_horz",
"shaded", "skip_taskbar", "skip_pager", "hidden", "fullscreen",
"above", "below", "demands_attention", "focused", "pinned"
This will add _NET_WM_STATE_(TYPE) atoms to _NET_WM_STATE,
where (TYPE) is one of the window states listed (after being
converted to uppercase).
The lines below (commented out by default) are of relevance
if you are trying to get GLava to behave as a desktop widget
and your WM is not correctly responding to the "desktop" value
for `setxwintype`.
*/
#request addxwinstate "sticky"
#request addxwinstate "skip_taskbar"
#request addxwinstate "skip_pager"
#request addxwinstate "above"
// #request addxwinstate "pinned"
/* (X11 only) Use the XShape extension to support clicking through
the GLava window. Useful when you want to interact with other
desktop windows (icons, menus, desktop shells). Enabled by
default when GLava itself is a desktop window. */
#request setclickthrough false
/* Audio source
When the "pulseaudio" backend is set, this can be a number or
a name of an audio sink or device to record from. Set to "auto"
to use the default output device.
When the "fifo" backend is set, "auto" is interpreted as
"/tmp/mpd.fifo". Otherwise, a valid path should be provided. */
#request setsource "auto"
/* Buffer swap interval (vsync), set to '0' to prevent
waiting for refresh, '1' (or more) to wait for the specified
amount of frames. */
#request setswap 1
/* Linear interpolation for audio data frames. Drastically
improves smoothness with configurations that yield low UPS
(`setsamplerate` and `setsamplesize`), or monitors that have
high refresh rates.
This feature itself, however, will effect performance as it
will have to interpolate data every frame on the CPU. It will
automatically (and temporarily) disable itself if the update
rate is close to, or higher than the framerate:
if (update_rate / frame_rate > 0.9) disable_interpolation;
This will delay data output by one update frame, so it can
desync audio with visual effects on low UPS configs. */
#request setinterpolate true
/* Frame limiter, set to the frames per second (FPS) desired or
simply set to zero (or lower) to disable the frame limiter. */
#request setframerate 0
/* Suspends rendering if a fullscreen window is focused while
GLava is still visible (ie. on another monitor). This prevents
rendering from interfering with other graphically intensive
tasks.
If GLava is minimized or completely obscured, it will not
render regardless of this option. */
#request setfullscreencheck false
/* Enable/disable printing framerate every second. 'FPS' stands
for 'Frames Per Second', and 'UPS' stands for 'Updates Per
Second'. Updates are performed when new data is submitted
by pulseaudio, and require transformations to be re-applied
(thus being a good measure of how much work your CPU has to
perform over time) */
#request setprintframes true
/* PulseAudio sample buffer size. Lower values result in more
frequent audio updates (also depends on sampling rate), but
will also require all transformations to be applied much
more frequently (CPU intensive).
High (>2048, with 22050 Hz) values will decrease accuracy
(as some signals can be missed by transformations like FFT)
The following settings (@22050 Hz) produce the listed rates:
Sample UPS Description
- 2048 -> 43.0 (low accuracy, cheap), use with < 60 FPS
- 1024 -> 86.1 (high accuracy, expensive), use with >= 60 FPS
- 512 -> 172.3 (extreme accuracy, very expensive), use only
for graphing accurate spectrum data with
custom modules.
If the framerate drops below the update rate, the update rate
will be locked to the framerate (to prevent wasting CPU time).
This behaviour means you can use a 1024 sample size on a 60Hz
monitor with vsync enabled to get 60FPS and 60UPS.
For high refresh rate monitors (120+ Hz), it's recommended to
also stick with the 1024 sample size and use interpolation to
smooth the data, as accuracy beyond this setting is mostly
meaningless for visual purposes.
*/
#request setsamplesize 1024
/* Audio buffer size to be used for processing and shaders.
Increasing this value can have the effect of adding 'gravity'
to FFT output, as the audio signal will remain in the buffer
longer.
This value has a _massive_ effect on FFT performance and
quality for some modules. */
#request setbufsize 4096
/* PulseAudio sample rate. Lower values can add 'gravity' to
FFT output, but can also reduce accuracy. Most hardware
samples at 44100Hz.
Lower sample rates also can make output more choppy, when
not using interpolation. It's generally OK to leave this
value unless you have a strange PulseAudio configuration.
This option does nothing when using the "fifo" audio
backend. Instead, an ideal rate should be be configured
in the application generating the output. */
#request setsamplerate 22050
/* ** DEPRECATED **
Force window geometry (locking the window in place), useful
for some pesky WMs that try to reposition the window when
embedding in the desktop.
This routinely sends X11 events and should be avoided. */
#request setforcegeometry false
/* ** DEPRECATED **
Force window to be raised (focused in some WMs), useful for
WMs that have their own stacking order for desktop windows.
This routinely sends X11 events and should be avoided. */
#request setforceraised false
/* ** DEPRECATED **
Scale down the audio buffer before any operations are
performed on the data. Higher values are faster.
This value can affect the output of various transformations,
since it applies (crude) averaging to the data when shrinking
the buffer. It is reccommended to use `setsamplerate` and
`setsamplesize` to improve performance or accuracy instead. */
#request setbufscale 1

View File

@ -0,0 +1,78 @@
/* Settings for smoothing functions and transformations commonly
used to display FFT output.
IMPORTANT: THESE VALUES CAN BE OVERRIDDEN IN MODULE CONFIG
FILES, IF CHANGING VALUES HERE DOES NOT WORK, CHECK
TO MAKE SURE THEY ARE NOT BEING SET ELSEWHERE.
*/
/* The type of formula to use for weighting values when smoothing.
Possible values:
- circular heavily rounded points
- sinusoidal rounded at both low and high weighted values
like a sine wave
- linear not rounded at all; linear distance
*/
#define ROUND_FORMULA sinusoidal
/* The sampling mode for processing raw FFT input:
- average averages all the inputs in the sample range for
a given point. Produces smooth output, but peaks
are not well represented
- maximum obtains the best value from the closest peak in
the sample range. Very accurate peaks, but
output is jagged and sporadic.
- hybrid uses the results from both `average` and `maximum`
with the weight provided in `SAMPLE_HYBRID_WEIGHT` */
#define SAMPLE_MODE average
/* Weight should be provided in the range (0, 1). Higher values favour
averaged results. `hybrid` mode only. */
#define SAMPLE_HYBRID_WEIGHT 0.65
/* Factor used to scale frequencies. Lower values allows lower
frequencies to occupy more space. */
#define SAMPLE_SCALE 8
/* The frequency range to sample. 1.0 would be the entire FFT output,
and lower values reduce the displayed frequencies in a log-like
scale. */
#define SAMPLE_RANGE 0.9
/* Factor for how to scale higher frequencies. Used in a linear equation
which is multiplied by the result of the fft transformation. */
#request setfftscale 10.2
/* Cutoff for the bass end of the audio data when scaling frequencies.
Higher values cause more of the bass frequencies to be skipped when
scaling. */
#request setfftcutoff 0.3
/* How many frames to queue and run through the average function.
Increasing this value will create latency between the audio and the
animation, but will make for much smoother results. */
#request setavgframes 6
/* Whether to window frames ran through the average function (new & old
frames are weighted less). This massively helps smoothing out
spontaneous values in the animation. */
#request setavgwindow true
/* Gravity step, higher values means faster drops. The step is applied
in a rate independant method like so:
val -= (gravitystep) * (seconds per update) */
#request setgravitystep 4.2
/* Smoothing factor. Larger values mean more smoothing in the output,
however high values can be expensive to compute. Values are in
normalized width: [0.0, 1.0) */
#request setsmoothfactor 0.025
/* Whether to use a separate pass for audio data while smoothing. On
most hardware, this will improve performance, but involves doing a
separate render step for each audio texture and will add some driver
(CPU) overhead. */
#request setsmoothpass true

1
.config/glava/util Symbolic link
View File

@ -0,0 +1 @@
/etc/xdg/glava//util

1
.config/glava/wave Symbolic link
View File

@ -0,0 +1 @@
/etc/xdg/glava//wave

14
.config/glava/wave.glsl Executable file
View File

@ -0,0 +1,14 @@
/* min (vertical) line thickness */
#define MIN_THICKNESS 1
/* max (vertical) line thickness */
#define MAX_THICKNESS 6
/* base color to use, distance from center will multiply the RGB components */
#define BASE_COLOR vec4(0.7, 0.2, 0.45, 1)
/* amplitude */
#define AMPLIFY 500
/* outline color */
#define OUTLINE vec4(0.15, 0.15, 0.15, 1)

1
.zshrc
View File

@ -31,3 +31,4 @@ alias caveau="cryfs /data/Caveau ~/Vaults/Caveau && dolphin ~/Vaults/Caveau"
alias rm="rm -I"
alias panpdf="~/Scripts/panpdf.sh"
alias netrend="~/Scripts/netsend.sh"
alias d="devour"

View File

@ -2,87 +2,15 @@
## My fancy bspwm rice
![Screenshot from my r/unixporn post](repopics/screenshot_new.png)
![Screenshot from my r/unixporn post](repopics/screenshot.png)
## Basic requirements
## Color palette
- **bspwm** as your tiling window manager with **sxhkd** as the keybindings daemon and **picom-jonaburg-fix** as the compositor;
- **Polybar** for the status bar (and **Python** with **python-dbus** for the media player and mail modules and **polybar-pulseaudio-control** for the volume module);
- **zsh**, **powerlevel10k** for the fancy shell prompt, **pfetch** if you want the ascii logo thing and **pywal** for the custom terminal colors;
- **Dunst** as the notification daemon;
- **betterlockscreen** as the lockscreen;
- **stalonetray** for the system tray.
![Color palette](repopics/palette.png)
Extra stuff might be required for my Polybar scripts. Continue reading, don't be lazy.
# WARNING: this new bspwm-based rice is still an experimental work-in-progress, so this README is not completely up to date and things might not work properly.
## How to install
After installing the dependencies, place the stuff like you see it in your home directory. Change the settings of your Plasma desktop, of your shell or terminal emulator, make Polybar launch at startup and you should be good to go. If you want pfetch to run when you open a terminal, append the line `pfetch` at the bottom of your `.zshrc` file. By the way I have now my own `.zshrc` where I have some aliases at the bottom of the file. To activate the powerlevel10k theme make sure you have this line `source ~/.p10k.zsh` in your `.zshrc` file. I've also made a custom color scheme with pywal.
## Explaining some things
### Polybar
`.config/polybar` contains stuff from [adi1090x's Polybar Themes repo](https://github.com/adi1090x/polybar-themes) with the addition of a custom folder called `gmg` which is a modified version of the `material` theme present in the same base directory. To launch Polybar with my theme, just run the `launch.sh` script with the flag `--gmg`. You might want to make a thing at login that automatically runs the command for you. Also a lot of the stuff in this custom theme has italian text so, unless you like pasta a lot, you might wanna change that. For this the fonts [Roboto](https://fonts.google.com/specimen/Roboto), [Roboto Mono](https://fonts.google.com/specimen/Roboto+Mono) and [Material Design Iconic Font](https://zavoloklom.github.io/material-design-iconic-font/) are required for the theme to work properly, but you can always set your own in the `config.ini` file. For the date module to work correctly in your system language, assuming it isn't italian, you have to change the line `locale = it_IT.UTF-8` in the `config.ini` file.
I've got a few very simple stupid Polybar modules that I've made myself for my workflow. You can see what each of them do at `gmg/user_modules.ini`.
![The custom modules](repopics/pbicons.png)
The **bell** icon runs `xdotool` to press a key combination associated with **opening and closing Plasma's notification center**, so you might want to adjust that to your setup. Same thing goes for the **down pointing chevron** which **opens and closes Plasma's tray icons**.
There is an **update counter** module that when you **left-click** on it, it will snapshot your system with Timeshift and run `sudo pacman -Syu --no-confirm`, when you **right-click** instead, it will open a window with the list of updates available (requires KDialog).
The **padlock** icon is supposed to **unlock my Plasma vault folder**, so change it if you want, otherwise get rid of it.
I also added this `xdotool` functionality to the music and date modules.
![The calendar widget opened by the date module](repopics/calendar.png)
In `gmg/modules.ini` there are a few changes I've done to the network module: some lines are commented for **Wi-Fi stuff**, I suggest you touch those parameters if you're on a laptop or something. Here's an example.
![A commented line for Wi-Fi](repopics/comment.png)
Here's a trick: if you changed some configs and you want to quickly restart Polybar, do a **double right-click** anywhere on the bar.
Again, since this originates from [adi1090x's Polybar Themes repo](https://github.com/adi1090x/polybar-themes) there's some extra stuff that I don't use such as **rofi menus** and some **extra icon modules** that you might be interested in.
The **media player Python module** was created by d093w1z, I only changed some icons and a few options here and there. [Check the source code here](https://github.com/d093w1z/polybar-now-playing).
The **mail Python module** was created by quelotic, I only changed the mail icon and put the config file in a private directory, so you gotta change it from `~/Scripts/mail.py` to wherever yours is located. It's also set up to launch KMail when clicked, so you might want to change it to your mail client or web mail interface of choice. [Check the source code here](https://github.com/quelotic/polybarModules).
The **volume module** was created by marioortizmanero, I did some changes for the icons, the output and some actions. For example where it says `(Cuffie)` it is the nickname given to the output corresponding to my 3.5 mm headphone jack, so instead of saying the actual name of the audio interface it just says "(Headphones)"; same goes for where it says `(HDMI)` which refers to my GPU's audio out. You gotta change those values for them to correspond to your audio devices. [Check the source code here](https://github.com/marioortizmanero/polybar-pulseaudio-control).
### The Nightmare Magma color scheme
This is **my own custom color scheme** based on Breeze Dark, designed to be the opposite of my other color scheme called [Dream Plasma](https://github.com/gianmarcogg03/dreamplasmacs): **red and dark AF!!!**
![The color palette](repopics/palette.png)
This up here is the color palette, with the main color being **Signature Red** (#EB4034), the same kinda pinkish shade of red I've been using for my own branding. The shades of black have kind of a **warm hue** to them, especially the darker one, adding to the already warm shades of red. These colors are also used in the Polybar config.
I have also generated a color scheme for the terminal with pywal which matches most of the colors in the color scheme.
### The Nightmare Magma icon pack
This is just a slightly modified version of the Breeze Dark icons from KDE, the only difference is that all folder icons, including the Dolphin icon, are now... Take a guess... Red!
![Some modified icons](repopics/redfolder.png)
## Extras
### Firefox theme
[Click here](https://color.firefox.com/?theme=XQAAAAIPAQAAAAAAAABBKYhm849SCia2CaaEGccwS-xMDPsFGGnDOMsy5fmNc5H9T6A5EPZzdnNfysK48XHik8HvuaKF13MCiND3dBGUZ_STLo-XmnOhHIfnLyp8_eBbkOolOHG2TwlE2YixhYhI_m2ATofiWwQYIbJrDskua121qVyA-oX0XjW93jF3-AKGmdSHkYGzD3iTzF1BmAT8sxLNA-k8IXx__7dU0AA).
### Window tiling in Plasma
In the screenshots at the top you can see that my windows are tiling like in a tiling window manager, but I'm not using a tiling window manager (I'm lazy). What I'm actually doing is using KDE's standard compositor **KWin** with a **tiling script** called Krohnkite, but since it hasn't been updated in ages, I suggest you install a fork called [**Bismuth**](https://github.com/gikari/bismuth).
### Rounded window corners and outline
For this you have to install the [Lightly Shaders](https://github.com/Luwx/LightlyShaders) and enable it in the KDE System Settings.
**This won't work if you're using Plasma 5.23! You can try [this fork](https://github.com/a-parhom/LightlyShaders) by a-parhom.**
1. EB4034
2. EA8F89
3. E5E5E5
4. BDC3C7
5. 2A2C2B
6. 525252

View File

@ -19,7 +19,7 @@ function send_notification {
# https://en.wikipedia.org/wiki/Box-drawing_character
bar=$(seq -s "─" $(($volume / 5)) | sed 's/[0-9]//g')
# Send the notification
if [[ $(dunstctl is-paused) == "false" ]]; then dunstify -i audio-on -r 2593 -u low "$volume $bar" -a Volume & play '~/Sounds/changevol.wav'; fi
if [[ $(dunstctl is-paused) == "false" ]]; then dunstify -i audio-on -r 2593 -u low "$volume $bar" -a Volume; fi
}
case $1 in

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

BIN
repopics/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

BIN
repopics/screenshot.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB