Inital Commit

This commit is contained in:
snoweuph 2023-02-03 19:12:16 +01:00
commit b68a1190d9
93 changed files with 3281 additions and 0 deletions

49
.gitignore vendored Normal file
View file

@ -0,0 +1,49 @@
# Ignore All
*
# Include .gitignore
!.gitignore
# Include Readme.md
!Readme.md
# Include Rice-bowl Dir
!rice-bowl/**/*
!rice-bowl/*
!rice-bowl/
# Include I3 Dir
!i3/**/*
!i3/
# Include Awesone Dir
!awesome/**/*
!awesome
# Include Picom Dir
!picom/**/*
!picom/
# Include Polybar Dir
!polybar/**/*
!polybar
# Include Allacrity Dir
!alacritty/**/*
!alacritty/
# Include Flameshot Dir
!flameshot/**/*
!flameshot/
# Include Cava Dir
!cava/**/*
!cava/
# Include Rofi Dir
!rofi/**/*
!rofi/
# Include Dunst Dir
!dunst/**/*
!dunst/

168
Readme.md Normal file
View file

@ -0,0 +1,168 @@
## Rice Bowl
I've created a Dir under .config called Rice Bowl which is something like the Rice Controller / Master
## Install Dependencies
### Fedora
```
sudo dnf install i3 zsh alacritty polybar rofi picom htop neofetch cava wmctrl
```
## Software Used
### Base
- Shell: ZSH
- Terminal: Alacritty
- Display Manager:
- Window Manager: I3
- Compositor: Picom
- Program Launcher: Rofi
- Panel: Polybar
- Notification Server: Dunst
- Audio Server: Pipewire
### Progress
- [x] Alacritty
- [x] i3
- [x] feh
- [x] dunst
- [x] picom
- [x] polybar
- [x] rofi
- [x] cava
- [x] flameshot
### CLI
- System Monitor: HTop
- Music Visualizer: Cava
- Image Viewer: Feh
- Fetch: Neofetch
### GUI
## Dir
### Tree
```
".config/"
|__"rice-bowl/"
| |__"demon.sh"
| |__"config.sh"
| |
| |__"config/"
| | |__"paths.sh"
| | |__"fonts.sh"
| | |__"styling.sh"
| |
| |__"scripts/"
| | |__"generate_config.sh"
| | |
| | |__"generators/"
| | |__"generate_<generator>_config.sh"
| |
| |__"themes/"
| |__"<theme>.sh"
|
|__"rofi/"
| |__"scripts/"
| | |__"<script-name>/"
| | |__"<script-name>.sh"
| | |__"<script-name>.rasi"
| |
| |__"themes/"
| |__"<theme-name>.rasi"
|
|__"i3/"
| |__"config"
| |
| |__"conf/"
| | |__"colors.conf"
| | |__"fonts.conf"
| | |__"bindings.conf"
| | |__"apps.conf"
| | |__"apps2.conf"
| | |__"workspaces.conf"
| | |__"styling.conf"
| | |__"styling1.conf
| | |__"rules.conf"
| |
| |__"scripts"
| |__"polybar.sh"
| |__"<script-name>.sh"
|
|__"picom/"
| |__"picom.conf"
|
|__"dunst/"
| |__"dunstrc"
| |
| |__"dunstrc.d"
| |__"00-colors.conf"
| |__"10-fonts.conf"
| |__"50-bindings.conf"
| |__"80-styling.conf"
|
|__"polybar/"
| |__"launch.sh"
| |__"config.ini"
| |
| |__"config/"
| | |__"colors.ini"
| | |__"fonts.ini"
| | |__"styling.ini"
| |
| |__"modules/"
| | |__"<module-name>/"
| | |__"<module-name>.ini"
| | |__"?<module-name>.sh"
| | |
| | |__"?config/"
| | |__"<module-name>.conf"
| |
| |__"bars/"
| |__"<bar-name>.ini"
|
|__"alacritty/"
| |__"alacritty.yml"
| |
| |__"config/"
| |__"colors.yml"
| |__"fonts.yml"
| |__"styling.yml"
```
### Files
#### rice-bowl/config/paths.txt
```
config-dir =
images-dir =
wallpaper-dir =
screenshot-dir =
```
## Themeing Engines
- GTK
- gtkrc
- gtk 2
- gtk 3
- gtk 4
### Important Envoirment Variables
- GTK_RC_FILES
- GTK2_RC_FILES
### Tools
*All of these are their names under fedora*
- qt5 - qt5ct
- qt4 - qtconfig-qt4 (provided by qtconfig)
- gtk - lxappearance

7
alacritty/alacritty.yml Normal file
View file

@ -0,0 +1,7 @@
# This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into /home/snoweuph/.config/rice-bowl
#Import Config
import:
- /home/snoweuph/.config/alacritty/config/colors.nogit.yml
- /home/snoweuph/.config/alacritty/config/fonts.nogit.yml
- /home/snoweuph/.config/alacritty/config/styling.nogit.yml

1
alacritty/config/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
*.nogit.yml

46
awesome/bindings.lua Normal file
View file

@ -0,0 +1,46 @@
local gears = require("gears")
local awful = require("awful")
clientkeys = gears.table.join(
awful.key({ modkey, }, "f",
function (c)
c.fullscreen = not c.fullscreen
c:raise()
end,
{description = "toggle fullscreen", group = "client"}),
awful.key({ modkey, "Shift" }, "q", function (c) c:kill() end,
{description = "close", group = "client"}),
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ,
{description = "toggle floating", group = "client"}),
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end,
{description = "move to master", group = "client"}),
awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
{description = "move to screen", group = "client"}),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end,
{description = "toggle keep on top", group = "client"}),
awful.key({ modkey, }, "n",
function (c)
-- The client currently has the input focus, so it cannot be
-- minimized, since minimized clients can't have the focus.
c.minimized = true
end ,
{description = "minimize", group = "client"}),
awful.key({ modkey, }, "m",
function (c)
c.maximized = not c.maximized
c:raise()
end ,
{description = "(un)maximize", group = "client"}),
awful.key({ modkey, "Control" }, "m",
function (c)
c.maximized_vertical = not c.maximized_vertical
c:raise()
end ,
{description = "(un)maximize vertically", group = "client"}),
awful.key({ modkey, "Shift" }, "m",
function (c)
c.maximized_horizontal = not c.maximized_horizontal
c:raise()
end ,
{description = "(un)maximize horizontally", group = "client"})
)

View file

@ -0,0 +1,31 @@
-- Require Libs
local gears = require("gears")
local awful = require("awful")
-- List of All Layouts
--[[
awful.layout.suit.floating
awful.layout.suit.tile
awful.layout.suit.tile.left
awful.layout.suit.tile.bottom
awful.layout.suit.tile.top
awful.layout.suit.fair
awful.layout.suit.fair.horizontal
awful.layout.suit.spiral
awful.layout.suit.spiral.dwindle
awful.layout.suit.max
awful.layout.suit.max.fullscreen
awful.layout.suit.magnifier
awful.layout.suit.corner.nw
awful.layout.suit.corner.ne
awful.layout.suit.corner.sw
awful.layout.suit.corner.se
]]--
-- Table of layouts to Use, Order Matters
awful.layout.layouts = {
awful.layout.suit.tile,
awful.layout.suit.floating,
awful.layout.suit.spiral,
awful.layout.suit.max.fullscreen,
}

33
awesome/rc.lua Normal file
View file

@ -0,0 +1,33 @@
-- This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into /home/snoweuph/.config/rice-bowl
-- Check if Lua Roocks, aka Import lib is installed
pcall(require, "luarocks.loader")
-- Require Libs
local naughty = require("naughty")
-- Check For Errors, fallback if found any
if awesome.startup_errors then
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, there were errors during startup!",
text = awesome.startup_errors })
end
do
local in_error = false
awesome.connect_signal("debug::error", function (err)
-- Make sure we don't go into an endless error loop
if in_error then return end
in_error = true
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, an error happened!",
text = tostring(err) })
in_error = false
end)
end
-- Import Themp Lua File
dofile ("/home/snoweuph/.config/awesome/themp.lua")

472
awesome/themp.lua Normal file
View file

@ -0,0 +1,472 @@
-- Standard awesome library
local gears = require("gears")
local awful = require("awful")
require("awful.autofocus")
-- Widget and layout library
local wibox = require("wibox")
-- Theme handling library
local beautiful = require("beautiful")
-- Notification library
local naughty = require("naughty")
local menubar = require("menubar")
local hotkeys_popup = require("awful.hotkeys_popup")
-- Enable hotkeys help widget for VIM and other apps
-- when client with a matching name is opened:
require("awful.hotkeys_popup.keys")
-- {{{ Variable definitions
-- Themes define colours, icons, font and wallpapers.
beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")
-- This is used later as the default terminal and editor to run.
terminal = "alacritty"
editor = os.getenv("EDITOR") or "nano"
editor_cmd = terminal .. " -e " .. editor
-- Default modkey.
-- Usually, Mod4 is the key with a logo between Control and Alt.
-- If you do not like this or do not have such a key,
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
-- However, you can use another modifier like Mod1, but it may interact with others.
modkey = "Mod4"
dofile ("/home/snoweuph/.config/awesome/config/layouts.lua")
-- {{{ Menu
-- Create a launcher widget and a main menu
myawesomemenu = {
{ "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
{ "manual", terminal .. " -e man awesome" },
{ "edit config", editor_cmd .. " " .. awesome.conffile },
{ "restart", awesome.restart },
{ "quit", function() awesome.quit() end },
}
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
{ "open terminal", terminal }
}
})
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
menu = mymainmenu })
-- Menubar configuration
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
-- }}}
-- Keyboard map indicator and switcher
mykeyboardlayout = awful.widget.keyboardlayout()
-- {{{ Wibar
-- Create a textclock widget
mytextclock = wibox.widget.textclock()
-- Create a wibox for each screen and add it
local taglist_buttons = gears.table.join(
awful.button({ }, 1, function(t) t:view_only() end),
awful.button({ modkey }, 1, function(t)
if client.focus then
client.focus:move_to_tag(t)
end
end),
awful.button({ }, 3, awful.tag.viewtoggle),
awful.button({ modkey }, 3, function(t)
if client.focus then
client.focus:toggle_tag(t)
end
end),
awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end),
awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end)
)
local tasklist_buttons = gears.table.join(
awful.button({ }, 1, function (c)
if c == client.focus then
c.minimized = true
else
c:emit_signal(
"request::activate",
"tasklist",
{raise = true}
)
end
end),
awful.button({ }, 3, function()
awful.menu.client_list({ theme = { width = 250 } })
end),
awful.button({ }, 4, function ()
awful.client.focus.byidx(1)
end),
awful.button({ }, 5, function ()
awful.client.focus.byidx(-1)
end))
local function set_wallpaper(s)
-- Wallpaper
if beautiful.wallpaper then
local wallpaper = beautiful.wallpaper
-- If wallpaper is a function, call it with the screen
if type(wallpaper) == "function" then
wallpaper = wallpaper(s)
end
gears.wallpaper.maximized(wallpaper, s, true)
end
end
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
screen.connect_signal("property::geometry", set_wallpaper)
awful.screen.connect_for_each_screen(function(s)
-- Wallpaper
set_wallpaper(s)
-- Each screen has its own tag table.
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
-- Create a promptbox for each screen
s.mypromptbox = awful.widget.prompt()
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
-- We need one layoutbox per screen.
s.mylayoutbox = awful.widget.layoutbox(s)
s.mylayoutbox:buttons(gears.table.join(
awful.button({ }, 1, function () awful.layout.inc( 1) end),
awful.button({ }, 3, function () awful.layout.inc(-1) end),
awful.button({ }, 4, function () awful.layout.inc( 1) end),
awful.button({ }, 5, function () awful.layout.inc(-1) end)))
-- Create a taglist widget
s.mytaglist = awful.widget.taglist {
screen = s,
filter = awful.widget.taglist.filter.all,
buttons = taglist_buttons
}
-- Create a tasklist widget
s.mytasklist = awful.widget.tasklist {
screen = s,
filter = awful.widget.tasklist.filter.currenttags,
buttons = tasklist_buttons
}
-- Create the wibox
s.mywibox = awful.wibar({ position = "top", screen = s })
-- Add widgets to the wibox
s.mywibox:setup {
layout = wibox.layout.align.horizontal,
{ -- Left widgets
layout = wibox.layout.fixed.horizontal,
mylauncher,
s.mytaglist,
s.mypromptbox,
},
s.mytasklist, -- Middle widget
{ -- Right widgets
layout = wibox.layout.fixed.horizontal,
mykeyboardlayout,
wibox.widget.systray(),
mytextclock,
s.mylayoutbox,
},
}
end)
-- }}}
-- {{{ Mouse bindings
root.buttons(gears.table.join(
awful.button({ }, 3, function () mymainmenu:toggle() end),
awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev)
))
-- }}}
-- {{{ Key bindings
globalkeys = gears.table.join(
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
{description="show help", group="awesome"}),
awful.key({ modkey, }, "Left", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
awful.key({ modkey, }, "Right", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ modkey, }, "Escape", awful.tag.history.restore,
{description = "go back", group = "tag"}),
awful.key({ modkey, }, "j",
function ()
awful.client.focus.byidx( 1)
end,
{description = "focus next by index", group = "client"}
),
awful.key({ modkey, }, "k",
function ()
awful.client.focus.byidx(-1)
end,
{description = "focus previous by index", group = "client"}
),
awful.key({ modkey, }, "w", function () mymainmenu:show() end,
{description = "show main menu", group = "awesome"}),
-- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
{description = "swap with next client by index", group = "client"}),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
{description = "swap with previous client by index", group = "client"}),
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end,
{description = "focus the next screen", group = "screen"}),
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end,
{description = "focus the previous screen", group = "screen"}),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
{description = "jump to urgent client", group = "client"}),
awful.key({ modkey, }, "Tab",
function ()
awful.client.focus.history.previous()
if client.focus then
client.focus:raise()
end
end,
{description = "go back", group = "client"}),
-- Standard program
awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end,
{description = "open a terminal", group = "launcher"}),
awful.key({ modkey, "Control" }, "r", awesome.restart,
{description = "reload awesome", group = "awesome"}),
awful.key({ modkey, "Shift" }, "e", awesome.quit,
{description = "quit awesome", group = "awesome"}),
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end,
{description = "increase master width factor", group = "layout"}),
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end,
{description = "decrease master width factor", group = "layout"}),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
{description = "increase the number of master clients", group = "layout"}),
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
{description = "decrease the number of master clients", group = "layout"}),
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
{description = "increase the number of columns", group = "layout"}),
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
{description = "decrease the number of columns", group = "layout"}),
awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end,
{description = "select next", group = "layout"}),
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end,
{description = "select previous", group = "layout"}),
awful.key({ modkey, "Control" }, "n",
function ()
local c = awful.client.restore()
-- Focus restored client
if c then
c:emit_signal(
"request::activate", "key.unminimize", {raise = true}
)
end
end,
{description = "restore minimized", group = "client"}),
-- Prompt
awful.key({ modkey }, "d", function () awful.spawn.with_shell("rofi -show drun") end,
{description = "run prompt", group = "launcher"}),
awful.key({ modkey }, "x",
function ()
awful.prompt.run {
prompt = "Run Lua code: ",
textbox = awful.screen.focused().mypromptbox.widget,
exe_callback = awful.util.eval,
history_path = awful.util.get_cache_dir() .. "/history_eval"
}
end,
{description = "lua execute prompt", group = "awesome"})
)
dofile ("/home/snoweuph/.config/awesome/bindings.lua")
-- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it work on any keyboard layout.
-- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, 9 do
globalkeys = gears.table.join(globalkeys,
-- View tag only.
awful.key({ modkey }, "#" .. i + 9,
function ()
local screen = awful.screen.focused()
local tag = screen.tags[i]
if tag then
tag:view_only()
end
end,
{description = "view tag #"..i, group = "tag"}),
-- Toggle tag display.
awful.key({ modkey, "Control" }, "#" .. i + 9,
function ()
local screen = awful.screen.focused()
local tag = screen.tags[i]
if tag then
awful.tag.viewtoggle(tag)
end
end,
{description = "toggle tag #" .. i, group = "tag"}),
-- Move client to tag.
awful.key({ modkey, "Shift" }, "#" .. i + 9,
function ()
if client.focus then
local tag = client.focus.screen.tags[i]
if tag then
client.focus:move_to_tag(tag)
end
end
end,
{description = "move focused client to tag #"..i, group = "tag"}),
-- Toggle tag on focused client.
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
function ()
if client.focus then
local tag = client.focus.screen.tags[i]
if tag then
client.focus:toggle_tag(tag)
end
end
end,
{description = "toggle focused client on tag #" .. i, group = "tag"})
)
end
clientbuttons = gears.table.join(
awful.button({ }, 1, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
end),
awful.button({ modkey }, 1, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
awful.mouse.client.move(c)
end),
awful.button({ modkey }, 3, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
awful.mouse.client.resize(c)
end)
)
-- Set keys
root.keys(globalkeys)
-- }}}
-- {{{ Rules
-- Rules to apply to new clients (through the "manage" signal).
awful.rules.rules = {
-- All clients will match this rule.
{ rule = { },
properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal,
focus = awful.client.focus.filter,
raise = true,
keys = clientkeys,
buttons = clientbuttons,
screen = awful.screen.preferred,
placement = awful.placement.no_overlap+awful.placement.no_offscreen
}
},
-- Floating clients.
{ rule_any = {
instance = {
"DTA", -- Firefox addon DownThemAll.
"copyq", -- Includes session name in class.
"pinentry",
},
class = {
"Arandr",
"Blueman-manager",
"Gpick",
"Kruler",
"MessageWin", -- kalarm.
"Sxiv",
"Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
"Wpa_gui",
"veromix",
"xtightvncviewer"},
-- Note that the name property shown in xprop might be set slightly after creation of the client
-- and the name shown there might not match defined rules here.
name = {
"Event Tester", -- xev.
},
role = {
"AlarmWindow", -- Thunderbird's calendar.
"ConfigManager", -- Thunderbird's about:config.
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
}
}, properties = { floating = true }},
-- Add titlebars to normal clients and dialogs
{ rule_any = {type = { "normal", "dialog" }
}, properties = { titlebars_enabled = true }
},
-- Set Firefox to always map on the tag named "2" on screen 1.
-- { rule = { class = "Firefox" },
-- properties = { screen = 1, tag = "2" } },
}
-- }}}
-- {{{ Signals
-- Signal function to execute when a new client appears.
client.connect_signal("manage", function (c)
-- Set the windows at the slave,
-- i.e. put it at the end of others instead of setting it master.
-- if not awesome.startup then awful.client.setslave(c) end
if awesome.startup
and not c.size_hints.user_position
and not c.size_hints.program_position then
-- Prevent clients from being unreachable after screen count changes.
awful.placement.no_offscreen(c)
end
end)
-- Add a titlebar if titlebars_enabled is set to true in the rules.
client.connect_signal("request::titlebars", function(c)
-- buttons for the titlebar
local buttons = gears.table.join(
awful.button({ }, 1, function()
c:emit_signal("request::activate", "titlebar", {raise = true})
awful.mouse.client.move(c)
end),
awful.button({ }, 3, function()
c:emit_signal("request::activate", "titlebar", {raise = true})
awful.mouse.client.resize(c)
end)
)
awful.titlebar(c) : setup {
{ -- Left
awful.titlebar.widget.iconwidget(c),
buttons = buttons,
layout = wibox.layout.fixed.horizontal
},
{ -- Middle
{ -- Title
align = "center",
widget = awful.titlebar.widget.titlewidget(c)
},
buttons = buttons,
layout = wibox.layout.flex.horizontal
},
{ -- Right
awful.titlebar.widget.floatingbutton (c),
awful.titlebar.widget.maximizedbutton(c),
awful.titlebar.widget.stickybutton (c),
awful.titlebar.widget.ontopbutton (c),
awful.titlebar.widget.closebutton (c),
layout = wibox.layout.fixed.horizontal()
},
layout = wibox.layout.align.horizontal
}
end)
-- Enable sloppy focus, so that focus follows mouse.
client.connect_signal("mouse::enter", function(c)
c:emit_signal("request::activate", "mouse_enter", {raise = false})
end)
client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
-- }}}

16
cava/config Normal file
View file

@ -0,0 +1,16 @@
# This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into /home/snoweuph/.config/rice-bowl
[output]
method = ncurses
[color]
gradient = 1
gradient_count = 8
gradient_color_1 = '#5e81ac'
gradient_color_2 = '#7db0d1'
gradient_color_3 = '#7ebdbc'
gradient_color_4 = '#80bf83'
gradient_color_5 = '#adbf7c'
gradient_color_6 = '#ebcb8b'
gradient_color_7 = '#d08770'
gradient_color_8 = '#bf616a'

69
dunst/dunstrc Normal file
View file

@ -0,0 +1,69 @@
# See dunst(5) for all configuration options
[global]
### Display ###
monitor = 0
follow = none
origin = top-right
scale = 0
notification_limit = 5
### Progress bar ###
progress_bar = true
progress_bar_height = 10
progress_bar_frame_width = 1
progress_bar_min_width = 150
progress_bar_max_width = 300
indicate_hidden = yes
transparency = 0
separator_height = 2
padding = 8
horizontal_padding = 8
text_icon_padding = 0
separator_color = frame
sort = yes
line_height = 0
markup = full
format = "<b>%s</b>\n%b"
alignment = left
vertical_alignment = center
show_age_threshold = 60
ellipsize = middle
ignore_newline = no
stack_duplicates = true
hide_duplicate_count = false
show_indicators = yes
### Icons ###
enable_recursive_icon_lookup = true
icon_theme = Adwaita
icon_position = left
min_icon_size = 32
max_icon_size = 128
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
### History ###
sticky_history = yes
history_length = 20
### Misc/Advanced ###
dmenu = /usr/bin/dmenu -p dunst:
browser = /usr/bin/xdg-open
always_run_script = true
title = Dunst
class = Dunst
ignore_dbusclose = false
### mouse
mouse_left_click = close_current
mouse_middle_click = do_action, close_current
mouse_right_click = close_all
[urgency_low]
timeout = 10
[urgency_normal]
timeout = 10
[urgency_critical]
timeout = 0

1
dunst/dunstrc.d/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
*.nogit.conf

11
flameshot/flameshot.ini Normal file
View file

@ -0,0 +1,11 @@
# This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into /home/snoweuph/.config/rice-bowl
[General]
uiColor=#937db5
contrastUiColor=#5e81ac
drawColor=#7db0d1
userColors=picker, #7db0d1, #5e81ac, #937db5
disabledTrayIcon=true

View file

@ -0,0 +1,6 @@
[General]
contrastOpacity=204
contrastUiColor=#5e81ac
disabledTrayIcon=truedrawColor=#81a1c1
uiColor=#88c0d0
userColors=picker, #2e3440, #bf616a, #b48ead

1
i3/conf/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
*.nogit.conf

28
i3/conf/apps.conf Normal file
View file

@ -0,0 +1,28 @@
##########################
# Configure Apps #
##########################
# Include Generated Version
include ./apps.nogit.conf
# Make Volume Function Keys Work
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status # Increase Volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status # Decrease Volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status # Mute Speaker
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status # Mute Mic
bindsym $mod+Return exec alacritty # open a Terminal
bindsym $mod+d exec --no-startup-id rofi -show drun # open Rofi
bindsym $mod+b exec --no-startup-id firefox # open a Browser
# Set Lockscreen for Suspending
exec --no-startup-id xss-lock --transfer-sleep-lock --i3lock --nofork
# KDE Connect
exec --no-startup-id kdeconnect-indicator
# Pulsemeeter
exec --no-startup-id pulsemeeter

23
i3/conf/apps.conf.save Normal file
View file

@ -0,0 +1,23 @@
##########################
# Configure Apps #
##########################
# Include Generated Version
include ./apps.nogit.conf
# Make Volume Function Keys Work
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status # Increase Volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status # Decrease Volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status # Mute Speaker
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status # Mute Mic
# Set Lockscreen for Suspending
exec --no-startup-id xss-lock --transfer-sleep-lock --i3lock --nofork
#KDE Connect
exec --no-startup-id kdeconnect-indicator

65
i3/conf/bindings.conf Normal file
View file

@ -0,0 +1,65 @@
##########################
# Configure Key Bindings #
##########################
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# change focus
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacked
bindsym $mod+t layout tabbed
bindsym $mod+w layout toggle split
# Set Split Mode
bindsym $mod+h split h
bindsym $mod+v split v
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# resize window (you can also use the mouse for that)
bindsym $mod+r mode "resize"
mode "resize" {
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym Left resize shrink width 5 px or 5ppt
bindsym Down resize shrink height 5 px or 5 ppt
bindsym Up resize grow height 5 px or 5 ppt
bindsym Right resize grow width 5 px or 5 ppt
# back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# kill focused window
bindsym $mod+Shift+q kill

23
i3/conf/rules.conf Normal file
View file

@ -0,0 +1,23 @@
##########################
# Configure Rules #
##########################
# Firefox
assign [class="(?i)Firefox"] 1
# Coding Related Windows
assign [class="(?i)Godot"] 3
assign [class="(?i)Code - OSS"] 3
assign [class="(?i)Gittyup"] 4
# Gaming Related Windows
assign [class="(?i)Heroic"] 5
assign [class="(?i)Steam"] 5
# Discord
assign [class="(?i)Discord"] 6
# Pulsemeeter
assign [class="(?i)Pulsemeeter"] 10

52
i3/conf/workspaces.conf Normal file
View file

@ -0,0 +1,52 @@
##########################
# Configure Workspaces #
##########################
# Set Monitor Variables (get list with xrandr --listmonitors)
set $monitor1 "DisplayPort-0"
set $monitor2 "DisplayPort-1"
set $monitor3 "DVI-D-0"
# Set Base Variables
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# Bind Workspaces to Screens
workspace $ws1 output $monitor1
workspace $ws2 output $monitor1
workspace $ws3 output $monitor2
workspace $ws4 output $monitor2
workspace $ws5 output $monitor3
workspace $ws6 output $monitor3
# switch to workspace
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10

25
i3/config Normal file
View file

@ -0,0 +1,25 @@
#############################################################################
# i3 config file (v4) #
# Please see https://i3wm.org/docs/userguide.html for a complete reference! #
#############################################################################
# Set Mod Key
set $mod Mod4
##########################
# Include Files #
##########################
# Bindings
include ./conf/bindings.conf
# Workspaces
include ./conf/workspaces.conf
# Styling
include ./conf/styling.nogit.conf
# Fonts
include ./conf/fonts.nogit.conf
# Applications
include ./conf/apps.conf
# Application Rules
include ./conf/rules.conf

1
picom/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
*.nogit.conf

35
picom/picom.conf Normal file
View file

@ -0,0 +1,35 @@
#################################
# Base #
#################################
use-damage = true;
backend= "glx";
#################################
# Shadows #
#################################
shadow = false;
shadow-radius = 7;
shadow-offset-x = -7;
shadow-offset-y = -7;
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
#################################
# Fading #
#################################
fading = true;
fade-in-step = 0.1;
fade-out-step = 0.1;
#################################
# Transparency / Opacity #
#################################
inactive-opacity-override = false;
focus-exclude = [ "class_g = 'Cairo-clock'" ];

1
polybar/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
**.nogit.ini

13
polybar/bars/main.ini Normal file
View file

@ -0,0 +1,13 @@
[bar/main]
inherit = base/bar
modules-left = cpm space-invert sep-b
modules-center = xworkspaces
modules-right = pulseaudio space sep-a space-invert dunst-snooze space-invert sep-b space time space sep-a date space-invert
tray-position = left
tray-detached = true
tray-scale = 0.9
tray-offset-x = 130
tray-offset-y = 3

View file

10
polybar/config.ini Normal file
View file

@ -0,0 +1,10 @@
include-file = ~/.config/polybar/config.d/colors.nogit.ini
include-file = ~/.config/polybar/config.d/fonts.nogit.ini
include-file = ~/.config/polybar/config.d/exec.nogit.ini
include-file = ~/.config/polybar/config.d/style.nogit.ini
include-file = ~/.config/polybar/settings.nogit.ini
include-directory = ~/.config/polybar/modules
include-directory = ~/.config/polybar/bars

7
polybar/modules/cava.ini Normal file
View file

@ -0,0 +1,7 @@
[module/cava]
type = custom/script
tail = true
exec = "${exec.cava}"
format = <label>
label-font = 3
label = "%output%"

10
polybar/modules/cpm.ini Normal file
View file

@ -0,0 +1,10 @@
[module/cpm]
type = custom/script
exec = ~/.config/polybar/scripts/cpm.sh
tail = true
label = " %output%"
label-font = 3
label-background = ${colors.primary-accent}
label-foreground = ${colors.primary-background}

11
polybar/modules/date.ini Normal file
View file

@ -0,0 +1,11 @@
[module/date]
type = internal/date
interval = 1
date = %d.%m
label-font = 3
label = "%date%"
label-background = ${colors.primary-accent}
label-foreground = ${colors.primary-background}

View file

@ -0,0 +1,9 @@
[module/dunst-snooze]
type = custom/script
exec = "${exec.dunst-snooze}"
tail = true
click-left = ~/.config/polybar/scripts/dunst-snooze.sh --toggle &
label = "%output%"
label-background = ${colors.primary-accent}
label-foreground = ${colors.primary-background}

View file

@ -0,0 +1,18 @@
[module/pulseaudio]
type = internal/pulseaudio
format-volume-prefix = " "
format-volume-prefix-background = ${colors.primary-background }
format-volume-prefix-foreground = ${colors.primary-accent}
format-volume = <label-volume>
label-volume = "%percentage%"
label-volume-background = ${colors.primary-background }
label-volume-foreground = ${colors.primary-accent}
label-muted = " 婢 "
label-muted-foreground = ${colors.alert}
label-muted-background = ${colors.primary-background }
interval = 5
click-right = pavucontrol

View file

@ -0,0 +1,12 @@
[module/sep-a]
type = custom/text
content =
content-foreground = ${colors.primary-accent}
content-background = ${colors.primary-background}
content-font = 2
[module/sep-b]
type = custom/text
content =
content-foreground = ${colors.primary-accent}
content-background = ${colors.primarybackground}
content-font = 2

View file

@ -0,0 +1,9 @@
[module/space]
type = custom/text
content = ""
content-padding = 3pt
[module/space-invert]
type = custom/text
content = ""
content-background = ${colors.primary-accent}
content-padding = 3pt

11
polybar/modules/time.ini Normal file
View file

@ -0,0 +1,11 @@
[module/time]
type = internal/date
interval = 1
date = %H:%M
label-font = 3
label = " %date%"
label-foreground = ${colors.primary-accent}
label-background = ${colors.primary-background}

View file

@ -0,0 +1,4 @@
[module/xwindow]
type = internal/xwindow
label = %title:0:60:...%
format-foreground = ${colors.primary-accent}

View file

@ -0,0 +1,46 @@
[module/xworkspaces]
type = internal/xworkspaces
#Icons
#  Consoles
# ﭮ Discord
#  Firefox
#  Music
#  Code
#  Steam
#  Files
icon-default = ""
icon-0 = "1;"
icon-1 = "2;"
icon-2 = "3;"
icon-3 = "4;"
icon-4 = "5;"
icon-5 = "6;ﭮ"
icon-9 = "10;"
icon-6 = "7"
icon-7 = "8"
icon-8 = "9"
label-active = "%icon%"
label-active-background = ${colors.primary-accent}
label-active-foreground = ${colors.primary-background}
label-active-underline = ${colors.primary-accent}
label-active-padding = 0
label-active-font = 2
label-occupied = %icon%
label-occupied-padding = 1
label-occupied-font = 2
label-urgent = %icon%
label-urgent-foreground = ${colors.warn}
label-urgent-padding = 1
label-urgent-font = 2
label-empty = %icon%
label-empty-padding = 1
label-empty-font = 2

65
polybar/scripts/cava.sh Executable file
View file

@ -0,0 +1,65 @@
#!/bin/bash
#bar="▁▂▃▄▅▆▇█"
# make sure to clean pipe
pipe="/tmp/cava.fifo"
if [ -p $pipe ]; then
unlink $pipe
fi
mkfifo $pipe
# write cava config
config_file="/tmp/polybar_cava_config"
echo "
[general]
bars = 9
[output]
method = raw
raw_target = $pipe
data_format = ascii
ascii_max_range = 7
" > $config_file
# run cava in the background
cava -p $config_file &
#bar="▁▂▃▄▅▆▇█"
# reading data from fifo
while read -r cmd; do
i=0
output=""
while [ $i -lt $((${#cmd}/2)) ]
do
number="${cmd:$i*2:1}"
i=$((i=i+1))
case "$number" in
0)
output="$output$(echo "%{F$1}▁")"
;;
1)
output="$output$(echo "%{F$2}▂")"
;;
2)
output="$output$(echo "%{F$3}▃")"
;;
3)
output="$output$(echo "%{F$4}▄")"
;;
4)
output="$output$(echo "%{F$5}▅")"
;;
5)
output="$output$(echo "%{F$6}▆")"
;;
6)
output="$output$(echo "%{F$7}▇")"
;;
7)
output="$output$(echo "%{F$8}█")"
esac
done
echo $output
done < $pipe

64
polybar/scripts/cpm.sh Executable file
View file

@ -0,0 +1,64 @@
#!/bin/sh
# shellcheck disable=SC2016,SC2059
KEYBOARD_ID="Cooler Master Technology Inc. SK650"
# cpm: characters per minute
# wpm: words per minute (1 word = 5 characters)
METRIC=cpm
FORMAT=" %d$METRIC"
INTERVAL=2,5
# If you have a keyboard layout that is not listed here yet, create a condition
# yourself. $3 is the key index. Use `xinput test "AT Translated Set 2 keyboard"`
# to see key codes in real time. Be sure to open a pull request for your
# layout's condition!
LAYOUT=qwerty
case "$LAYOUT" in
qwerty) CONDITION='($3 >= 10 && $3 <= 19) || ($3 >= 24 && $3 <= 33) || ($3 >= 37 && $3 <= 53) || ($3 >= 52 && $3 <= 58)'; ;;
azerty) CONDITION='($3 >= 10 && $3 <= 19) || ($3 >= 24 && $3 <= 33) || ($3 >= 37 && $3 <= 54) || ($3 >= 52 && $3 <= 57)'; ;;
qwertz) CONDITION='($3 >= 10 && $3 <= 20) || ($3 >= 24 && $3 <= 34) || ($3 == 36) || ($3 >= 38 && $3 <= 48) || ($3 >= 52 && $3 <= 58)'; ;;
dvorak) CONDITION='($3 >= 10 && $3 <= 19) || ($3 >= 27 && $3 <= 33) || ($3 >= 38 && $3 <= 47) || ($3 >= 53 && $3 <= 61)'; ;;
dontcare) CONDITION='1'; ;; # Just register all key presses, not only letters and numbers
*) echo "Unsupported layout \"$LAYOUT\""; exit 1; ;;
esac
# We have to account for the fact we're not listening a whole minute
multiply_by=60
divide_by=$INTERVAL
case "$METRIC" in
wpm) divide_by=$((divide_by * 5)); ;;
cpm) ;;
*) echo "Unsupported metric \"$METRIC\""; exit 1; ;;
esac
hackspeed_cache="$(mktemp -p '' hackspeed_cache.XXXXX)"
trap 'rm "$hackspeed_cache"' EXIT
# Write a dot to our cache for each key press
printf '' > "$hackspeed_cache"
xinput test "$KEYBOARD_ID" | \
stdbuf -o0 awk '$1 == "key" && $2 == "press" && ('"$CONDITION"') {printf "."}' >> "$hackspeed_cache" &
while true; do
# Ask the kernel how big the file is with the command `stat`. The number we
# get is the file size in bytes, which equals the amount of dots the file
# contains, and hence how much keys were pressed since the file was last
# cleared.
lines=$(stat --format %s "$hackspeed_cache")
# Truncate the cache file so that in the next iteration, we count only new
# keypresses
printf '' > "$hackspeed_cache"
# The shell only does integer operations, so make sure to first multiply and
# then divide
value=$((lines * multiply_by / divide_by))
printf "$FORMAT\\n" "$value"
sleep $INTERVAL
done

14
polybar/scripts/dunst-snooze.sh Executable file
View file

@ -0,0 +1,14 @@
#!/bin/sh
case "$1" in
--toggle)
dunstctl set-paused toggle
;;
*)
if [ "$(dunstctl is-paused)" = "true" ]; then
echo "%{F$2} $(dunstctl count waiting)"
else
echo "%{F$1} $(dunstctl count displayed)"
fi
;;
esac

6
polybar/scripts/launch.sh Executable file
View file

@ -0,0 +1,6 @@
#!/bin/bash
killall -q polybar
echo "---" | tee -a /tmp/polybar1.log /tmp/polybar2.log
polybar main 2>&1 | tee -a /tmp/polybar1.log & disown

9
rice-bowl/config.sh Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
SH_DIR_config=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
RICE_GENERATED_HEADER="This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into $SH_DIR_config"
source $SH_DIR_config/config/paths.sh
source $SH_DIR_config/config/fonts.sh
source $SH_DIR_config/config/styling.sh

13
rice-bowl/config/fonts.sh Executable file
View file

@ -0,0 +1,13 @@
#!/bin/bash
RICE_FONT_NORMAL="Hack Nerd Font"
RICE_FONT_MONO="Hack Nerd Font Mono"
RICE_FONT_ICONS="Hack Nerd Font Mono"
RICE_FONT_SIZE_SMALL=14
RICE_FONT_SIZE_NORMAL=18
RICE_FONT_SIZE_BIG=26
RICE_FONT_SIZE_ICONS_SMALL=22
RICE_FONT_SIZE_ICONS_NORMAL=28
RICE_FONT_SIZE_ICONS_BIG=64

9
rice-bowl/config/paths.sh Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
RICE_DIR_CONFIG=~/.config
RICE_DIR_RICE_BOWL=$RICE_DIR_CONFIG/rice-bowl
RICE_DIR_AUTORUN=~/.autorun
RICE_DIR_FONTS=/usr/share/fonts
RICE_DIR_IMAGES=~/Bilder
RICE_DIR_WALLPAPER=$RICE_DIR_IMAGES/Wallpaper
RICE_DIR_SCREENSHOTS=$RICE_DIR_IMAGES/Screenshots

18
rice-bowl/config/styling.sh Executable file
View file

@ -0,0 +1,18 @@
#!/bin/bash
RICE_THEME=nord
RICE_PADDING=4
RICE_GAPS=8
RICE_DPI=96
RICE_ELEMENT_HEIGHT_SMALL=22
RICE_ELEMENT_HEIGHT_MEDIUM=$(($((RICE_ELEMENT_HEIGHT_SMALL*9))/2))
RICE_ELEMENT_HEIGHT_BIG=$(($((RICE_ELEMENT_HEIGHT_MEDIUM*9))/2))
RICE_BORDER_RADIUS=8
RICE_BORDER_THICKNESS=2
RICE_OPACITY_FLOAT="0.8"
RICE_INACTIVE_OPACITY_FLOAT="0.8"
ROCE_OPACITY_PERCENTAGE="80%"

0
rice-bowl/demon.sh Normal file
View file

View file

@ -0,0 +1,45 @@
The work in the Hack project is Copyright 2018 Source Foundry Authors and licensed under the MIT License
The work in the DejaVu project was committed to the public domain.
Bitstream Vera Sans Mono Copyright 2003 Bitstream Inc. and licensed under the Bitstream Vera License with Reserved Font Names "Bitstream" and "Vera"
### MIT License
Copyright (c) 2018 Source Foundry Authors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
### BITSTREAM VERA LICENSE
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions:
The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces.
The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Bitstream" or the word "Vera".
This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Bitstream Vera" names.
The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself.
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org.

View file

@ -0,0 +1,8 @@
# Nerd Fonts
This is an archived font from a Nerd Fonts release.
For more information see:
* https://github.com/ryanoasis/nerd-fonts/
* https://github.com/ryanoasis/nerd-fonts/releases/latest/

View file

@ -0,0 +1,181 @@
#!/bin/sh
## OS/ENVIRONMENT INFO DETECTION
ostype="$(uname)"
linuxtype=none
if command -v getprop > /dev/null; then
linuxtype=android
fi
kernel="$(echo $(uname -r) | cut -d'-' -f1-1)"
case $ostype in
"Linux"*)
if [ $linuxtype = android ]; then
host="$(hostname)"
USER=${USER:-$(id -un || printf %s "${HOME/*\/}")}
os="Android $(getprop ro.build.version.release)"
else
host="$(cat /proc/sys/kernel/hostname)"
. /etc/os-release
if [ -f /bedrock/etc/bedrock-release ]; then
os="$(brl version)"
else
os="${PRETTY_NAME}"
fi
fi
shell=${SHELL##*/};;
"Darwin"*)
host="$(hostname -f | sed -e 's/^[^.]*\.//')"
while IFS='<>' read -r _ _ line _; do
case $line in
ProductVersion)
IFS='<>' read -r _ _ mac_version _
break;;
esac
done < /System/Library/CoreServices/SystemVersion.plist
os="macOS ${mac_version}";;
*)
os="Idk"
host="host"
esac
## PACKAGE MANAGER AND PACKAGES DETECTION
manager=$(which nix-env pkg yum zypper dnf rpm apt brew port pacman xbps-query emerge cave apk kiss pmm /usr/sbin/slackpkg bulge yay paru pacstall cpm pmm eopkg 2>/dev/null)
manager=${manager##*/}
case $manager in
cpm) packages="$(cpm C)";;
brew) packages="$(printf '%s\n' "$(brew --cellar)/"* | wc -l | tr -d '[:space:]')";;
port) packages="$(port installed | wc -l)";;
apt) packages="$(dpkg-query -f '${binary:Package}\n' -W | wc -l)";;
#rpm) packages="$(rpm -qa --last| wc -l)";;
yum) packages="$(yum list installed | wc -l)";;
#dnf) packages="$(dnf list installed | wc -l)";;
zypper) packages="$(zypper se | wc -l)";;
pacman) packages="$(pacman -Q | wc -l)";;
yay) packages="$(yay -Q | wc -l)";;
paru) packages="$(paru -Q | wc -l)";;
pacstall) packages="$(pacstall -L | wc -l)";;
kiss) packages="$(kiss list | wc -l)";;
emerge) packages="$(qlist -I | wc -l)";;
pkg) packages="$(pkg info | wc -l | tr -d ' ')";;
cave) packages="$(cave show installed-slots | wc -l)";;
xbps-query) packages="$(xbps-query -l | wc -l)";;
nix-env) packages="$(nix-store -q --requisites /run/current-system/sw | wc -l)";;
apk) packages="$(apk list --installed | wc -l)";;
pmm) packages="$(/bedrock/libexec/pmm pacman pmm -Q 2>/dev/null | wc -l )";;
eopkg) packages="$(eopkg li | wc -l)";;
/usr/sbin/slackpkg) packages="$(ls /var/log/packages | wc -l)";;
bulge) packages="$(bulge list | wc -l)";;
*)
packages="$(ls /usr/bin | wc -l)"
manager="bin";;
esac
## UPTIME DETECTION
if [ $linuxtype = android ]; then
uptime="$(echo $(uptime -p) | cut -c 4-)"
else
case $ostype in
"Linux")
IFS=. read -r s _ < /proc/uptime;;
*)
s=$(sysctl -n kern.boottime)
s=${s#*=}
s=${s%,*}
s=$(($(date +%s) - s));;
esac
d="$((s / 60 / 60 / 24))"
h="$((s / 60 / 60 % 24))"
m="$((s / 60 % 60))"
# Plurals
[ "$d" -gt 1 ] && dp=s
[ "$h" -gt 1 ] && hp=s
[ "$m" -gt 1 ] && mp=s
[ "$s" -gt 1 ] && sp=s
# Hide empty fields.
[ "$d" = 0 ] && d=
[ "$h" = 0 ] && h=
[ "$m" = 0 ] && m=
[ "$m" != "" ] && s=
# Make the output of uptime smaller.
[ "$d" ] && uptime="$d day$dp, "
[ "$h" ] && uptime="$uptime$h hour$hp, "
[ "$m" ] && uptime="$uptime$m min$mp"
[ "$s" ] && uptime="$uptime$s sec$sp"
uptime=${uptime%, }
fi
## RAM DETECTION
case $ostype in
"Linux")
while IFS=':k ' read -r key val _; do
case $key in
MemTotal)
mem_used=$((mem_used + val))
mem_full=$val;;
Shmem) mem_used=$((mem_used + val));;
MemFree|Buffers|Cached|SReclaimable) mem_used=$((mem_used - val));;
esac
done < /proc/meminfo
mem_used=$((mem_used / 1024))
mem_full=$((mem_full / 1024));;
"Darwin"*)
mem_full=$(($(sysctl -n hw.memsize) / 1024 / 1024))
while IFS=:. read -r key val; do
case $key in
*' wired'*|*' active'*|*' occupied'*)
mem_used=$((mem_used + ${val:-0}));;
esac
done <<-EOF
$(vm_stat)
EOF
mem_used=$((mem_used * 4 / 1024));;
*)
mem_full="idk"
mem_used="idk"
esac
memstat="${mem_used}/${mem_full} MB"
if which expr > /dev/null 2>&1; then
mempercent="($(expr $(expr ${mem_used} \* 100 / ${mem_full} ))%)"
fi
## DEFINE COLORS
bold=''
black=''
red=''
green=''
yellow=''
blue=''
magenta=''
cyan=''
white=''
grey=''
reset=''
## USER VARIABLES -- YOU CAN CHANGE THESE
lc="${reset}${bold}${magenta}" # labels
nc="${reset}${bold}${yellow}" # user
hn="${reset}${bold}${blue}" # hostname
ic="${reset}${green}" # info
c0="${reset}${grey}" # first color
c1="${reset}${white}" # second color
c2="${reset}${yellow}" # third color
## OUTPUT
cat <<EOF
${c0} ___ ${nc}${USER}${red}@${reset}${hn}${host}${reset}
${c0} (${c1}.. ${c0}\ ${lc} ${ic}${os}${reset}
${c0} (${c2}<> ${c0}| ${lc} ${ic}${kernel}${reset}
${c0} /${c1}/ \\ ${c0}\\ ${lc} ${ic}${RAM}${memstat} ${mempercent}
${c0} ( ${c1}| | ${c0}/| ${lc} ${ic}${packages} (${manager})${reset}
${c2} _${c0}/\\ ${c1}__)${c0}/${c2}_${c0}) ${lc} ${ic}${uptime}${reset}
${c2} \/${c0}-____${c2}\/${reset} ${lc} ${red}███${green}███${yellow}███${blue}███${magenta}███${cyan}███${reset}
EOF

7
rice-bowl/scripts/autorun.sh Executable file
View file

@ -0,0 +1,7 @@
#!/bin/bash
SH_DIR_AUTORUN=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source $SH_DIR_AUTORUN/../config.sh
find $RICE_DIR_AUTORUN -type f -executable | while read line ; do source $line ; done

View file

@ -0,0 +1,17 @@
#!/bin/bash
SH_DIR_GENERATE_CONFIG=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source $SH_DIR_GENERATE_CONFIG/../config.sh
source $RICE_DIR_RICE_BOWL/themes/$RICE_THEME.sh
source $SH_DIR_GENERATE_CONFIG/generators/generate_alacritty_config.sh
source $SH_DIR_GENERATE_CONFIG/generators/generate_picom_config.sh
source $SH_DIR_GENERATE_CONFIG/generators/generate_dunst_config.sh
source $SH_DIR_GENERATE_CONFIG/generators/generate_polybar_config.sh
source $SH_DIR_GENERATE_CONFIG/generators/generate_i3_config.sh
source $SH_DIR_GENERATE_CONFIG/generators/generate_awesome_config.sh
source $SH_DIR_GENERATE_CONFIG/generators/generate_rofi_config.sh
source $SH_DIR_GENERATE_CONFIG/generators/generate_cava_config.sh
source $SH_DIR_GENERATE_CONFIG/generators/generate_feh_config.sh
source $SH_DIR_GENERATE_CONFIG/generators/generate_flameshot_config.sh

View file

@ -0,0 +1,55 @@
#!/bin/bash
RICE_ALACRITTY_PATH=$RICE_DIR_CONFIG/alacritty
RICE_ALACRITTY_DIR_CONFIG=$RICE_ALACRITTY_PATH/config
mkdir -p $RICE_ALACRITTY_PATH
mkdir -p $RICE_ALACRITTY_DIR_CONFIG
echo "# $RICE_GENERATED_HEADER
#Import Config
import:
- $RICE_ALACRITTY_DIR_CONFIG/colors.nogit.yml
- $RICE_ALACRITTY_DIR_CONFIG/fonts.nogit.yml
- $RICE_ALACRITTY_DIR_CONFIG/styling.nogit.yml
" > $RICE_ALACRITTY_PATH/alacritty.yml
# Generate colors.yml
echo "# $RICE_GENERATED_HEADER
colors:
primary:
background: '$RICE_COLOR_DARK_4'
foreground: '$RICE_COLOR_LIGHT_1'
normal:
white: '$RICE_COLOR_LIGHT_1'
black: '$RICE_COLOR_DARK_4'
red: '$RICE_COLOR_RED'
yellow: '$RICE_COLOR_ORANGE'
green: '$RICE_COLOR_GREEN'
cyan: '$RICE_COLOR_CYAN'
blue: '$RICE_COLOR_BLUE'
magenta: '$RICE_COLOR_PURPLE'
bright:
white: '$RICE_COLOR_LIGHT_3'
black: '$RICE_COLOR_DARK_2'
yellow: '$RICE_COLOR_YELLOW'
green: '$RICE_COLOR_LIME'
blue: '$RICE_COLOR_LIGHT_BLUE'
magenta: '$RICE_COLOR_MAGENTA'
" > $RICE_ALACRITTY_DIR_CONFIG/colors.nogit.yml
# Generate fonts.yml
echo "# $RICE_GENERATED_HEADER
font:
normal:
family: \"$RICE_FONT_MONO\"
" > $RICE_ALACRITTY_DIR_CONFIG/fonts.nogit.yml
# Generate styling.yml
echo "# $RICE_GENERATED_HEADER
window:
padding:
x: $RICE_PADDING
y: $RICE_PADDING
opacity: $RICE_OPACITY_FLOAT
" > $RICE_ALACRITTY_DIR_CONFIG/styling.nogit.yml

View file

@ -0,0 +1,40 @@
#!/bin/bash
RICE_AWESOME_PATH=$RICE_DIR_CONFIG/awesome
RICE_AWESOME_DIR_CONFIG=$RICE_AWESOME_PATH/config
mkdir -p $RICE_AWESOME_PATH
mkdir -p $RICE_AWESOME_DIR_CONFIG
echo "-- $RICE_GENERATED_HEADER
-- Check if Lua Roocks, aka Import lib is installed
pcall(require, \"luarocks.loader\")
-- Require Libs
local naughty = require(\"naughty\")
-- Check For Errors, fallback if found any
if awesome.startup_errors then
naughty.notify({ preset = naughty.config.presets.critical,
title = \"Oops, there were errors during startup!\",
text = awesome.startup_errors })
end
do
local in_error = false
awesome.connect_signal(\"debug::error\", function (err)
-- Make sure we don't go into an endless error loop
if in_error then return end
in_error = true
naughty.notify({ preset = naughty.config.presets.critical,
title = \"Oops, an error happened!\",
text = tostring(err) })
in_error = false
end)
end
-- Import Themp Lua File
dofile (\"$RICE_AWESOME_PATH/themp.lua\")
" > $RICE_AWESOME_PATH/rc.lua

View file

@ -0,0 +1,21 @@
#!/bin/bash
RICE_CAVA_PATH=$RICE_DIR_CONFIG/cava
mkdir -p $RICE_CAVA_PATH
echo "# $RICE_GENERATED_HEADER
[output]
method = ncurses
[color]
gradient = 1
gradient_count = 8
gradient_color_1 = '$RICE_COLOR_BLUE'
gradient_color_2 = '$RICE_COLOR_LIGHT_BLUE'
gradient_color_3 = '$RICE_COLOR_CYAN'
gradient_color_4 = '$RICE_COLOR_GREEN'
gradient_color_5 = '$RICE_COLOR_LIME'
gradient_color_6 = '$RICE_COLOR_YELLOW'
gradient_color_7 = '$RICE_COLOR_ORANGE'
gradient_color_8 = '$RICE_COLOR_RED'
" > $RICE_CAVA_PATH/config

View file

@ -0,0 +1,54 @@
#!/bin/bash
RICE_DUNST_PATH=$RICE_DIR_CONFIG/dunst
RICE_DUNST_DIR_CONFIG=$RICE_DUNST_PATH/dunstrc.d
mkdir -p $RICE_DUNST_PATH
mkdir -p $RICE_DUNST_DIR_CONFIG
# Generate 00.colors.conf
echo "# $RICE_GENERATED_HEADER
[global]
background = \"$RICE_COLOR_DARK_2\"
foreground = \"$RICE_COLOR_LIGHT_1\"
frame_color = \"$RICE_COLOR_SECONDARY_ACCENT\"
[urgency_low]
background = \"$RICE_COLOR_DARK_2\"
foreground = \"$RICE_COLOR_LIGHT_1\"
frame_color = \"$RICE_COLOR_SECONDARY_ACCENT\"
[urgency_normal]
background = \"$RICE_COLOR_DARK_2\"
foreground = \"$RICE_COLOR_LIGHT_1\"
frame_color = \"$RICE_COLOR_PRIMARY_ACCENT\"
[urgency_critical]
background = \"$RICE_COLOR_DARK_4\"
foreground = \"$RICE_COLOR_RED\"
frame_color = \"$RICE_COLOR_RED\"
" > $RICE_DUNST_DIR_CONFIG/00.colors.nogit.conf
# Generate 60.offset.conf
echo "# $RICE_GENERATED_HEADER
[global]
offset = ${RICE_GAPS}x$(($((RICE_GAPS*2))+RICE_ELEMENT_HEIGHT_SMALL))
" > $RICE_DUNST_DIR_CONFIG/60.offset.nogit.conf
# Generate 70.size.conf
echo "# $RICE_GENERATED_HEADER
[global]
width = $((RICE_ELEMENT_HEIGHT_MEDIUM*3))
height = $((RICE_ELEMENT_HEIGHT_MEDIUM*2))
" > $RICE_DUNST_DIR_CONFIG/70.size.nogit.conf
# Generate 80.font.conf
echo "# $RICE_GENERATED_HEADER
[global]
font = $RICE_FONT_NORMAL $RICE_FONT_SIZE_SMALL
" > $RICE_DUNST_DIR_CONFIG/80.font.nogit.conf
# Generate 99.style.conf
echo "# $RICE_GENERATED_HEADER
[global]
gap_size = $RICE_GAPS
corner_radius = $RICE_BORDER_RADIUS
frame_width = $RICE_BORDER_THICKNESS
" > $RICE_DUNST_DIR_CONFIG/99.style.nogit.conf

View file

@ -0,0 +1,14 @@
#!/bin/bash
# Generate Fehbg
echo "#!/bin/bash
# $RICE_GENERATED_HEADER
feh --no-fehbg --bg-scale $RICE_DIR_WALLPAPER/$RICE_WALLPAPER_1 $RICE_DIR_WALLPAPER/$RICE_WALLPAPER_2 $RICE_DIR_WALLPAPER/$RICE_WALLPAPER_3
" > ~/.fehbg
# Mark as Executable
chmod +x ~/.fehbg
# Execute
~/.fehbg

View file

@ -0,0 +1,17 @@
#!/bin/bash
RICE_FLAMESHOT_PATH=$RICE_DIR_CONFIG/flameshot
mkdir -p $RICE_FLAMESHOT_PATH
# Generate flameshot.conf
echo "# $RICE_GENERATED_HEADER
[General]
uiColor=$RICE_COLOR_TERTIARY_ACCENT
contrastUiColor=$RICE_COLOR_SECONDARY_ACCENT
drawColor=$RICE_COLOR_PRIMARY_ACCENT
userColors=picker, $RICE_COLOR_PRIMARY_ACCENT, $RICE_COLOR_SECONDARY_ACCENT, $RICE_COLOR_TERTIARY_ACCENT
disabledTrayIcon=true
" > $RICE_FLAMESHOT_PATH/flameshot.ini

View file

@ -0,0 +1,62 @@
#!/bin/bash
RICE_I3_PATH=$RICE_DIR_CONFIG/i3
RICE_I3_DIR_CONF=$RICE_I3_PATH/conf
mkdir -p $RICE_I3_PATH
mkdir -p $RICE_I3_DIR_CONF
# Generate fonts.conf
echo "# $RICE_GENERATED_HEADER
set \$font_normal $RICE_FONT_NORMAL
set \$font_mono $RICE_FONT_MONO
set \$font_icons $RICE_FONT_ICONS
set \$font_size_small $RICE_FONT_SIZE_SMALL
set \$font_size_normal $RICE_FONT_SIZE_NORMAL
set \$font_size_big $RICE_FONT_SIZE_BIG
set \$font_size_icons_normal $RICE_FONT_SIZE_ICONS_NORMAL
set \$font_size_icons_big $RICE_FONT_SIZE_ICONS_BIG
# Set Window Title Font
font pango:\$font_mono \$font_size_small
" > $RICE_I3_DIR_CONF/fonts.nogit.conf
# Generate styling.conf
echo "# $RICE_GENERATED_HEADER
# Configure Gaps
gaps inner $RICE_GAPS
# Configure Border Size
default_border pixel $RICE_BORDER_THICKNESS
default_floating_border pixel $RICE_BORDER_THICKNESS
# Confgire Colors
# class border backgr. text indicator child_border
client.focused $RICE_COLOR_PRIMARY_ACCENT $RICE_COLOR_DARK_2 $RICE_COLOR_LIGHT_1 $RICE_COLOR_PRIMARY_ACCENT $RICE_COLOR_PRIMARY_ACCENT
client.focused_inactive $RICE_COLOR_SECONDARY_ACCENT $RICE_COLOR_DARK_2 $RICE_COLOR_LIGHT_1 $RICE_COLOR_SECONDARY_ACCENT $RICE_COLOR_SECONDARY_ACCENT
client.unfocused $RICE_COLOR_DARK_1 $RICE_COLOR_DARK_3 $RICE_COLOR_LIGHT_1 $RICE_COLOR_DARK_1 $RICE_COLOR_DARK_1
client.urgent $RICE_COLOR_RED $RICE_COLOR_ORANGE $RICE_COLOR_RED $RICE_COLOR_ORANGE $RICE_COLOR_RED
client.placeholder $RICE_COLOR_LIGHT_1 $RICE_COLOR_LIGHT_3 $RICE_COLOR_DARK_1 $RICE_COLOR_LIGHT_1 $RICE_COLOR_LIGHT_1
client.background $RICE_COLOR_LIGHT_1
" > $RICE_I3_DIR_CONF/styling.nogit.conf
# Generate apps2.conf
echo "# $RICE_GENERATED_HEADER
bindsym \$mod+Shift+e exec $RICE_DIR_CONFIG/rofi/scripts/powermenu/powermenu.sh # open the power Menu
bindsym \$mod+Shift+h exec $RICE_DIR_CONFIG/rofi/scripts/bindings/bindings.sh # open the bindings/help Menu
bindsym \$mod+Shift+s exec --no-startup-id flameshot gui --clipboard --accept-on-select --path $RICE_DIR_SCREENSHOTS # take a Screenshot
# start picom
exec --no-startup-id picom -b --config $RICE_DIR_CONFIG/picom/picom.nogit.conf --experimental-backend
# start polybar
exec_always $RICE_DIR_CONFIG/polybar/scripts/launch.sh
# set wallpaper
exec --no-startup-id $RICE_DIR_CONFIG/.fehbg
" > $RICE_I3_DIR_CONF/apps.nogit.conf

View file

@ -0,0 +1,27 @@
#!/bin/bash
RICE_PICOM_PATH=$RICE_DIR_CONFIG/picom
mkdir -p $RICE_PICOM_PATH
# Generate picom.conf
echo "# $RICE_GENERATED_HEADER" > $RICE_PICOM_PATH/picom.nogit.conf
cat $RICE_PICOM_PATH/picom.conf >> $RICE_PICOM_PATH/picom.nogit.conf
echo "
#################################
# Generated Part #
#################################
round-borders-rule = [
\"$RICE_BORDER_THICKNESS:window_type = 'unknown'\",
\"$RICE_BORDER_THICKNESS:window_type = 'toolbar'\",
\"$RICE_BORDER_THICKNESS:window_type = 'utility'\",
\"$RICE_BORDER_THICKNESS:window_type = 'splash'\",
\"$RICE_BORDER_THICKNESS:window_type = 'dialog'\",
\"$RICE_BORDER_THICKNESS:window_type = 'normal'\"
];
corner-radius = $RICE_BORDER_RADIUS;
round-borders = $RICE_BORDER_RADIUS;
" >> $RICE_PICOM_PATH/picom.nogit.conf

View file

@ -0,0 +1,94 @@
#!/bin/bash
RICE_POLYBAR_PATH=$RICE_DIR_CONFIG/polybar
RICE_POLYBAR_CONFIG_PATH=$RICE_POLYBAR_PATH/config.d
mkdir -p $RICE_POLYBAR_PATH
mkdir -p $RICE_POLYBAR_CONFIG_PATH
# Generate colors.ini
echo "# $RICE_GENERATED_HEADER
[colors]
primary-background = $RICE_COLOR_DARK_3
secondary-background = $RICE_COLOR_DARK_1
primary-accent = $RICE_COLOR_PRIMARY_ACCENT
secondary-accent = $RICE_COLOR_SECONDARY_ACCENT
tertiary-accent = $RICE_COLOR_TERTIARY_ACCENT
white = $RICE_COLOR_LIGHT_1
black = $RICE_COLOR_DARK_4
red = $RICE_COLOR_RED
orange = $RICE_COLOR_ORANGE
yellow = $RICE_COLOR_YELLOW
lime = $RICE_COLOR_LIME
green = $RICE_COLOR_GREEN
cyan = $RICE_COLOR_CYAN
light-blue = $RICE_COLOR_LIGHT_BLUE
blue = $RICE_COLOR_BLUE
purple = $RICE_COLOR_PURPLE
magenta = $RICE_COLOR_MAGENTA
warn = \${colors.orange}
alert = \${colors.red}
" > $RICE_POLYBAR_CONFIG_PATH/colors.nogit.ini
# Generate fonts.ini
echo "# $RICE_GENERATED_HEADER
[fonts]
font-small = $RICE_FONT_MONO:pixelsize=$RICE_FONT_SIZE_SMALL;4
font-normal = $RICE_FONT_MONO:pixelsize=$RICE_FONT_SIZE_NORMAL;5
font-big = $RICE_FONT_MONO:pixelsize=$RICE_FONT_SIZE_BIG;6
" > $RICE_POLYBAR_CONFIG_PATH/fonts.nogit.ini
# Generate exec.ini
echo "# $RICE_GENERATED_HEADER
[exec]
cava = $RICE_POLYBAR_PATH/scripts/cava.sh \"$RICE_COLOR_PURPLE\" \"$RICE_COLOR_BLUE\" \"$RICE_COLOR_CYAN\" \"$RICE_COLOR_GREEN\" \"$RICE_COLOR_LIME\" \"$RICE_COLOR_YELLOW\" \"$RICE_COLOR_ORANGE\" \"$RICE_COLOR_RED\"
dunst-snooze = $RICE_POLYBAR_PATH/scripts/dunst-snooze.sh \"$RICE_COLOR_SECONDARY_ACCENT\" \"$RICE_COLOR_RED\"
" > $RICE_POLYBAR_CONFIG_PATH/exec.nogit.ini
# Generate style.ini
echo "# $RICE_GENERATED_HEADER
[style]
gaps = $RICE_GAPS
border-radius = $RICE_BORDER_RADIUS
" > $RICE_POLYBAR_CONFIG_PATH/style.nogit.ini
# Generate base-settings.ini
echo "# $RICE_GENERATED_HEADER
[base/bar]
height = ${RICE_ELEMENT_HEIGHT_SMALL}pt
dpi = $RICE_DPI
monitor = \${env:MONITOR:}
locale = it_IT.UTF-8
screenchange-reload = true
width = 100%
line-size = 0pt
padding-bottom = 0
padding-left = 0
padding-right = 0
module-margin-left = 0
module-margin-right = 0
border-size = \${style.gaps}
border-bottom-size = 0
pseudo-transparency = true
radius = \${style.border-radius}
foreground = \${colors.white}
background = \${colors.primary-background}
font-0 = \${fonts.font-normal}
font-1 = \${fonts.font-big}
" > $RICE_POLYBAR_PATH/settings.nogit.ini

View file

@ -0,0 +1,236 @@
#!/bin/bash
RICE_ROFI_PATH=$RICE_DIR_CONFIG/rofi
RICE_ROFI_SCRIPTS_PATH=$RICE_ROFI_PATH/scripts
mkdir -p $RICE_ROFI_PATH
mkdir -p $RICE_ROFI_SCRIPTS_PATH
# Coppy Over First Wallpaper to be used by scripts
cp $RICE_DIR_WALLPAPER/$RICE_WALLPAPER_1 $RICE_ROFI_SCRIPTS_PATH/image.nogit.jpg
# Generate Rasi File
echo "/** $RICE_GENERATED_HEADER **/
configuration {
modi: \"drun,filebrowser,window\";
show-icons: true;
display-drun: \"\";
display-filebrowser: \"\";
display-window: \"\";
drun-display-format: \"{name}\";
window-format: \"{w} · {c} · {t}\";
window-command: \"$RICE_ROFI_SCRIPTS_PATH/killwindowbyid/killbyid.sh {window}\";
kb-remove-char-forward: \"\";
kb-accept-entry: \"Return\";
kb-mode-next: \"Shift-Right\";
kb-mode-previous: \"Shift-Left\";
kb-accept-alt: \"Shift-Return,Delete\";
}
* {
font: \"$RICE_FONT_NORMAL $RICE_FONT_SIZE_SMALL\";
font-icon-small: \"$RICE_FONT_MONO $RICE_FONT_SIZE_ICONS_SMALL\";
font-icon: \"$RICE_FONT_MONO $RICE_FONT_SIZE_ICONS_BIG\";
theme-dark-4: $RICE_COLOR_DARK_4;
theme-dark-3: $RICE_COLOR_DARK_3;
theme-dark-2: $RICE_COLOR_DARK_2;
theme-dark-1: $RICE_COLOR_DARK_1;
theme-light-1: $RICE_COLOR_LIGHT_1;
theme-light-2: $RICE_COLOR_LIGHT_2;
theme-light-3: $RICE_COLOR_LIGHT_3;
theme-light-4: $RICE_COLOR_LIGHT_4;
theme-accent-red: $RICE_COLOR_RED;
theme-accent-orange: $RICE_COLOR_ORANGE;
theme-accent-yellow: $RICE_COLOR_YELLOW;
theme-accent-lime: $RICE_COLOR_LIME;
theme-accent-green: $RICE_COLOR_GREEN;
theme-accent-cyan: $RICE_COLOR_CYAN;
theme-accent-light-blue: $RICE_COLOR_LIGHT_BLUE;
theme-accent-blue: $RICE_COLOR_BLUE;
theme-accent-purple: $RICE_COLOR_PURPLE;
theme-accent-magenta: $RICE_COLOR_MAGENTA;
theme-accent-primary: $RICE_COLOR_PRIMARY_ACCENT;
theme-accent-secondary: $RICE_COLOR_SECONDARY_ACCENT;
theme-accent-tertiary: $RICE_COLOR_TERTIARY_ACCENT;
background-color: transparent;
text-color: @theme-light-1;
margin: 0px;
padding: 0px;
spacing: 0px;
theme-border-radius: ${RICE_BORDER_RADIUS}px;
theme-padding: ${RICE_PADDING}px;
theme-gaps: ${RICE_GAPS}px;
}
/*****----- Main Window -----*****/
window {
/* properties for window widget */
location: center;
width: 33%;
enabled: true;
border-radius: @theme-border-radius;
border: ${RICE_BORDER_THICKNESS}px;
border-color: @theme-accent-primary;
background-color: @theme-dark-4;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 0px;
background-color: transparent;
orientation: vertical;
children: [ \"inputbar\", \"listbox\" ];
}
listbox {
spacing: @theme-gaps;
padding: @theme-gaps;
background-color: transparent;
orientation: vertical;
children: [ \"message\", \"listview\" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: @theme-gaps;
padding: @theme-gaps;
background-color: transparent;
text-color: @text-color;
orientation: horizontal;
children: [ \"entry\", \"mode-switcher\" ];
}
entry {
enabled: true;
expand: true;
padding: @theme-gaps;
border-radius: @theme-border-radius;
background-color: @theme-dark-1;
text-color: inherit;
cursor: text;
placeholder: \"Search\";
placeholder-color: inherit;
}
/*****----- Mode Switcher -----*****/
mode-switcher{
enabled: true;
spacing: @theme-gaps;
background-color: transparent;
text-color: @text-color;
}
button {
font: @font-icon-small;
width: 45px;
padding: @theme-padding;
border-radius: @theme-border-radius;
background-color: @theme-dark-1;
text-color: inherit;
cursor: pointer;
}
button selected {
background-color: @theme-accent-primary;
text-color: @text-color;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 7;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: @theme-gaps;
background-color: transparent;
text-color: @text-color;
cursor: \"default\";
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: @theme-gaps;
padding: @theme-padding;
border-radius: @theme-border-radius;
background-color: inherit;
text-color: @text-color;
cursor: pointer;
}
element normal.urgent {
background-color: @theme-accent-tertiary;
text-color: @text-color;
}
element normal.active {
background-color: @theme-accent-secondary;
text-color: @text-color;
}
element selected.normal {
background-color: @theme-accent-primary;
text-color: @theme-dark-1;
}
element selected.urgent {
background-color: @theme-accent-tertiary;
text-color: @text-color;
}
element selected.active {
background-color: @theme-accent-tertiary;
text-color: @text-color;
}
element-icon {
background-color: transparent;
text-color: inherit;
size: ${RICE_FONT_SIZE_ICONS_NORMAL}px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Message -----*****/
message {
background-color: transparent;
}
textbox {
padding: @theme-padding;
border-radius: @theme-border-radius;
background-color: @theme-dark-1;
text-color: @text-color;
vertical-align: 0.5;
horizontal-align: 0.0;
}
error-message {
padding: @theme-padding;
border-radius: @theme-border-radius;
background-color: @theme-dark-4;
text-color: @text-color;
}
" > $RICE_ROFI_PATH/themes/$RICE_THEME.rasi
# Generate Rofi config.rasi, to use the theme
echo "// $RICE_GENERATED_HEADER
@theme \"$RICE_ROFI_PATH/themes/$RICE_THEME.rasi\"
" > $RICE_ROFI_PATH/config.rasi

18
rice-bowl/scripts/install.sh Executable file
View file

@ -0,0 +1,18 @@
#!/bin/bash
SH_DIR_INSTALL=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source $SH_DIR_INSTALL/../config.sh
# If Config Folder Exists rename it first
sudo mv $RICE_DIR_CONFIG ${RICE_DIR_CONFIG}_old
# Create Config Folder
mkdir $RICE_DIR_CONFIG
# Move Whole Repo Folder to Rice Location
sudo mv $SH_DIR_INSTALL/../../* -t=$RICE_DIR_CONFIG
# Move All Hiden Files
sudo mv $SH_DIR_INSTALL/../../.* -t=$RICE_DIR_CONFIG
# Install Resources
source $SH_DIR_INSTALL/install_resources.sh

View file

@ -0,0 +1,8 @@
#!/bin/bash
SH_DIR_INSTALL_RESOURCES=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source $SH_DIR_INSTALL_RESOURCES/../config.sh
# Copy Over Fonts to /usr/share/fonts
sudo cp -r $RICE_DIR_RICE_BOWL/resources/fonts/* /usr/share/fonts

59
rice-bowl/themes/nord.sh Normal file
View file

@ -0,0 +1,59 @@
#!/bin/bash
RICE_GTK_THEME=
RICE_QT_THEME=
RICE_WALLPAPER_1="" #Landscape/Nord/nord-city.jpeg
RICE_WALLPAPER_2="" #Landscape/Nord/nord-city.jpeg
RICE_WALLPAPER_3="" #Landscape/Nord/nord-gradiant-frost-logo-1280x1024.png
# Dark Tones. 4 is Darkest, 1 is Lightest
RICE_COLOR_DARK_4=#2e3440
RICE_COLOR_DARK_3=#3b4252
RICE_COLOR_DARK_2=#434c5e
RICE_COLOR_DARK_1=#4c566a
# Light Tones. 1 is Darkest, 4 is Lightests
RICE_COLOR_LIGHT_1=#ced4de
RICE_COLOR_LIGHT_2=#d8dee9
RICE_COLOR_LIGHT_3=#e5e9f0
RICE_COLOR_LIGHT_4=#eceff4
# Accent Colors
RICE_COLOR_RED=#bf616a
RICE_COLOR_ORANGE=#d08770
RICE_COLOR_YELLOW=#ebcb8b
RICE_COLOR_LIME=#adbf7c
RICE_COLOR_GREEN=#80bf83
RICE_COLOR_CYAN=#7ebdbc
RICE_COLOR_LIGHT_BLUE=#7db0d1
RICE_COLOR_BLUE=#5e81ac
RICE_COLOR_PURPLE=#937db5
RICE_COLOR_MAGENTA=#b5779c
# Choice of Primary, Secundary and Tertiary
RICE_COLOR_PRIMARY_ACCENT=$RICE_COLOR_LIGHT_BLUE
RICE_COLOR_SECONDARY_ACCENT=$RICE_COLOR_BLUE
RICE_COLOR_TERTIARY_ACCENT=$RICE_COLOR_PURPLE
# Choice Whether this is a Dark or Light Theme
RICE_IS_LIGHT_THEME=false
# If Light Theme then switch Dark and Light Values
if ($RICE_IS_LIGHT_THEME); then
RICE_TEMP=$RICE_COLOR_DARK_4
RICE_COLOR_DARK_4=$RICE_COLOR_LIGHT_4
RICE_COLOR_LIGHT_4=$RICE_TEMP
RICE_TEMP=$RICE_COLOR_DARK_3
RICE_COLOR_DARK_3=$RICE_COLOR_LIGHT_3
RICE_COLOR_LIGHT_3=$RICE_TEMP
RICE_TEMP=$RICE_COLOR_DARK_2
RICE_COLOR_DARK_2=$RICE_COLOR_LIGHT_2
RICE_COLOR_LIGHT_2=$RICE_TEMP
RICE_TEMP=$RICE_COLOR_DARK_1
RICE_COLOR_DARK_1=$RICE_COLOR_LIGHT_1
RICE_COLOR_LIGHT_1=$RICE_TEMP
fi

8
rofi/bindings.txt Normal file
View file

@ -0,0 +1,8 @@
Up Move Up
Down Move Down
Shift-Right Switch to Next Mode
Shift-Left Switch to Previous Mode
Return Accept Entry
Delete In Window Mode Kill the Window

3
rofi/config.rasi Normal file
View file

@ -0,0 +1,3 @@
// This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into /home/snoweuph/.config/rice-bowl
@theme "/home/snoweuph/.config/rofi/themes/nord.rasi"

View file

@ -0,0 +1,3 @@
configuration {
show-icons: false;
}

110
rofi/scripts/bindings/bindings.sh Executable file
View file

@ -0,0 +1,110 @@
#!/bin/bash
# Get Working Directory
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
# File Path to theme Changes for the rofi theme for this script
theme=${SCRIPT_DIR}/bindings.rasi
# Loading Rice Envoirement Config Vaiables
source ~/.config/rice-bowl/config.sh
# Load Active Rofi theme into temp file
rofi -dump-theme > $SCRIPT_DIR/temp.rasi
# Append Rofi Theme Changes to Themp File
cat $theme >> $SCRIPT_DIR/temp.rasi
# Append Custom Calculated part to Theme
echo "entry {width: calc(33% - $(($((RICE_PADDING + RICE_GAPS)) * 2))px);}" >> $SCRIPT_DIR/temp.rasi
# Rofi CMD
rofi_cmd() {
rofi -dmenu \
-i \
-theme "${SCRIPT_DIR}/temp.rasi"
}
EntryString=""
SPLIT_SIGN=" | "
###########################
## I3 ##
###########################
# Generate Bindings Array
BindingsI3=()
#Icons
ICON_I3="i3"
# Get I3 Bindings
while read -r line; do
BindingsI3+=( "${line}" )
done < <(cat ~/.config/i3/conf/bindings.conf | grep "^bindsym" | sed 's/[^ ]* //')
# Apps
while read -r line; do
BindingsI3+=( "${line}" )
done < <(cat ~/.config/i3/conf/apps.conf | grep "^bindsym" | sed 's/[^ ]* //')
# Apps2
while read -r line; do
BindingsI3+=( "${line}" )
done < <(cat ~/.config/i3/conf/apps.nogit.conf | grep "^bindsym" | sed 's/[^ ]* //')
# Make Exec Entrys look better
f=0
for i in "${BindingsI3[@]}"; do
STRING=$( echo $i | grep exec)
if [[ -n "$STRING" ]]; then
DESCRIPTIOR=${STRING##*#}
Action=${STRING%exec*}
BindingsI3[$f]="${Action}${SPLIT_SIGN}${DESCRIPTIOR}";
else
BINDING=$(echo $i | awk '{print $1}')
DESCRIPTIOR=$(echo $i | awk '{print $2}')
BindingsI3[$f]="${BINDING}${SPLIT_SIGN}${DESCRIPTIOR}"
fi
f=$((f+1))
done
# Append To Entry String
for i in "${BindingsI3[@]}"; do
EntryString="${EntryString}${ICON_I3} ${i}\n"
done
###########################
## ROFI ##
###########################
# Generate Bindings Array
BindingsRofi=()
#Icons
ICON_ROFI="Rofi"
# Get I3 Bindings
while read -r line; do
BindingsRofi+=( "${line}" )
done < <(cat ~/.config/rofi/bindings.txt | grep -v -e '^$')
f=0
for i in "${BindingsRofi[@]}"; do
BINDING=$(echo $i | awk '{print $1}')
DESCRIPTIOR=$(echo $i | awk '{sub($1 FS,"")}7')
BindingsRofi[$f]="${BINDING}${SPLIT_SIGN}${DESCRIPTIOR}"
f=$((f+1))
done
# Append To Entry String
for i in "${BindingsRofi[@]}"; do
EntryString="${EntryString}${ICON_ROFI} ${i}\n"
done
###########################
echo -en $EntryString | rofi_cmd
#\0icon\x1f<span color='red'>i3</span>\n
# Clear Temp Rofi Theme File
rm $SCRIPT_DIR/temp.rasi

View file

@ -0,0 +1,118 @@
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
* {
background: @theme-dark-4;
background-alt: @theme-dark-2;
foreground: @theme-light-1;
selected: @theme-accent-primary;
active: @theme-accent-secondary;
urgent: @theme-accent-tertiary;
}
/*
USE_BUTTONS=YES
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
x-offset: 0px;
y-offset: 0px;
location: center;
anchor: center;
fullscreen: false;
width: 350px;
padding: @theme-padding;
border: 0px solid;
border-radius: @theme-border-radius;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
background-color: transparent;
orientation: vertical;
children: [ "inputbar", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
padding: @theme-padding;
margin: @theme-padding;
border-radius: @theme-border-radius;
background-color: @active;
text-color: @foreground;
children: [ "dummy", "prompt", "dummy"];
}
dummy {
background-color: transparent;
}
prompt {
background-color: inherit;
text-color: inherit;
}
/*****----- Message -----*****/
message {
enabled: true;
border-radius: @theme-border-radius;
background-color: @urgent;
text-color: @background;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 2;
lines: 1;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: @theme-gaps;
margin: @theme-padding;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 0px 0px;
border-radius: @theme-border-radius;
background-color: @background-alt;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: @font-icon;
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

45
rofi/scripts/confirm/confirm.sh Executable file
View file

@ -0,0 +1,45 @@
#!/bin/bash
# Get Working Directory
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
# File Path to theme Changes for the rofi theme for this script
theme=${SCRIPT_DIR}/confirm.rasi
# Loading Rice Envoirement Config Vaiables
source ~/.config/rice-bowl/config.sh
# Load Active Rofi theme into temp file
rofi -dump-theme > $SCRIPT_DIR/temp.rasi
# Append Rofi Theme Changes to Themp File
cat $theme >> $SCRIPT_DIR/temp.rasi
mesg="Are you Sure?"
yes=''
no=''
if [[ -n "$1" ]]; then
mesg=$1
fi
if [[ -n "$2" ]]; then
yes=$2
fi
if [[ -n "$3" ]]; then
no=$3
fi
# Rofi CMD
rofi_cmd() {
rofi -dmenu \
-u 1 \
-dmenu \
-p "$mesg" \
-theme "${SCRIPT_DIR}/temp.rasi"
}
echo -e "$yes\n$no" |rofi_cmd
# Clear Temp Rofi Theme File
rm $SCRIPT_DIR/temp.rasi

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

View file

@ -0,0 +1,17 @@
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
yes=''
no=''
confirm_kill() {
$SCRIPT_DIR/../confirm/confirm.sh "Kill Window?" "$yes" "$no"
}
selected="$(confirm_kill)"
if [[ "$selected" == "$yes" ]]; then
wmctrl -lp | grep -i `echo "obase=16; $1" | bc ` | awk '{print $3}' | xargs kill
else
exit 0
fi

View file

@ -0,0 +1,136 @@
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
* {
background: @theme-dark-4;
background-alt: @theme-dark-2;
foreground: @theme-light-1;
selected: @theme-accent-primary;
active: @theme-accent-secondary;
urgent: @theme-accent-tertiary;
}
/*
USE_BUTTONS=YES
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 500px;
x-offset: 0px;
y-offset: 0px;
padding: @theme-padding;
border: 0px solid;
border-radius: @theme-border-radius;
border-color: @selected;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
background-color: transparent;
orientation: horizontal;
children: [ "imagebox", "listview" ];
}
/*****----- Imagebox -----*****/
imagebox {
spacing: @theme-gaps;
padding: @theme-padding;
background-color: transparent;
background-image: url("~/.config/rofi/scripts/image.nogit.jpg", height);
children: [ "inputbar", "dummy", "message" ];
}
/*****----- User -----*****/
userimage {
margin: 0px 0px;
border: @theme-gaps;
border-radius: @theme-border-radius;
border-color: @background-alt;
background-color: transparent;
}
/*****----- Inputbar -----*****/
inputbar {
padding: @theme-padding;
border-radius: @theme-border-radius;
background-color: @active;
text-color: @foreground;
children: [ "dummy", "prompt", "dummy"];
}
dummy {
background-color: transparent;
}
prompt {
background-color: inherit;
text-color: inherit;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: @theme-padding;
border-radius: @theme-border-radius;
background-color: @urgent;
text-color: @background;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 2;
lines: 3;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: @theme-gaps;
margin: @theme-padding;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 0px 0px;
border-radius: @theme-border-radius;
background-color: @background-alt;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: @font-icon;
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

View file

@ -0,0 +1,99 @@
#!/bin/bash
# Get Working Directory
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
# File Path to theme Changes for the rofi theme for this script
theme=${SCRIPT_DIR}/powermenu.rasi
# Load Active Rofi theme into temp file
rofi -dump-theme > $SCRIPT_DIR/temp.rasi
# Append Rofi Theme Changes to Themp File
cat $theme >> $SCRIPT_DIR/temp.rasi
# Get Uptime
uptime="`uptime -p | sed -e 's/up //g'`"
# Options icons
hibernate=''
shutdown=''
reboot=''
lock=''
sleep=''
logout='﫼'
yes=''
no=''
# Rofi CMD
rofi_cmd() {
rofi -dmenu \
-p "$USER" \
-mesg "祥 Uptime: $uptime" \
-theme "${SCRIPT_DIR}/temp.rasi"
}
# Ask for confirmation
confirm_exit() {
$SCRIPT_DIR/../confirm/confirm.sh "Are you Sure?" "$yes" "$no"
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$logout\n$sleep\n$reboot\n$lock\n$hibernate\n$shutdown" | rofi_cmd
}
# Execute Command
run_cmd() {
selected="$(confirm_exit)"
if [[ "$selected" == "$yes" ]]; then
if [[ $1 == '--shutdown' ]]; then
systemctl poweroff
elif [[ $1 == '--reboot' ]]; then
systemctl reboot
elif [[ $1 == '--hibernate' ]]; then
systemctl hibernate
elif [[ $1 == '--sleep' ]]; then
mpc -q pause
amixer set Master mute
systemctl suspend
elif [[ $1 == '--logout' ]]; then
if [[ "$DESKTOP_SESSION" == 'openbox' ]]; then
openbox --exit
elif [[ "$DESKTOP_SESSION" == 'bspwm' ]]; then
bspc quit
elif [[ "$DESKTOP_SESSION" == 'i3' ]]; then
i3-msg exit
elif [[ "$DESKTOP_SESSION" == 'plasma' ]]; then
qdbus org.kde.ksmserver /KSMServer logout 0 0 0
fi
fi
else
exit 0
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$shutdown)
run_cmd --shutdown
;;
$reboot)
run_cmd --reboot
;;
$hibernate)
run_cmd --hibernate
;;
$lock)
i3lock -i ~/Bilder/Wallpaper/Landscape/Nord/nord-rainbow-waves-long.png -t
;;
$sleep)
run_cmd --sleep
;;
$logout)
run_cmd --logout
;;
esac
# Clear Temp Rofi Theme File
rm $SCRIPT_DIR/temp.rasi

5
rofi/scripts/script.rasi Normal file
View file

@ -0,0 +1,5 @@
window {
padding: 10px;
}

32
rofi/scripts/script.sh Executable file
View file

@ -0,0 +1,32 @@
#!/bin/bash
# Get Working Directory
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
# File Path to theme Changes for the rofi theme for this script
theme=${SCRIPT_DIR}/script.rasi
# Loading Rice Envoirement Config Vaiables
source ~/.config/rice-bowl/config.sh
# Load Active Rofi theme into temp file
rofi -dump-theme > $SCRIPT_DIR/temp.rasi
# Append Rofi Theme Changes to Themp File
cat $theme >> $SCRIPT_DIR/temp.rasi
# Get Uptime
uptime="`uptime -p | sed -e 's/up //g'`"
# Rofi CMD
rofi_cmd() {
rofi -dmenu \
-i \
-mesg "祥 Uptime: $uptime" \
-theme "${SCRIPT_DIR}/temp.rasi"
}
rofi_cmd
# Clear Temp Rofi Theme File
rm $SCRIPT_DIR/temp.rasi

0
rofi/themes/.gitkeep Normal file
View file

220
rofi/themes/nord.rasi Normal file
View file

@ -0,0 +1,220 @@
/** This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into /home/snoweuph/.config/rice-bowl **/
configuration {
modi: "drun,filebrowser,window";
show-icons: true;
display-drun: "";
display-filebrowser: "";
display-window: "";
drun-display-format: "{name}";
window-format: "{w} · {c} · {t}";
window-command: "/home/snoweuph/.config/rofi/scripts/killwindowbyid/killbyid.sh {window}";
kb-remove-char-forward: "";
kb-accept-entry: "Return";
kb-mode-next: "Shift-Right";
kb-mode-previous: "Shift-Left";
kb-accept-alt: "Shift-Return,Delete";
}
* {
font: "Hack Nerd Font 14";
font-icon-small: "Hack Nerd Font Mono 22";
font-icon: "Hack Nerd Font Mono 64";
theme-dark-4: #2e3440;
theme-dark-3: #3b4252;
theme-dark-2: #434c5e;
theme-dark-1: #4c566a;
theme-light-1: #ced4de;
theme-light-2: #d8dee9;
theme-light-3: #e5e9f0;
theme-light-4: #eceff4;
theme-accent-red: #bf616a;
theme-accent-orange: #d08770;
theme-accent-yellow: #ebcb8b;
theme-accent-lime: #adbf7c;
theme-accent-green: #80bf83;
theme-accent-cyan: #7ebdbc;
theme-accent-light-blue: #7db0d1;
theme-accent-blue: #5e81ac;
theme-accent-purple: #937db5;
theme-accent-magenta: #b5779c;
theme-accent-primary: #7db0d1;
theme-accent-secondary: #5e81ac;
theme-accent-tertiary: #937db5;
background-color: transparent;
text-color: @theme-light-1;
margin: 0px;
padding: 0px;
spacing: 0px;
theme-border-radius: 8px;
theme-padding: 4px;
theme-gaps: 8px;
}
/*****----- Main Window -----*****/
window {
/* properties for window widget */
location: center;
width: 33%;
enabled: true;
border-radius: @theme-border-radius;
border: 2px;
border-color: @theme-accent-primary;
background-color: @theme-dark-4;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 0px;
background-color: transparent;
orientation: vertical;
children: [ "inputbar", "listbox" ];
}
listbox {
spacing: @theme-gaps;
padding: @theme-gaps;
background-color: transparent;
orientation: vertical;
children: [ "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: @theme-gaps;
padding: @theme-gaps;
background-color: transparent;
text-color: @text-color;
orientation: horizontal;
children: [ "entry", "mode-switcher" ];
}
entry {
enabled: true;
expand: true;
padding: @theme-gaps;
border-radius: @theme-border-radius;
background-color: @theme-dark-1;
text-color: inherit;
cursor: text;
placeholder: "Search";
placeholder-color: inherit;
}
/*****----- Mode Switcher -----*****/
mode-switcher{
enabled: true;
spacing: @theme-gaps;
background-color: transparent;
text-color: @text-color;
}
button {
font: @font-icon-small;
width: 45px;
padding: @theme-padding;
border-radius: @theme-border-radius;
background-color: @theme-dark-1;
text-color: inherit;
cursor: pointer;
}
button selected {
background-color: @theme-accent-primary;
text-color: @text-color;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 7;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: @theme-gaps;
background-color: transparent;
text-color: @text-color;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: @theme-gaps;
padding: @theme-padding;
border-radius: @theme-border-radius;
background-color: inherit;
text-color: @text-color;
cursor: pointer;
}
element normal.urgent {
background-color: @theme-accent-tertiary;
text-color: @text-color;
}
element normal.active {
background-color: @theme-accent-secondary;
text-color: @text-color;
}
element selected.normal {
background-color: @theme-accent-primary;
text-color: @theme-dark-1;
}
element selected.urgent {
background-color: @theme-accent-tertiary;
text-color: @text-color;
}
element selected.active {
background-color: @theme-accent-tertiary;
text-color: @text-color;
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 28px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Message -----*****/
message {
background-color: transparent;
}
textbox {
padding: @theme-padding;
border-radius: @theme-border-radius;
background-color: @theme-dark-1;
text-color: @text-color;
vertical-align: 0.5;
horizontal-align: 0.0;
}
error-message {
padding: @theme-padding;
border-radius: @theme-border-radius;
background-color: @theme-dark-4;
text-color: @text-color;
}