commit fd1f37d786a963820f4719a33bf894150b0c1e81 Author: dakedres Date: Wed Oct 4 20:19:25 2023 -0400 Initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..567f143 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +### Theme +Right now I use a Kaolin Dark theme. Many themes are pulled directly from [alternateved/kaolin-inspired](https://github.com/alternateved/kaolin-inspired). \ No newline at end of file diff --git a/archive.sh b/archive.sh new file mode 100755 index 0000000..70548f2 --- /dev/null +++ b/archive.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +dir=$PWD +scripts_subdir=$(echo "$PWD/scripts") + +rsync -a ~/pictures/wallpapers/* wallpapers/ + +cd config +rsync -a ~/.config/kitty . +rsync -a --exclude 'bookmarks' ~/.config/qutebrowser . +rsync -a ~/.config/bspwm . +rsync -a ~/.config/sxhkd . +rsync -a ~/.config/tint2/tint2rc tint2/ +rsync -a ~/.config/lxqt . +rsync -a ~/.config/rofi . +cp ~/.config/picom.conf . + +cd ~/bin +cp \ +bsp-float \ +bsp-floating-only \ +bsp-smove \ +bsp-status \ +bsp-toggle-visibility \ +ezmount \ +pfetch \ +qutesearch \ +rofi-ask \ +tabc-smart-detach \ +sxhkd-help \ +$scripts_subdir \ No newline at end of file diff --git a/config/bspwm/bspwmrc b/config/bspwm/bspwmrc new file mode 100755 index 0000000..1646f6f --- /dev/null +++ b/config/bspwm/bspwmrc @@ -0,0 +1,37 @@ +#! /bin/sh + +# Import user bin for sxhkd +PATH="/home/dakedres/bin:$PATH" + +pgrep -x sxhkd > /dev/null || sxhkd & +wmname LG3D & + +bspc monitor -d I II III IV V + +bspc config border_width 1 +bspc config window_gap 4 + +bspc config split_ratio 0.52 +bspc config borderless_monocle true +bspc config gapless_monocle true + +bspc config pointer_modifier mod1 +bspc config pointer_action1 move +# bspc config pointer_action2 resize_side +bspc config pointer_action2 resize_corner + +# Focus is on the hovered window, but the cursor is +# moved when the keyboard changes focus +bspc config focus_follows_pointer true +bspc config pointer_follows_focus true + +bspc rule -a KittyScratch state=floating +bspc rule -a Gimp state=floating +bspc rule -a Chromium desktop='^2' +bspc rule -a mplayer2 state=floating +bspc rule -a Kupfer.py focus=on +bspc rule -a Screenkey manage=off + +xsetroot -cursor_name left_ptr & + +export _JAVA_AWT_WM_NONREPARENTING=1 \ No newline at end of file diff --git a/config/kitty/kitty.conf b/config/kitty/kitty.conf new file mode 100644 index 0000000..9162254 --- /dev/null +++ b/config/kitty/kitty.conf @@ -0,0 +1,66 @@ +# Theme: https://github.com/alternateved/kaolin-inspired/blob/main/kaolin-dark/kitty/Kaolin_Dark.conf + +enable_audio_bell no + +font_family Ubuntu Mono +bold_font Ubuntu Medium +italic_font Ubuntu Italic +bold_italic_font Ubuntu Medium Italic +font_size 11.0 + +## name: Kaolin Dark +## author: Ogden Webb +## license: GNU GPLv3 +## blurb: Dark jade theme inspired by Sierra.vim. + +# The basic colors +foreground #E4E4E8 +background #18181B +selection_foreground #18181B +selection_background #E4E4E8 + +# Cursor colors +cursor #E4E4E8 +cursor_text_color #ffffff + +# kitty window border colors +active_border_color #4D9391 +inactive_border_color #4B5254 + +# Tab bar colors +active_tab_background #E4E4E8 +active_tab_foreground #18181B +inactive_tab_background #879193 +inactive_tab_foreground #18181B + +# black +color0 #4B5254 +color8 #879193 + +# red +color1 #CD5C60 +color9 #E36D5B + +# green +color2 #6FB593 +color10 #72CCBA + +# yellow +color3 #DBAC66 +color11 #F2C866 + +# blue +color4 #91B9C7 +color12 #97B8DE + +# magenta +color5 #845A84 +color13 #8C629C + +# cyan +color6 #4D9391 +color14 #5096AB + +# white +color7 #E4E4E8 +color15 #EFEFF1 \ No newline at end of file diff --git a/config/lxqt/TimeDate.conf b/config/lxqt/TimeDate.conf new file mode 100644 index 0000000..79b42c6 --- /dev/null +++ b/config/lxqt/TimeDate.conf @@ -0,0 +1,2 @@ +[General] +__userfile__=true diff --git a/config/lxqt/archiver.conf b/config/lxqt/archiver.conf new file mode 100644 index 0000000..8cac43a --- /dev/null +++ b/config/lxqt/archiver.conf @@ -0,0 +1,9 @@ +[Sizes] +SplitterPos=200 +ViewsIconSize=24 +WindowSize=@Size(895 1070) + +[Window] +DirTree=true +StatusBar=true +ToolBar=true diff --git a/config/lxqt/filedialog.conf b/config/lxqt/filedialog.conf new file mode 100644 index 0000000..934cf71 --- /dev/null +++ b/config/lxqt/filedialog.conf @@ -0,0 +1,14 @@ +[Sizes] +SplitterPos=200 +WindowSize=@Size(700 500) + +[View] +BigIconSize=48 +Mode=Detailed +ScrollPerPixel=true +ShowThumbnails=true +SmallIconSize=24 +SortColumn=name +SortFolderFirst=true +SortOrder=ascending +ThumbnailIconSize=128 diff --git a/config/lxqt/globalkeyshortcuts.conf b/config/lxqt/globalkeyshortcuts.conf new file mode 100644 index 0000000..838db27 --- /dev/null +++ b/config/lxqt/globalkeyshortcuts.conf @@ -0,0 +1,238 @@ +[General] +AllowGrabBaseKeypad=true +AllowGrabBaseSpecial=false +AllowGrabLocks=false +AllowGrabMiscKeypad=true +AllowGrabMiscSpecial=true +MultipleActionsBehaviour=first +WindowSize=@Invalid() + +[Control%2BAlt%2BB.1] +Comment=Web browser +Enabled=true +Exec=xdg-open, about:blank + +[Control%2BAlt%2BDelete.2] +Comment=Task manager +Enabled=true +Exec=qps + +[Control%2BAlt%2BL.3] +Comment=lockscreen +Enabled=true +Exec=xdg-screensaver, lock + +[Control%2BAlt%2BT.4] +Comment=Launch Terminal +Enabled=true +Exec=qterminal + +[Meta%2B0.5] +Comment=Activate task 10 +Enabled=true +path=/panel/taskbar/task_10 + +[Meta%2B1.6] +Comment=Activate task 1 +Enabled=true +path=/panel/taskbar/task_1 + +[Meta%2B2.7] +Comment=Activate task 2 +Enabled=true +path=/panel/taskbar/task_2 + +[Meta%2B3.8] +Comment=Activate task 3 +Enabled=true +path=/panel/taskbar/task_3 + +[Meta%2B4.9] +Comment=Activate task 4 +Enabled=true +path=/panel/taskbar/task_4 + +[Meta%2B5.10] +Comment=Activate task 5 +Enabled=true +path=/panel/taskbar/task_5 + +[Meta%2B6.11] +Comment=Activate task 6 +Enabled=true +path=/panel/taskbar/task_6 + +[Meta%2B7.12] +Comment=Activate task 7 +Enabled=true +path=/panel/taskbar/task_7 + +[Meta%2B8.13] +Comment=Activate task 8 +Enabled=true +path=/panel/taskbar/task_8 + +[Meta%2B9.14] +Comment=Activate task 9 +Enabled=true +path=/panel/taskbar/task_9 + +[Meta%2BD.15] +Comment=Show desktop +Enabled=true +path=/panel/showdesktop/show_hide + +[Meta%2BE.16] +Comment=Pcmanfm +Enabled=true +Exec=pcmanfm-qt + +[Meta%2BF1.17] +Comment=Switch to desktop 1 +Enabled=true +path=/panel/desktopswitch/desktop_1 + +[Meta%2BF10.18] +Comment=Switch to desktop 10 +Enabled=true +path=/panel/desktopswitch/desktop_10 + +[Meta%2BF11.19] +Comment=Switch to desktop 11 +Enabled=true +path=/panel/desktopswitch/desktop_11 + +[Meta%2BF12.20] +Comment=Switch to desktop 12 +Enabled=true +path=/panel/desktopswitch/desktop_12 + +[Meta%2BF2.21] +Comment=Switch to desktop 2 +Enabled=true +path=/panel/desktopswitch/desktop_2 + +[Meta%2BF3.22] +Comment=Switch to desktop 3 +Enabled=true +path=/panel/desktopswitch/desktop_3 + +[Meta%2BF4.23] +Comment=Switch to desktop 4 +Enabled=true +path=/panel/desktopswitch/desktop_4 + +[Meta%2BF5.24] +Comment=Switch to desktop 5 +Enabled=true +path=/panel/desktopswitch/desktop_5 + +[Meta%2BF6.25] +Comment=Switch to desktop 6 +Enabled=true +path=/panel/desktopswitch/desktop_6 + +[Meta%2BF7.26] +Comment=Switch to desktop 7 +Enabled=true +path=/panel/desktopswitch/desktop_7 + +[Meta%2BF8.27] +Comment=Switch to desktop 8 +Enabled=true +path=/panel/desktopswitch/desktop_8 + +[Meta%2BF9.28] +Comment=Switch to desktop 9 +Enabled=true +path=/panel/desktopswitch/desktop_9 + +[Meta%2BR.29] +Comment=Show/hide runner +Enabled=true +path=/runner/show_hide_dialog + +[Print.30] +Comment=screen shot +Enabled=true +Exec=screengrab + +[Shift%2BControl%2BF6.31] +Comment=\x2600 \x2193 +Enabled=true +Exec=lxqt-config-brightness, -d + +[Shift%2BControl%2BF7.32] +Comment=\x2600 \x2191 +Enabled=true +Exec=lxqt-config-brightness, -i + +[Super_L.33] +Comment=Show/hide main menu +Enabled=true +path=/panel/mainmenu/show_hide + +[XF86AudioLowerVolume.34] +Comment=Decrease sound volume +Enabled=true +path=/panel/volume/down + +[XF86AudioMute.35] +Comment=Mute/unmute sound volume +Enabled=true +path=/panel/volume/mute + +[XF86AudioRaiseVolume.36] +Comment=Increase sound volume +Enabled=true +path=/panel/volume/up + +[XF86Calculator.37] +Comment=Launch calculator +Enabled=true +Exec=kcalc + +[XF86Eject.38] +Comment=Eject removable media +Enabled=true +path=/panel/mount/eject + +[XF86HomePage.39] +Comment=Launch browser +Enabled=true +Exec=xdg-open, about:blank + +[XF86Mail.40] +Comment=Launch mail +Enabled=true +Exec=trojita + +[XF86MonBrightnessDown.41] +Comment=\x2600 \x2193 +Enabled=true +Exec=lxqt-config-brightness, -d + +[XF86MonBrightnessUp.42] +Comment=\x2600 \x2191 +Enabled=true +Exec=lxqt-config-brightness, -i + +[XF86MyComputer.43] +Comment=Launch pcmanfm +Enabled=true +Exec=pcmanfm-qt + +[XF86PowerOff.44] +Comment=Power off key action +Enabled=true +path=/powermanager/keypoweroff + +[XF86Sleep.45] +Comment=Hibernate key action +Enabled=true +path=/powermanager/keyhibernate + +[XF86Suspend.46] +Comment=Suspend key action +Enabled=true +path=/powermanager/keysuspend diff --git a/config/lxqt/lxqt-config-appearance.conf b/config/lxqt/lxqt-config-appearance.conf new file mode 100644 index 0000000..22b6b68 --- /dev/null +++ b/config/lxqt/lxqt-config-appearance.conf @@ -0,0 +1,4 @@ +[General] +ControlGTKThemeEnabled=true +__userfile__=true +size=@Size(600 473) diff --git a/config/lxqt/lxqt-config-input.conf b/config/lxqt/lxqt-config-input.conf new file mode 100644 index 0000000..90fb6cd --- /dev/null +++ b/config/lxqt/lxqt-config-input.conf @@ -0,0 +1,3 @@ +[General] +__userfile__=true +size=@Size(861 622) diff --git a/config/lxqt/lxqt-config-monitor.conf b/config/lxqt/lxqt-config-monitor.conf new file mode 100644 index 0000000..79b42c6 --- /dev/null +++ b/config/lxqt/lxqt-config-monitor.conf @@ -0,0 +1,2 @@ +[General] +__userfile__=true diff --git a/config/lxqt/lxqt-config.conf b/config/lxqt/lxqt-config.conf new file mode 100644 index 0000000..0f427a5 --- /dev/null +++ b/config/lxqt/lxqt-config.conf @@ -0,0 +1,2 @@ +[General] +size=@Size(1270 777) diff --git a/config/lxqt/lxqt-powermanagement.conf b/config/lxqt/lxqt-powermanagement.conf new file mode 100644 index 0000000..c80913a --- /dev/null +++ b/config/lxqt/lxqt-powermanagement.conf @@ -0,0 +1,6 @@ +[General] +__userfile__=true +enableBatteryWatcher=true +enableIdlenessWatcher=true +enableLidWatcher=true +runCheckLevel=1 diff --git a/config/lxqt/lxqt-runner.conf b/config/lxqt/lxqt-runner.conf new file mode 100644 index 0000000..79b42c6 --- /dev/null +++ b/config/lxqt/lxqt-runner.conf @@ -0,0 +1,2 @@ +[General] +__userfile__=true diff --git a/config/lxqt/lxqt.conf b/config/lxqt/lxqt.conf new file mode 100644 index 0000000..976e32a --- /dev/null +++ b/config/lxqt/lxqt.conf @@ -0,0 +1,17 @@ +[General] +__userfile__=true +icon_theme=ePapirus +theme=Arch-Colors + +[Palette] +base_color=#18181b +highlight_color=#91b9c7 +highlighted_text_color=#ffffff +link_color=#9ba5a7 +link_visited_color=#845a84 +text_color=#e4e4e8 +window_color=#222225 +window_text_color=#e4e4e8 + +[Qt] +style=Breeze diff --git a/config/lxqt/notifications.conf b/config/lxqt/notifications.conf new file mode 100644 index 0000000..79b42c6 --- /dev/null +++ b/config/lxqt/notifications.conf @@ -0,0 +1,2 @@ +[General] +__userfile__=true diff --git a/config/lxqt/panel.conf b/config/lxqt/panel.conf new file mode 100644 index 0000000..e187a67 --- /dev/null +++ b/config/lxqt/panel.conf @@ -0,0 +1,63 @@ +[General] +__userfile__=true + +[desktopswitch] +alignment=Left +type=desktopswitch + +[mainmenu] +alignment=Left +type=mainmenu + +[mount] +alignment=Right +type=mount + +[panel1] +alignment=-1 +animation-duration=0 +background-color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0) +background-image= +desktop=0 +font-color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0) +hidable=false +hide-on-overlap=false +iconSize=22 +lineCount=1 +lockPanel=false +opacity=100 +panelSize=32 +position=Bottom +reserve-space=true +show-delay=0 +visible-margin=true +width=100 +width-percent=true + +[quicklaunch] +alignment=Left +type=quicklaunch + +[showdesktop] +alignment=Right +type=showdesktop + +[statusnotifier] +alignment=Right +type=statusnotifier + +[taskbar] +alignment=Left +type=taskbar + +[tray] +alignment=Right +type=tray + +[volume] +alignment=Right +type=volume + +[worldclock] +alignment=Right +type=worldclock diff --git a/config/lxqt/power.conf b/config/lxqt/power.conf new file mode 100644 index 0000000..79b42c6 --- /dev/null +++ b/config/lxqt/power.conf @@ -0,0 +1,2 @@ +[General] +__userfile__=true diff --git a/config/lxqt/session.conf b/config/lxqt/session.conf new file mode 100644 index 0000000..1a81b01 --- /dev/null +++ b/config/lxqt/session.conf @@ -0,0 +1,15 @@ +[General] +__userfile__=true +window_manager=bspwm + +[Environment] +BROWSER=qutebrowser +GTK_CSD=0 +GTK_OVERLAY_SCROLLING=0 +SAL_USE_VCLPLUGIN=qt5 +SAL_VCL_QT5_USE_CAIRO=true +TERM=kitty + +[Mouse] +cursor_size=22 +cursor_theme=breeze_cursors diff --git a/config/lxqt/windowmanagers.conf b/config/lxqt/windowmanagers.conf new file mode 100644 index 0000000..79b42c6 --- /dev/null +++ b/config/lxqt/windowmanagers.conf @@ -0,0 +1,2 @@ +[General] +__userfile__=true diff --git a/config/picom.conf b/config/picom.conf new file mode 100644 index 0000000..1fbc7b5 --- /dev/null +++ b/config/picom.conf @@ -0,0 +1,436 @@ +################################# +# Shadows # +################################# + + +# Enabled client-side shadows on windows. Note desktop windows +# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, +# unless explicitly requested using the wintypes option. +# +# shadow = false +shadow = true; + +# The blur radius for shadows, in pixels. (defaults to 12) +# shadow-radius = 12 +shadow-radius = 8; + +# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) +# shadow-opacity = .75 + +# The left offset for shadows, in pixels. (defaults to -15) +# shadow-offset-x = -15 +shadow-offset-x = -7; + +# The top offset for shadows, in pixels. (defaults to -15) +# shadow-offset-y = -15 +shadow-offset-y = -7; + +# Red color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-red = 0 + +# Green color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-green = 0 + +# Blue color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-blue = 0 + +# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue) +# shadow-color = "#000000" + +# Specify a list of conditions of windows that should have no shadow. +# +# examples: +# shadow-exclude = "n:e:Notification"; +# +# shadow-exclude = [] +shadow-exclude = [ + "name = 'Notification'", + "class_g = 'Conky'", + "class_g ?= 'Notify-osd'", + "class_g = 'Cairo-clock'", + "_GTK_FRAME_EXTENTS@:c" +]; + +# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window. +# clip-shadow-above = [] + +# Specify a X geometry that describes the region in which shadow should not +# be painted in, such as a dock window region. Use +# shadow-exclude-reg = "x10+0+0" +# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. +# +# shadow-exclude-reg = "" + +# Crop shadow of a window fully on a particular monitor to that monitor. This is +# currently implemented using the X RandR extension. +# crop-shadow-to-monitor = false + + +################################# +# Fading # +################################# + + +# Fade windows in/out when opening/closing and when opacity changes, +# unless no-fading-openclose is used. +# fading = false +fading = true; + +# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) +# fade-in-step = 0.028 +fade-in-step = 0.09; + +# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) +# fade-out-step = 0.03 +fade-out-step = 0.09; + +# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) +# fade-delta = 10 + +# Specify a list of conditions of windows that should not be faded. +# fade-exclude = [] + +# Do not fade on window open/close. +# no-fading-openclose = false + +# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. +# no-fading-destroyed-argb = false + + +################################# +# Transparency / Opacity # +################################# + + +# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) +# inactive-opacity = 1 +inactive-opacity = 0.8; + +# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) +# frame-opacity = 1.0 +frame-opacity = 0.7; + +# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows. +# inactive-opacity-override = true +inactive-opacity-override = false; + +# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) +# active-opacity = 1.0 + +# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) +# inactive-dim = 0.0 + +# Specify a list of conditions of windows that should never be considered focused. +# focus-exclude = [] +focus-exclude = [ "class_g = 'Cairo-clock'" ]; + +# Use fixed inactive dim value, instead of adjusting according to window opacity. +# inactive-dim-fixed = 1.0 + +# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, +# like `50:name *= "Firefox"`. picom-trans is recommended over this. +# Note we don't make any guarantee about possible conflicts with other +# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. +# example: +# opacity-rule = [ "80:class_g = 'URxvt'" ]; +# +# opacity-rule = [ +# "80:class_g = 'Rofi'" +# ] + + +################################# +# Corners # +################################# + +# Sets the radius of rounded window corners. When > 0, the compositor will +# round the corners of windows. Does not interact well with +# `transparent-clipping`. +corner-radius = 0 + +# Exclude conditions for rounded corners. +rounded-corners-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'" +]; + + +################################# +# Background-Blurring # +################################# + + +# Parameters for background blurring, see the *BLUR* section for more information. +# blur-method = +# blur-size = 12 +# +# blur-deviation = false +# +# blur-strength = 5 + +# Blur background of semi-transparent / ARGB windows. +# Bad in performance, with driver-dependent behavior. +# The name of the switch may change without prior notifications. +# +# blur-background = false + +# Blur background of windows when the window frame is not opaque. +# Implies: +# blur-background +# Bad in performance, with driver-dependent behavior. The name may change. +# +# blur-background-frame = false + + +# Use fixed blur strength rather than adjusting according to window opacity. +# blur-background-fixed = false + + +# Specify the blur convolution kernel, with the following format: +# example: +# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; +# +# blur-kern = "" +blur-kern = "3x3box"; + + +# Exclude conditions for background blur. +# blur-background-exclude = [] +blur-background-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'", + "_GTK_FRAME_EXTENTS@:c" +]; + +################################# +# General Settings # +################################# + +# Enable remote control via D-Bus. See the man page for more details. +# dbus = true + +# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. +# daemon = false + +# Specify the backend to use: `xrender`, `glx`, `egl` or `xr_glx_hybrid`. +# `xrender` is the default one. +# +# backend = "glx" +backend = "xrender"; + +# Use higher precision during rendering, and apply dither when presenting the +# rendered screen. Reduces banding artifacts, but might cause performance +# degradation. Only works with OpenGL. +dithered-present = false; + +# Enable/disable VSync. +# vsync = false +vsync = true; + +# Enable remote control via D-Bus. See the *D-BUS API* section below for more details. +# dbus = false + +# Try to detect WM windows (a non-override-redirect window with no +# child that has 'WM_STATE') and mark them as active. +# +# mark-wmwin-focused = false +mark-wmwin-focused = true; + +# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. +# mark-ovredir-focused = false +mark-ovredir-focused = true; + +# Try to detect windows with rounded corners and don't consider them +# shaped windows. The accuracy is not very high, unfortunately. +# +# detect-rounded-corners = false +detect-rounded-corners = true; + +# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers +# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows. +# +# detect-client-opacity = false +detect-client-opacity = true; + +# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, +# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, +# provided that the WM supports it. +# +# use-ewmh-active-win = false + +# Unredirect all windows if a full-screen opaque window is detected, +# to maximize performance for full-screen windows. Known to cause flickering +# when redirecting/unredirecting windows. +# +# unredir-if-possible = false + +# Delay before unredirecting the window, in milliseconds. Defaults to 0. +# unredir-if-possible-delay = 0 + +# Conditions of windows that shouldn't be considered full-screen for unredirecting screen. +# unredir-if-possible-exclude = [] + +# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows +# in the same group focused at the same time. +# +# detect-transient = false +detect-transient = true; + +# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same +# group focused at the same time. This usually means windows from the same application +# will be considered focused or unfocused at the same time. +# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too. +# +# detect-client-leader = false + +# Resize damaged region by a specific number of pixels. +# A positive value enlarges it while a negative one shrinks it. +# If the value is positive, those additional pixels will not be actually painted +# to screen, only used in blur calculation, and such. (Due to technical limitations, +# with use-damage, those pixels will still be incorrectly painted to screen.) +# Primarily used to fix the line corruption issues of blur, +# in which case you should use the blur radius value here +# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, +# with a 5x5 one you use `--resize-damage 2`, and so on). +# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. +# +# resize-damage = 1 + +# Specify a list of conditions of windows that should be painted with inverted color. +# Resource-hogging, and is not well tested. +# +# invert-color-include = [] + +# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. +# Might cause incorrect opacity when rendering transparent content (but never +# practically happened) and may not work with blur-background. +# My tests show a 15% performance boost. Recommended. +# +# glx-no-stencil = false + +# GLX backend: Avoid rebinding pixmap on window damage. +# Probably could improve performance on rapid window content changes, +# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). +# Recommended if it works. +# +# glx-no-rebind-pixmap = false + +# Disable the use of damage information. +# This cause the whole screen to be redrawn every time, instead of the part of the screen +# has actually changed. Potentially degrades the performance, but might fix some artifacts. +# The opposing option is use-damage +# +# no-use-damage = false +use-damage = true; + +# Use X Sync fence to sync clients' draw calls, to make sure all draw +# calls are finished before picom starts drawing. Needed on nvidia-drivers +# with GLX backend for some users. +# +# xrender-sync-fence = false + +# GLX backend: Use specified GLSL fragment shader for rendering window +# contents. Read the man page for a detailed explanation of the interface. +# +# window-shader-fg = "default" + +# Use rules to set per-window shaders. Syntax is SHADER_PATH:PATTERN, similar +# to opacity-rule. SHADER_PATH can be "default". This overrides window-shader-fg. +# +# window-shader-fg-rule = [ +# "my_shader.frag:window_type != 'dock'" +# ] + +# Force all windows to be painted with blending. Useful if you +# have a glx-fshader-win that could turn opaque pixels transparent. +# +# force-win-blend = false + +# Do not use EWMH to detect fullscreen windows. +# Reverts to checking if a window is fullscreen based only on its size and coordinates. +# +# no-ewmh-fullscreen = false + +# Dimming bright windows so their brightness doesn't exceed this set value. +# Brightness of a window is estimated by averaging all pixels in the window, +# so this could comes with a performance hit. +# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) +# +# max-brightness = 1.0 + +# Make transparent windows clip other windows like non-transparent windows do, +# instead of blending on top of them. +# +# transparent-clipping = false + +# Specify a list of conditions of windows that should never have transparent +# clipping applied. Useful for screenshot tools, where you need to be able to +# see through transparent parts of the window. +# +# transparent-clipping-exclude = [] + +# Set the log level. Possible values are: +# "trace", "debug", "info", "warn", "error" +# in increasing level of importance. Case doesn't matter. +# If using the "TRACE" log level, it's better to log into a file +# using *--log-file*, since it can generate a huge stream of logs. +# +# log-level = "debug" +log-level = "warn"; + +# Set the log file. +# If *--log-file* is never specified, logs will be written to stderr. +# Otherwise, logs will to written to the given file, though some of the early +# logs might still be written to the stderr. +# When setting this option from the config file, it is recommended to use an absolute path. +# +# log-file = "/path/to/your/log/file" + +# Show all X errors (for debugging) +# show-all-xerrors = false + +# Write process ID to a file. +# write-pid-path = "/path/to/your/log/file" + +# Window type settings +# +# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: +# "unknown", "desktop", "dock", "toolbar", "menu", "utility", +# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", +# "tooltip", "notification", "combo", and "dnd". +# +# Following per window-type options are available: :: +# +# fade, shadow::: +# Controls window-type-specific shadow and fade settings. +# +# opacity::: +# Controls default opacity of the window type. +# +# focus::: +# Controls whether the window of this type is to be always considered focused. +# (By default, all window types except "normal" and "dialog" has this on.) +# +# full-shadow::: +# Controls whether shadow is drawn under the parts of the window that you +# normally won't be able to see. Useful when the window has parts of it +# transparent, and you want shadows in those areas. +# +# clip-shadow-above::: +# Controls whether shadows that would have been drawn above the window should +# be clipped. Useful for dock windows that should have no shadow painted on top. +# +# redir-ignore::: +# Controls whether this type of windows should cause screen to become +# redirected again after been unredirected. If you have unredir-if-possible +# set, and doesn't want certain window to cause unnecessary screen redirection, +# you can set this to `true`. +# + +wintypes: +{ + normal = { fade = false; } + tooltip = { fade = true; shadow = true; opacity = 0.9; focus = true; full-shadow = false; }; + dock = { shadow = false; clip-shadow-above = true; } + dnd = { shadow = false; } +}; \ No newline at end of file diff --git a/config/qutebrowser/autoconfig.yml b/config/qutebrowser/autoconfig.yml new file mode 100644 index 0000000..3413b95 --- /dev/null +++ b/config/qutebrowser/autoconfig.yml @@ -0,0 +1,28 @@ +# If a config.py file exists, this file is ignored unless it's explicitly loaded +# via config.load_autoconfig(). For more information, see: +# https://github.com/qutebrowser/qutebrowser/blob/master/doc/help/configuring.asciidoc#loading-autoconfigyml +# DO NOT edit this file by hand, qutebrowser will overwrite it. +# Instead, create a config.py - see :help for details. + +config_version: 2 +settings: + content.autoplay: + global: false + fonts.debug_console: + global: default_size default_family + fonts.default_family: + global: Ubuntu + fonts.prompts: + global: default_size sans-serif + fonts.statusbar: + global: default_size Ubuntu Mono + fonts.web.family.fixed: + global: Ubuntu Mono + fonts.web.family.serif: + global: Ubuntu + fonts.web.family.standard: + global: Ubuntu + tabs.show: + global: never + tabs.tabs_are_windows: + global: true diff --git a/config/qutebrowser/config.py b/config/qutebrowser/config.py new file mode 100644 index 0000000..038a55c --- /dev/null +++ b/config/qutebrowser/config.py @@ -0,0 +1,305 @@ +# Theme: https://github.com/alternateved/kaolin-inspired/blob/main/kaolin-dark/qutebrowser/default/base16-kaolin-dark.config.py + +config.load_autoconfig() + +# base16-qutebrowser (https://github.com/theova/base16-qutebrowser) +# Base16 qutebrowser template by theova +# Kaolin-dark scheme by alternateved (http://github.com/alternateved) +# Inspired by (https://github.com/ogdenwebb/emacs-kaolin-themes) + +base00 = "#18181B" +base01 = "#222225" +base02 = "#4B5254" +base03 = "#545C5E" +base04 = "#879193" +base05 = "#9ba5a7" +base06 = "#d0d0d4" +base07 = "#E4E4E8" +base08 = "#CD5C60" +base09 = "#DBAC66" +base0A = "#F2C866" +base0B = "#6FB593" +base0C = "#4D9391" +base0D = "#91B9C7" +base0E = "#845A84" +base0F = "#E36D5B" + +# set qutebrowser colors + +# Text color of the completion widget. May be a single color to use for +# all columns or a list of three colors, one for each column. +c.colors.completion.fg = base05 + +# Background color of the completion widget for odd rows. +c.colors.completion.odd.bg = base01 + +# Background color of the completion widget for even rows. +c.colors.completion.even.bg = base00 + +# Foreground color of completion widget category headers. +c.colors.completion.category.fg = base0A + +# Background color of the completion widget category headers. +c.colors.completion.category.bg = base00 + +# Top border color of the completion widget category headers. +c.colors.completion.category.border.top = base00 + +# Bottom border color of the completion widget category headers. +c.colors.completion.category.border.bottom = base00 + +# Foreground color of the selected completion item. +c.colors.completion.item.selected.fg = base05 + +# Background color of the selected completion item. +c.colors.completion.item.selected.bg = base02 + +# Top border color of the selected completion item. +c.colors.completion.item.selected.border.top = base02 + +# Bottom border color of the selected completion item. +c.colors.completion.item.selected.border.bottom = base02 + +# Foreground color of the matched text in the selected completion item. +c.colors.completion.item.selected.match.fg = base0B + +# Foreground color of the matched text in the completion. +c.colors.completion.match.fg = base0B + +# Color of the scrollbar handle in the completion view. +c.colors.completion.scrollbar.fg = base05 + +# Color of the scrollbar in the completion view. +c.colors.completion.scrollbar.bg = base00 + +# Background color of disabled items in the context menu. +c.colors.contextmenu.disabled.bg = base01 + +# Foreground color of disabled items in the context menu. +c.colors.contextmenu.disabled.fg = base04 + +# Background color of the context menu. If set to null, the Qt default is used. +c.colors.contextmenu.menu.bg = base00 + +# Foreground color of the context menu. If set to null, the Qt default is used. +c.colors.contextmenu.menu.fg = base05 + +# Background color of the context menu’s selected item. If set to null, the Qt default is used. +c.colors.contextmenu.selected.bg = base02 + +#Foreground color of the context menu’s selected item. If set to null, the Qt default is used. +c.colors.contextmenu.selected.fg = base05 + +# Background color for the download bar. +c.colors.downloads.bar.bg = base00 + +# Color gradient start for download text. +c.colors.downloads.start.fg = base00 + +# Color gradient start for download backgrounds. +c.colors.downloads.start.bg = base0D + +# Color gradient end for download text. +c.colors.downloads.stop.fg = base00 + +# Color gradient stop for download backgrounds. +c.colors.downloads.stop.bg = base0C + +# Foreground color for downloads with errors. +c.colors.downloads.error.fg = base08 + +# Font color for hints. +c.colors.hints.fg = base00 + +# Background color for hints. Note that you can use a `rgba(...)` value +# for transparency. +c.colors.hints.bg = base0A + +# Font color for the matched part of hints. +c.colors.hints.match.fg = base05 + +# Text color for the keyhint widget. +c.colors.keyhint.fg = base05 + +# Highlight color for keys to complete the current keychain. +c.colors.keyhint.suffix.fg = base05 + +# Background color of the keyhint widget. +c.colors.keyhint.bg = base00 + +# Foreground color of an error message. +c.colors.messages.error.fg = base00 + +# Background color of an error message. +c.colors.messages.error.bg = base08 + +# Border color of an error message. +c.colors.messages.error.border = base08 + +# Foreground color of a warning message. +c.colors.messages.warning.fg = base00 + +# Background color of a warning message. +c.colors.messages.warning.bg = base0E + +# Border color of a warning message. +c.colors.messages.warning.border = base0E + +# Foreground color of an info message. +c.colors.messages.info.fg = base05 + +# Background color of an info message. +c.colors.messages.info.bg = base00 + +# Border color of an info message. +c.colors.messages.info.border = base00 + +# Foreground color for prompts. +c.colors.prompts.fg = base05 + +# Border used around UI elements in prompts. +c.colors.prompts.border = base00 + +# Background color for prompts. +c.colors.prompts.bg = base00 + +# Background color for the selected item in filename prompts. +c.colors.prompts.selected.bg = base02 + +# Foreground color for the selected item in filename prompts. +c.colors.prompts.selected.fg = base05 + +# Foreground color of the statusbar. +c.colors.statusbar.normal.fg = base0B + +# Background color of the statusbar. +c.colors.statusbar.normal.bg = base00 + +# Foreground color of the statusbar in insert mode. +c.colors.statusbar.insert.fg = base00 + +# Background color of the statusbar in insert mode. +c.colors.statusbar.insert.bg = base0D + +# Foreground color of the statusbar in passthrough mode. +c.colors.statusbar.passthrough.fg = base00 + +# Background color of the statusbar in passthrough mode. +c.colors.statusbar.passthrough.bg = base0C + +# Foreground color of the statusbar in private browsing mode. +c.colors.statusbar.private.fg = base00 + +# Background color of the statusbar in private browsing mode. +c.colors.statusbar.private.bg = base01 + +# Foreground color of the statusbar in command mode. +c.colors.statusbar.command.fg = base05 + +# Background color of the statusbar in command mode. +c.colors.statusbar.command.bg = base00 + +# Foreground color of the statusbar in private browsing + command mode. +c.colors.statusbar.command.private.fg = base05 + +# Background color of the statusbar in private browsing + command mode. +c.colors.statusbar.command.private.bg = base00 + +# Foreground color of the statusbar in caret mode. +c.colors.statusbar.caret.fg = base00 + +# Background color of the statusbar in caret mode. +c.colors.statusbar.caret.bg = base0E + +# Foreground color of the statusbar in caret mode with a selection. +c.colors.statusbar.caret.selection.fg = base00 + +# Background color of the statusbar in caret mode with a selection. +c.colors.statusbar.caret.selection.bg = base0D + +# Background color of the progress bar. +c.colors.statusbar.progress.bg = base0D + +# Default foreground color of the URL in the statusbar. +c.colors.statusbar.url.fg = base05 + +# Foreground color of the URL in the statusbar on error. +c.colors.statusbar.url.error.fg = base08 + +# Foreground color of the URL in the statusbar for hovered links. +c.colors.statusbar.url.hover.fg = base05 + +# Foreground color of the URL in the statusbar on successful load +# (http). +c.colors.statusbar.url.success.http.fg = base0C + +# Foreground color of the URL in the statusbar on successful load +# (https). +c.colors.statusbar.url.success.https.fg = base0B + +# Foreground color of the URL in the statusbar when there's a warning. +c.colors.statusbar.url.warn.fg = base0E + +# Background color of the tab bar. +c.colors.tabs.bar.bg = base00 + +# Color gradient start for the tab indicator. +c.colors.tabs.indicator.start = base0D + +# Color gradient end for the tab indicator. +c.colors.tabs.indicator.stop = base0C + +# Color for the tab indicator on errors. +c.colors.tabs.indicator.error = base08 + +# Foreground color of unselected odd tabs. +c.colors.tabs.odd.fg = base05 + +# Background color of unselected odd tabs. +c.colors.tabs.odd.bg = base01 + +# Foreground color of unselected even tabs. +c.colors.tabs.even.fg = base05 + +# Background color of unselected even tabs. +c.colors.tabs.even.bg = base00 + +# Background color of pinned unselected even tabs. +c.colors.tabs.pinned.even.bg = base0C + +# Foreground color of pinned unselected even tabs. +c.colors.tabs.pinned.even.fg = base07 + +# Background color of pinned unselected odd tabs. +c.colors.tabs.pinned.odd.bg = base0B + +# Foreground color of pinned unselected odd tabs. +c.colors.tabs.pinned.odd.fg = base07 + +# Background color of pinned selected even tabs. +c.colors.tabs.pinned.selected.even.bg = base02 + +# Foreground color of pinned selected even tabs. +c.colors.tabs.pinned.selected.even.fg = base05 + +# Background color of pinned selected odd tabs. +c.colors.tabs.pinned.selected.odd.bg = base02 + +# Foreground color of pinned selected odd tabs. +c.colors.tabs.pinned.selected.odd.fg = base05 + +# Foreground color of selected odd tabs. +c.colors.tabs.selected.odd.fg = base05 + +# Background color of selected odd tabs. +c.colors.tabs.selected.odd.bg = base02 + +# Foreground color of selected even tabs. +c.colors.tabs.selected.even.fg = base05 + +# Background color of selected even tabs. +c.colors.tabs.selected.even.bg = base02 + +# Background color for webpages if unset (or empty to use the theme's +# color). +# c.colors.webpage.bg = base00 \ No newline at end of file diff --git a/config/qutebrowser/greasemonkey/cinny-theme.js b/config/qutebrowser/greasemonkey/cinny-theme.js new file mode 100644 index 0000000..c734354 --- /dev/null +++ b/config/qutebrowser/greasemonkey/cinny-theme.js @@ -0,0 +1,57 @@ +// ==UserScript== +// @name Cinny Theme +// @match *://app.cinny.in/* +{let style = document.createElement('style');style.innerHTML = `body, +.dark-theme, +.butter-theme, +.silver-theme { + --bg-surface: #0f0f0f; + --bg-surface-transparent: rgba(15, 15, 15, 0); + --bg-surface-low: #1a1a1a; + --bg-surface-low-transparent: rgba(26, 26, 26, 0); + --bg-surface-extra-low: #242424; + --bg-surface-extra-low-transparent: rgba(36, 36, 36, 0); + --bg-surface-hover: #242424; + --bg-surface-active: #333333; + --bg-surface-border: #333333; + --bg-primary: hsl(180, 42%, 70%); + --bg-primary-hover: hsl(180, 42%, 70%); + --bg-primary-active: hsl(180, 42%, 70%); + --bg-primary-border: hsl(180, 42%, 70%); + --bg-tooltip: #000; + --bg-badge: hsl(180, 30%, 90%); + --bg-ping: hsl(180, 30%, 90%); + --bg-ping-hover: hsl(180, 30%, 90%); + --bg-divider: #1a1a1a; + --tc-surface-high: hsl(180, 30%, 90%); + --tc-surface-normal: hsl(180, 16%, 83%); + --tc-surface-normal-low: hsl(180, 10%, 77%); + --tc-surface-low: hsl(180, 10%, 77%); + --tc-primary-high: hsl(180, 30%, 90%); + --tc-primary-normal: hsl(180, 16%, 83%); + --tc-primary-low: hsl(180, 10%, 77%); + --tc-code: #e565b1; + --tc-link: hsl(180, 42%, 70%); + --tc-badge: black; + --ic-surface-high: hsl(180, 30%, 90%); + --ic-surface-normal: hsl(180, 30%, 90%); + --ic-surface-low: hsl(180, 30%, 90%); + --ic-primary-normal: #ffffff; + --bg-overlay: rgba(0, 0, 0, 0.6); + --bg-overlay-low: rgba(0, 0, 0, 0.8); + --bs-popup: 0 0 16px rgba(0, 0, 0, 0.25); + --bs-surface-border: inset 0 0 0 1px var(--bg-surface-border); + --bs-surface-outline: 0 0 0 2px var(--bg-surface-border); + --bs-primary-border: inset 0 0 0 1px var(--bg-primary-border); + --bs-primary-outline: 0 0 0 2px var(--bg-primary-border); + --fs-h1: 35.6px; + --fs-h2: 23.6px; + --fs-s1: 17.6px; + --fs-b1: 14.6px; + --ls-b1: 0.14px; + --fs-b2: 13.2px; + --fs-b3: 11.2px; + --fw-normal: 350; + --font-primary: sans-serif; + --font-secondary: sans-serif; +}`; document.head.appendChild(style); } diff --git a/config/qutebrowser/qsettings/QtProject.conf b/config/qutebrowser/qsettings/QtProject.conf new file mode 100644 index 0000000..049bb39 --- /dev/null +++ b/config/qutebrowser/qsettings/QtProject.conf @@ -0,0 +1,5 @@ +[FileDialog] +history=@Invalid() +lastVisited=file:///home/dakedres/Downloads +qtVersion=5.15.8 +viewMode=Detail diff --git a/config/qutebrowser/qsettings/lxqt/filedialog.conf b/config/qutebrowser/qsettings/lxqt/filedialog.conf new file mode 100644 index 0000000..668ace2 --- /dev/null +++ b/config/qutebrowser/qsettings/lxqt/filedialog.conf @@ -0,0 +1,14 @@ +[Sizes] +SplitterPos=200 +WindowSize=@Size(989 756) + +[View] +BigIconSize=48 +Mode=Detailed +ScrollPerPixel=true +ShowThumbnails=true +SmallIconSize=24 +SortColumn=type +SortFolderFirst=true +SortOrder=ascending +ThumbnailIconSize=128 diff --git a/config/qutebrowser/quickmarks b/config/qutebrowser/quickmarks new file mode 100644 index 0000000..cde93fe --- /dev/null +++ b/config/qutebrowser/quickmarks @@ -0,0 +1 @@ +Uxn tutorial d2 https://compudanzas.net/uxn_tutorial_day_2.html diff --git a/config/qutebrowser/theme/copy.sh b/config/qutebrowser/theme/copy.sh new file mode 100755 index 0000000..7fc5070 --- /dev/null +++ b/config/qutebrowser/theme/copy.sh @@ -0,0 +1,2 @@ +lessc $1 out.css +echo -e "// ==UserScript==\n// @name Cinny Theme\n// @match *://app.cinny.in/*\n{let style = document.createElement('style');style.innerHTML = \`$(cat out.css)\`; document.head.appendChild(style); }" > ../greasemonkey/cinny-theme.js \ No newline at end of file diff --git a/config/qutebrowser/theme/dark.less b/config/qutebrowser/theme/dark.less new file mode 100644 index 0000000..837063b --- /dev/null +++ b/config/qutebrowser/theme/dark.less @@ -0,0 +1,67 @@ + + +@hue: 180; + +@f_high: hsl(@hue, 30%, 90%); +@f_med: hsl(@hue, 16%, 83%); +@f_low: hsl(@hue, 10%, 77%); + + +@b_high: #333333; +@b_med: #242424; +@b_low: #1a1a1a; +@background: #0f0f0f; + +@b_inv: hsl(@hue, 42%, 70%); + +body, .dark-theme, .butter-theme, .silver-theme { + --bg-surface: @background; + --bg-surface-transparent: fade(@background, 0); + --bg-surface-low: @b_low; + --bg-surface-low-transparent: fade(@b_low, 0); + --bg-surface-extra-low: @b_med; + --bg-surface-extra-low-transparent: fade(@b_med, 0); + --bg-surface-hover: @b_med; + --bg-surface-active: @b_high; + --bg-surface-border: @b_high; + --bg-primary: @b_inv; + --bg-primary-hover: @b_inv; + --bg-primary-active: @b_inv; + --bg-primary-border: @b_inv; + --bg-tooltip: #000; + --bg-badge: @f_high; + --bg-ping: @f_high; + --bg-ping-hover: @f_high; + --bg-divider: @b_low; + --tc-surface-high: @f_high; + --tc-surface-normal: @f_med; + --tc-surface-normal-low: @f_low; + --tc-surface-low: @f_low; + --tc-primary-high: @f_high; + --tc-primary-normal: @f_med; + --tc-primary-low: @f_low; + --tc-code: #e565b1; + --tc-link: @b_inv; + --tc-badge: black; + --ic-surface-high: @f_high; + --ic-surface-normal: @f_high; + --ic-surface-low: @f_high; + --ic-primary-normal: #ffffff; + --bg-overlay: rgba(0, 0, 0, 60%); + --bg-overlay-low: rgba(0, 0, 0, 80%); + --bs-popup: 0 0 16px rgba(0, 0, 0, 25%); + --bs-surface-border: inset 0 0 0 1px var(--bg-surface-border); + --bs-surface-outline: 0 0 0 2px var(--bg-surface-border); + --bs-primary-border: inset 0 0 0 1px var(--bg-primary-border); + --bs-primary-outline: 0 0 0 2px var(--bg-primary-border); + --fs-h1: 35.6px; + --fs-h2: 23.6px; + --fs-s1: 17.6px; + --fs-b1: 14.6px; + --ls-b1: .14px; + --fs-b2: 13.2px; + --fs-b3: 11.2px; + --fw-normal: 350; + --font-primary: sans-serif; + --font-secondary: sans-serif; +} \ No newline at end of file diff --git a/config/qutebrowser/theme/fromTheme.sh b/config/qutebrowser/theme/fromTheme.sh new file mode 100755 index 0000000..5f64654 --- /dev/null +++ b/config/qutebrowser/theme/fromTheme.sh @@ -0,0 +1,3 @@ +echo "$(node process.js $1)$(cat tea.less)" > temp.less +lessc temp.less out.css +echo "document.head.innerHTML += \`\`" | xclip -selection c \ No newline at end of file diff --git a/config/qutebrowser/theme/light.less b/config/qutebrowser/theme/light.less new file mode 100644 index 0000000..e9c73e7 --- /dev/null +++ b/config/qutebrowser/theme/light.less @@ -0,0 +1,400 @@ +// @background: #eff; +// @f_high: #100; +// @f_med: #211; +// @f_low: #322; +// @b_high: #bcc; +// @b_med: #cdd; +// @b_low: #dee; +// @b_inv: #0aa; + +// @f_high: hsl(180, 100%, 95%); +// @f_med: hsl(180, 90%, 90%); +// @f_low: hsl(180, 75%, 85%); +// @background: #111; +// @b_high: #2f2f2f; +// @b_med: #202020; +// @b_low: #1f1f1f; +// @b_high: #333; +// @b_med: @b_low; +// @b_low: #222; + +@f_high: #220000; +@f_med: #441100; +@f_low: #662200; + +// @b_high: hsl(0, 0%, 84%); +// @b_med: hsl(0,0%,88%); +// @b_low: hsl(0,0%,90%); +// @background: hsl(0,0%,94%); +@b_high: #d6d6d6; +@b_med: #e0e0e0; +@b_low: #e6e6e6; +@background: #f0f0f0; + +@b_inv: #b40; + +@primary: @f_high; // primary color used in main texts +@secondary: @f_med; // secondary color used in some texts and text based buttons +@tertiary: @f_med; // tertiary color used in other colored texts +@fg: @f_high; +@bg0: @background; +@bg1: @b_low; +@bg2: @b_med; +@bg3: @b_med; +@bg4: @b_high; +@red: hwb(357 45% 7%); +@orange: hwb(39 45% 13%); +@yellow: hwb(39 45% 13%); +@green: hwb(94 51% 21%); +@cyan: hwb(184 36% 24%); +@blue: #6cb6eb; +@purple: #d38aea; +@grey: #758094; +@red-bg: #55393d; +@green-bg: #394634; +@blue-bg: #354157; +@yellow-bg: #4e432f; +@button1: @b_inv; +@button2: @b_inv; +@button-red: @red; +@key: @red; +@operator: @purple; +@string: @green; +@value: @green; +@type: @yellow; +@function: @blue; +@special: @cyan; + +:root { + --is-dark-theme: true; + --color-primary: @primary; + --color-primary-contrast: @bg0; + --color-primary-dark-1: @primary; + --color-primary-dark-2: mix(@fg, @primary, 16.7%); + --color-primary-dark-3: mix(@fg, @primary, 33.3%); + --color-primary-dark-4: mix(@fg, @primary, 50%); + --color-primary-dark-5: mix(@fg, @primary, 66.6%); + --color-primary-dark-6: mix(@fg, @primary, 83.3%); + --color-primary-dark-7: @fg; + --color-primary-light-1: @primary; + --color-primary-light-2: mix(@bg2, @primary, 16.7%); + --color-primary-light-3: mix(@bg2, @primary, 33.3%); + --color-primary-light-4: mix(@bg2, @primary, 50%); + --color-primary-light-5: mix(@bg2, @primary, 66.6%); + --color-primary-light-6: mix(@bg2, @primary, 83.3%); + --color-primary-light-7: @bg2; + --color-primary-alpha-10: fade(@primary, 10%); + --color-primary-alpha-20: fade(@primary, 20%); + --color-primary-alpha-30: fade(@primary, 30%); + --color-primary-alpha-40: fade(@primary, 40%); + --color-primary-alpha-50: fade(@primary, 50%); + --color-primary-alpha-60: fade(@primary, 60%); + --color-primary-alpha-70: fade(@primary, 70%); + --color-primary-alpha-80: fade(@primary, 80%); + --color-primary-alpha-90: fade(@primary, 90%); + --color-secondary: @bg4; + --color-secondary-dark-1: @bg4; + --color-secondary-dark-2: mix(@fg, @bg4, 8.3%); + --color-secondary-dark-3: mix(@fg, @bg4, 16.7%); + --color-secondary-dark-4: mix(@fg, @bg4, 25%); + --color-secondary-dark-5: mix(@fg, @bg4, 33.3%); + --color-secondary-dark-6: mix(@fg, @bg4, 41.7%); + --color-secondary-dark-7: mix(@fg, @bg4, 50%); + --color-secondary-dark-8: mix(@fg, @bg4, 58.3%); + --color-secondary-dark-9: mix(@fg, @bg4, 66.7%); + --color-secondary-dark-10: mix(@fg, @bg4, 75%); + --color-secondary-dark-11: mix(@fg, @bg4, 83.3%); + --color-secondary-dark-12: mix(@fg, @bg4, 91.7%); + --color-secondary-dark-13: @fg; + --color-secondary-light-1: @bg4; + --color-secondary-light-2: @bg3; + --color-secondary-light-3: @bg2; + --color-secondary-light-4: @bg1; + --color-secondary-alpha-10: fade(@bg4, 10%); + --color-secondary-alpha-20: fade(@bg4, 20%); + --color-secondary-alpha-30: fade(@bg4, 30%); + --color-secondary-alpha-40: fade(@bg4, 40%); + --color-secondary-alpha-50: fade(@bg4, 50%); + --color-secondary-alpha-60: fade(@bg4, 60%); + --color-secondary-alpha-70: fade(@bg4, 70%); + --color-secondary-alpha-80: fade(@bg4, 80%); + --color-secondary-alpha-90: fade(@bg4, 90%); + /* colors */ + --color-red: @red; + --color-orange: @orange; + --color-yellow: @yellow; + --color-olive: @green; + --color-green: @green; + --color-teal: @cyan; + --color-blue: @blue; + --color-violet: @purple; + --color-purple: @purple; + --color-pink: @purple; + --color-brown: @orange; + --color-grey: @grey; + /* light variants */ + --color-red-light: @red; + --color-orange-light: @orange; + --color-yellow-light: @yellow; + --color-olive-light: @green; + --color-green-light: @green; + --color-teal-light: @cyan; + --color-blue-light: @blue; + --color-violet-light: @purple; + --color-purple-light: @purple; + --color-pink-light: @purple; + --color-brown-light: @orange; + --color-grey-light: @grey; + /* other colors */ + --color-black: @bg2; + --color-gold: @orange; + --color-white: @bg0; + --color-diff-removed-word-bg: mix(@red-bg, @red, 70%); + --color-diff-added-word-bg: mix(@green-bg, @green, 70%); + --color-diff-removed-row-bg: @red-bg; + --color-diff-moved-row-bg: @blue-bg; + --color-diff-added-row-bg: @green-bg; + --color-diff-removed-row-border: mix(@red-bg, @red, 50%); + --color-diff-moved-row-border: mix(@blue-bg, @blue, 50%); + --color-diff-added-row-border: mix(@green-bg, @green, 50%); + --color-diff-inactive: @bg2; + --color-error-border: mix(@red-bg, @red, 50%); + --color-error-bg: @red-bg; + --color-error-text: @red; + --color-success-border: mix(@green-bg, @green, 50%); + --color-success-bg: @green-bg; + --color-success-text: @green; + --color-warning-border: mix(@yellow-bg, @yellow, 50%); + --color-warning-bg: @yellow-bg; + --color-warning-text: @yellow; + --color-info-border: mix(@blue-bg, @blue, 50%); + --color-info-bg: @blue-bg; + --color-info-text: @blue; + /* target-based colors */ + --color-body: @bg0; + --color-box-header: @bg3; + // --color-box-header: @bg3; + --color-box-body: @bg1; + --color-box-body-highlight: @bg2; + --color-text-dark: @secondary; + --color-text: @fg; + --color-text-hover: fade(@fg, 80%); + --color-text-light: @tertiary; + --color-text-light-1: @tertiary; + --color-text-light-2: @secondary; + --color-text-light-3: @secondary; + --color-footer: @bg1; + --color-timeline: @bg4; + --color-input-text: @fg; + --color-input-background: @bg0; + --color-input-toggle-background: @bg1; + --color-input-border: @bg4; + --color-input-border-hover: mix(@bg4, @grey, 50%); + --color-navbar: @bg1; + --color-navbar-transparent: @bg1; + --color-nav-bg: @bg1; + --color-nav-hover-bg: @bg3; + --color-light: @bg1; + --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled))); + --color-light-border: @bg4; + --color-hover: fade(@bg4, 50%); + --color-active: fade(@bg4, 50%); + --color-menu: @bg1; + --color-card: @bg1; + --color-markup-table-row: @bg3; + --color-markup-code-block: @bg0; + --color-button: @bg3; + --color-code-bg: @bg0; + --color-code-sidebar-bg: @bg1; + --color-shadow: #00000060; + --color-secondary-bg: @bg1; + --color-text-focus: #fff; + --color-expand-button: @bg2; + --color-placeholder-text: @tertiary; + --color-editor-line-highlight: @bg1; + --color-project-board-bg: @bg0; + --color-project-board-light-label: @primary; + --color-caret: var(--color-text); /* should ideally be --color-text-dark, see #15651 */ + --color-reaction-bg: #ffffff12; + --color-reaction-active-bg: var(--color-primary-alpha-40); + --color-header-bar: @bg1; + --color-label-bg: @bg4; + --color-label-text: @tertiary; + --color-label-active-bg: @bg4; + --color-accent: var(--color-primary-light-1); + --color-small-accent: var(--color-primary-light-5); + --color-active-line: @bg1; + --color-header-wrapper: @bg2; + + accent-color: var(--color-accent); + color-scheme: light; +} + +.chroma .nx { + color: @fg; +} +.chroma .c, .chroma .c1, .chroma .ch, .chroma .cm, .chroma .sd { + color: @grey; +} +.chroma .k, .chroma .kc, .chroma .kd, .chroma .kn, .chroma .kp, .chroma .kr { + color: @key; +} +.chroma .o, .chroma .ow { + color: @operator; +} +.chroma .s, .chroma .s1, .chroma .s2, .chroma .sa, .chroma .sb, .chroma .sc, .chroma .sh, .chroma .si, .chroma .sr, .chroma .ss, .chroma .sx, .chroma .nt, .chroma .cpf { + color: @string; +} +.chroma .m, .chroma .mb, .chroma .mf, .chroma .mh, .chroma .mi, .chroma .mo, .chroma .nl { + color: @value; +} +.chroma .kt, .chroma .nc, .chroma .nn, .chroma .nv { + color: @type; +} +.chroma .nf, .chroma .nb, .chroma .na { + color: @function; +} +.chroma .bp, .chroma .cp, .chroma .ne, .chroma .nd, .chroma .se { + color: @special; +} + +/* primary buttons */ +.ui.primary.button, .ui.primary.buttons .button { + background: @button1; + background-color: @button1 !important; + color: @bg0; +} + +.ui.primary.button:hover, .ui.primary.buttons .button:hover { + background: fade(@button1, 80%); + background-color: fade(@button1, 80%) !important; + color: @bg0; +} + +.ui.grey.labels .label, .ui.ui.ui.grey.label, .ui.grey.button, .ui.grey.buttons .button { + color: @bg0; + background-color: @button1; + border-color: @button1; +} + +.ui.grey.labels .label:hover, .ui.ui.ui.grey.label:hover, .ui.grey.button:hover, .ui.grey.buttons .button:hover { + color: @bg0; + background-color: @button1; + border-color: @button1; +} + +/* secondary buttons */ +.ui.green.buttons .button, .ui.green.button { + background: @button2; + background-color: @button2; + color: @bg0; +} + +.ui.green.buttons .button:hover, .ui.green.button:hover { + background: fade(@button2, 80%); + background-color: fade(@button2, 80%); + color: @bg0; +} + +/* text based buttons (purple) */ +.ui.labeled.button.disabled>.button, .ui.basic.buttons .button, .ui.basic.button { + color: @secondary; +} + +.ui.labeled.button.disabled>.button:hover, .ui.basic.buttons .button:hover, .ui.basic.button:hover { + color: @secondary; +} + +/* repo title && header */ +.repo-title { + color: @secondary; +} + +/* star number && fork number */ +.repo-buttons button[disabled] ~ .label, +.repo-buttons .ui.labeled.button.disabled > .label { + color: @primary; +} + +.ui.basic.labels .label, .ui.basic.label { + color: @primary; +} + +/* hover on commits, branch, tags in project home page */ +.repository .ui.segment.sub-menu .list .item a:hover, +.ui.tabular.menu .item:hover { + color: var(--color-text-hover); +} + +/* commit label */ +.ui.primary.labels .label, .ui.ui.ui.primary.label { + color: @bg0; +} + +/* issue label */ +.ui.green.labels .label, .ui.ui.ui.green.label { + color: @bg0; +} + +/* grey button (rss feed button in repository home page) */ +i.grey.icon.icon.icon.icon { + color: @grey +} + +/* scroll bar */ +* { + scrollbar-color: @secondary transparent !important; +} +::-webkit-scrollbar { + width: 10px; + height: 10px; +} +::-webkit-scrollbar-thumb { + box-shadow: inset 0 0 0 6px @secondary !important; + border: 2px solid transparent; + border-radius: 5px !important; +} +::-webkit-scrollbar-thumb:window-inactive { + box-shadow: inset 0 0 0 6px @secondary !important; +} +::-webkit-scrollbar-thumb:hover { + box-shadow: inset 0 0 0 6px @secondary !important; +} +::-webkit-scrollbar-corner { + background: transparent; +} + +/* red buttons */ +.ui.red.labels .label, .ui.ui.ui.red.label, .ui.red.button, .ui.red.buttons .button { + background: @button-red; + background-color: @button-red; + color: @bg0; +} + +.ui.red.labels .label:hover, .ui.ui.ui.red.label:hover, .ui.red.button:hover, .ui.red.buttons .button:hover { + background: fade(@button-red, 80%); + background-color: fade(@button-red, 80%); + color: @bg0; +} + +/* grey buttons */ +.ui.labels a.label, a.ui.label { + background-color: @bg1; +} + +.ui.labels a.label:hover, a.ui.label:hover { + background-color: @bg0; +} + +/* orange buttons */ +.ui.orange.labels .label, .ui.ui.ui.orange.label, .ui.orange.button, .ui.orange.buttons .button { + background: @orange; + background-color: @orange; + color: @bg0; +} + +.ui.orange.labels .label:hover, .ui.ui.ui.orange.label:hover, .ui.orange.button:hover, .ui.orange.buttons .button:hover { + background: fade(@orange, 80%); + background-color: fade(@orange, 80%); + color: @bg0; +} \ No newline at end of file diff --git a/config/qutebrowser/theme/out.css b/config/qutebrowser/theme/out.css new file mode 100644 index 0000000..b93e3c5 --- /dev/null +++ b/config/qutebrowser/theme/out.css @@ -0,0 +1,54 @@ +body, +.dark-theme, +.butter-theme, +.silver-theme { + --bg-surface: #0f0f0f; + --bg-surface-transparent: rgba(15, 15, 15, 0); + --bg-surface-low: #1a1a1a; + --bg-surface-low-transparent: rgba(26, 26, 26, 0); + --bg-surface-extra-low: #242424; + --bg-surface-extra-low-transparent: rgba(36, 36, 36, 0); + --bg-surface-hover: #242424; + --bg-surface-active: #333333; + --bg-surface-border: #333333; + --bg-primary: hsl(180, 42%, 70%); + --bg-primary-hover: hsl(180, 42%, 70%); + --bg-primary-active: hsl(180, 42%, 70%); + --bg-primary-border: hsl(180, 42%, 70%); + --bg-tooltip: #000; + --bg-badge: hsl(180, 30%, 90%); + --bg-ping: hsl(180, 30%, 90%); + --bg-ping-hover: hsl(180, 30%, 90%); + --bg-divider: #1a1a1a; + --tc-surface-high: hsl(180, 30%, 90%); + --tc-surface-normal: hsl(180, 16%, 83%); + --tc-surface-normal-low: hsl(180, 10%, 77%); + --tc-surface-low: hsl(180, 10%, 77%); + --tc-primary-high: hsl(180, 30%, 90%); + --tc-primary-normal: hsl(180, 16%, 83%); + --tc-primary-low: hsl(180, 10%, 77%); + --tc-code: #e565b1; + --tc-link: hsl(180, 42%, 70%); + --tc-badge: black; + --ic-surface-high: hsl(180, 30%, 90%); + --ic-surface-normal: hsl(180, 30%, 90%); + --ic-surface-low: hsl(180, 30%, 90%); + --ic-primary-normal: #ffffff; + --bg-overlay: rgba(0, 0, 0, 0.6); + --bg-overlay-low: rgba(0, 0, 0, 0.8); + --bs-popup: 0 0 16px rgba(0, 0, 0, 0.25); + --bs-surface-border: inset 0 0 0 1px var(--bg-surface-border); + --bs-surface-outline: 0 0 0 2px var(--bg-surface-border); + --bs-primary-border: inset 0 0 0 1px var(--bg-primary-border); + --bs-primary-outline: 0 0 0 2px var(--bg-primary-border); + --fs-h1: 35.6px; + --fs-h2: 23.6px; + --fs-s1: 17.6px; + --fs-b1: 14.6px; + --ls-b1: 0.14px; + --fs-b2: 13.2px; + --fs-b3: 11.2px; + --fw-normal: 350; + --font-primary: sans-serif; + --font-secondary: sans-serif; +} diff --git a/config/qutebrowser/theme/process.js b/config/qutebrowser/theme/process.js new file mode 100644 index 0000000..c2ed8b8 --- /dev/null +++ b/config/qutebrowser/theme/process.js @@ -0,0 +1,14 @@ +const Path = require('path') +const fs = require('fs') + +let target = process.argv[2] + +let path = Path.isAbsolute(target) ? target : Path.join(process.cwd(), target) + +let out = fs.readFileSync(path).toString('utf-8').replaceAll( + / <\w+ .*? id='([a-z_]+)' fill='#([A-Za-z0-9]+)'><\/\w+>/g, + '@$1: #$2;' +) +.split('\n').filter(line => line.startsWith('@')).join('\n') + +console.log(out) \ No newline at end of file diff --git a/config/qutebrowser/theme/tea.less b/config/qutebrowser/theme/tea.less new file mode 100644 index 0000000..9acfc47 --- /dev/null +++ b/config/qutebrowser/theme/tea.less @@ -0,0 +1,389 @@ +// +// to +// @$1: #$2; + +// @background: #0A0F14; +// @f_high: #FFFFFF; +// @f_med: #98D1CE; +// @f_low: #EDB54B; +// @f_inv: #C33027; +// @b_high: #093748; +// @b_med: #081F2D; +// @b_low: #10151B; +// @b_inv: #8FAF9F; + +// @background: #E0B1CB; +// @f_high: #231942; +// @f_med: #48416d; +// @f_low: #917296; +// @f_inv: #E0B1CB; +// @b_high: #5E548E; +// @b_med: #FFFFFF; +// @b_low: #BE95C4; +// @b_inv: #9F86C0; + +@primary: @f_high; // primary color used in main texts +@secondary: @f_med; // secondary color used in some texts and text based buttons +@tertiary: @f_med; // tertiary color used in other colored texts +@fg: @f_high; +@bg0: @background; +@bg1: @b_low; +@bg2: @b_med; +@bg3: @b_high; +@bg4: @b_high; +@red: #ec7279; +@orange: #deb974; +@yellow: #deb974; +@green: #a0c980; +@cyan: #5dbbc1; +@blue: #6cb6eb; +@purple: #d38aea; +@grey: #758094; +@red-bg: #55393d; +@green-bg: #394634; +@blue-bg: #354157; +@yellow-bg: #4e432f; +@button1: @b_inv; +@button2: @b_inv; +@button-red: @red; +@key: @red; +@operator: @purple; +@string: @green; +@value: @green; +@type: @yellow; +@function: @blue; +@special: @cyan; + +:root { + --is-dark-theme: true; + --color-primary: @primary; + --color-primary-contrast: @bg0; + --color-primary-dark-1: @primary; + --color-primary-dark-2: mix(@fg, @primary, 16.7%); + --color-primary-dark-3: mix(@fg, @primary, 33.3%); + --color-primary-dark-4: mix(@fg, @primary, 50%); + --color-primary-dark-5: mix(@fg, @primary, 66.6%); + --color-primary-dark-6: mix(@fg, @primary, 83.3%); + --color-primary-dark-7: @fg; + --color-primary-light-1: @primary; + --color-primary-light-2: mix(@bg2, @primary, 16.7%); + --color-primary-light-3: mix(@bg2, @primary, 33.3%); + --color-primary-light-4: mix(@bg2, @primary, 50%); + --color-primary-light-5: mix(@bg2, @primary, 66.6%); + --color-primary-light-6: mix(@bg2, @primary, 83.3%); + --color-primary-light-7: @bg2; + --color-primary-alpha-10: fade(@primary, 10%); + --color-primary-alpha-20: fade(@primary, 20%); + --color-primary-alpha-30: fade(@primary, 30%); + --color-primary-alpha-40: fade(@primary, 40%); + --color-primary-alpha-50: fade(@primary, 50%); + --color-primary-alpha-60: fade(@primary, 60%); + --color-primary-alpha-70: fade(@primary, 70%); + --color-primary-alpha-80: fade(@primary, 80%); + --color-primary-alpha-90: fade(@primary, 90%); + --color-secondary: @bg4; + --color-secondary-dark-1: @bg4; + --color-secondary-dark-2: mix(@fg, @bg4, 8.3%); + --color-secondary-dark-3: mix(@fg, @bg4, 16.7%); + --color-secondary-dark-4: mix(@fg, @bg4, 25%); + --color-secondary-dark-5: mix(@fg, @bg4, 33.3%); + --color-secondary-dark-6: mix(@fg, @bg4, 41.7%); + --color-secondary-dark-7: mix(@fg, @bg4, 50%); + --color-secondary-dark-8: mix(@fg, @bg4, 58.3%); + --color-secondary-dark-9: mix(@fg, @bg4, 66.7%); + --color-secondary-dark-10: mix(@fg, @bg4, 75%); + --color-secondary-dark-11: mix(@fg, @bg4, 83.3%); + --color-secondary-dark-12: mix(@fg, @bg4, 91.7%); + --color-secondary-dark-13: @fg; + --color-secondary-light-1: @bg4; + --color-secondary-light-2: @bg3; + --color-secondary-light-3: @bg2; + --color-secondary-light-4: @bg1; + --color-secondary-alpha-10: fade(@bg4, 10%); + --color-secondary-alpha-20: fade(@bg4, 20%); + --color-secondary-alpha-30: fade(@bg4, 30%); + --color-secondary-alpha-40: fade(@bg4, 40%); + --color-secondary-alpha-50: fade(@bg4, 50%); + --color-secondary-alpha-60: fade(@bg4, 60%); + --color-secondary-alpha-70: fade(@bg4, 70%); + --color-secondary-alpha-80: fade(@bg4, 80%); + --color-secondary-alpha-90: fade(@bg4, 90%); + /* colors */ + --color-red: @red; + --color-orange: @orange; + --color-yellow: @yellow; + --color-olive: @green; + --color-green: @green; + --color-teal: @cyan; + --color-blue: @blue; + --color-violet: @purple; + --color-purple: @purple; + --color-pink: @purple; + --color-brown: @orange; + --color-grey: @grey; + /* light variants */ + --color-red-light: @red; + --color-orange-light: @orange; + --color-yellow-light: @yellow; + --color-olive-light: @green; + --color-green-light: @green; + --color-teal-light: @cyan; + --color-blue-light: @blue; + --color-violet-light: @purple; + --color-purple-light: @purple; + --color-pink-light: @purple; + --color-brown-light: @orange; + --color-grey-light: @grey; + /* other colors */ + --color-black: @bg2; + --color-gold: @orange; + --color-white: @bg0; + --color-diff-removed-word-bg: mix(@red-bg, @red, 70%); + --color-diff-added-word-bg: mix(@green-bg, @green, 70%); + --color-diff-removed-row-bg: @red-bg; + --color-diff-moved-row-bg: @blue-bg; + --color-diff-added-row-bg: @green-bg; + --color-diff-removed-row-border: mix(@red-bg, @red, 50%); + --color-diff-moved-row-border: mix(@blue-bg, @blue, 50%); + --color-diff-added-row-border: mix(@green-bg, @green, 50%); + --color-diff-inactive: @bg2; + --color-error-border: mix(@red-bg, @red, 50%); + --color-error-bg: @red-bg; + --color-error-text: @red; + --color-success-border: mix(@green-bg, @green, 50%); + --color-success-bg: @green-bg; + --color-success-text: @green; + --color-warning-border: mix(@yellow-bg, @yellow, 50%); + --color-warning-bg: @yellow-bg; + --color-warning-text: @yellow; + --color-info-border: mix(@blue-bg, @blue, 50%); + --color-info-bg: @blue-bg; + --color-info-text: @blue; + /* target-based colors */ + --color-body: @bg0; + --color-box-header: @bg3; + // --color-box-header: @bg3; + --color-box-body: @bg1; + --color-box-body-highlight: @bg2; + --color-text-dark: @secondary; + --color-text: @fg; + --color-text-hover: fade(@fg, 80%); + --color-text-light: @tertiary; + --color-text-light-1: @tertiary; + --color-text-light-2: @secondary; + --color-text-light-3: @secondary; + --color-footer: @bg1; + --color-timeline: @bg4; + --color-input-text: @fg; + --color-input-background: @bg0; + --color-input-toggle-background: @bg1; + --color-input-border: @bg4; + --color-input-border-hover: mix(@bg4, @grey, 50%); + --color-navbar: @bg1; + --color-navbar-transparent: @bg1; + --color-nav-bg: @bg1; + --color-nav-hover-bg: @bg3; + --color-light: @bg1; + --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled))); + --color-light-border: @bg4; + --color-hover: fade(@bg4, 50%); + --color-active: fade(@bg4, 50%); + --color-menu: @bg1; + --color-card: @bg1; + --color-markup-table-row: @bg3; + --color-markup-code-block: @bg0; + --color-button: @bg3; + --color-code-bg: @bg0; + --color-code-sidebar-bg: @bg1; + --color-shadow: #00000060; + --color-secondary-bg: @bg1; + --color-text-focus: #fff; + --color-expand-button: @bg2; + --color-placeholder-text: @tertiary; + --color-editor-line-highlight: @bg1; + --color-project-board-bg: @bg0; + --color-project-board-light-label: @primary; + --color-caret: var(--color-text); /* should ideally be --color-text-dark, see #15651 */ + --color-reaction-bg: #ffffff12; + --color-reaction-active-bg: var(--color-primary-alpha-40); + --color-header-bar: @bg1; + --color-label-bg: @bg4; + --color-label-text: @tertiary; + --color-label-active-bg: @bg4; + --color-accent: var(--color-primary-light-1); + --color-small-accent: var(--color-primary-light-5); + --color-active-line: @bg1; + --color-header-wrapper: @bg2; + + accent-color: var(--color-accent); + color-scheme: dark; +} + +.chroma .nx { + color: @fg; +} +.chroma .c, .chroma .c1, .chroma .ch, .chroma .cm, .chroma .sd { + color: @grey; +} +.chroma .k, .chroma .kc, .chroma .kd, .chroma .kn, .chroma .kp, .chroma .kr { + color: @key; +} +.chroma .o, .chroma .ow { + color: @operator; +} +.chroma .s, .chroma .s1, .chroma .s2, .chroma .sa, .chroma .sb, .chroma .sc, .chroma .sh, .chroma .si, .chroma .sr, .chroma .ss, .chroma .sx, .chroma .nt, .chroma .cpf { + color: @string; +} +.chroma .m, .chroma .mb, .chroma .mf, .chroma .mh, .chroma .mi, .chroma .mo, .chroma .nl { + color: @value; +} +.chroma .kt, .chroma .nc, .chroma .nn, .chroma .nv { + color: @type; +} +.chroma .nf, .chroma .nb, .chroma .na { + color: @function; +} +.chroma .bp, .chroma .cp, .chroma .ne, .chroma .nd, .chroma .se { + color: @special; +} + +/* primary buttons */ +.ui.primary.button, .ui.primary.buttons .button { + background: @button1; + background-color: @button1 !important; + color: @bg0; +} + +.ui.primary.button:hover, .ui.primary.buttons .button:hover { + background: fade(@button1, 80%); + background-color: fade(@button1, 80%) !important; + color: @bg0; +} + +.ui.grey.labels .label, .ui.ui.ui.grey.label, .ui.grey.button, .ui.grey.buttons .button { + color: @bg0; + background-color: @button1; + border-color: @button1; +} + +.ui.grey.labels .label:hover, .ui.ui.ui.grey.label:hover, .ui.grey.button:hover, .ui.grey.buttons .button:hover { + color: @bg0; + background-color: @button1; + border-color: @button1; +} + +/* secondary buttons */ +.ui.green.buttons .button, .ui.green.button { + background: @button2; + background-color: @button2; + color: @bg0; +} + +.ui.green.buttons .button:hover, .ui.green.button:hover { + background: fade(@button2, 80%); + background-color: fade(@button2, 80%); + color: @bg0; +} + +/* text based buttons (purple) */ +.ui.labeled.button.disabled>.button, .ui.basic.buttons .button, .ui.basic.button { + color: @secondary; +} + +.ui.labeled.button.disabled>.button:hover, .ui.basic.buttons .button:hover, .ui.basic.button:hover { + color: @secondary; +} + +/* repo title && header */ +.repo-title { + color: @secondary; +} + +/* star number && fork number */ +.repo-buttons button[disabled] ~ .label, +.repo-buttons .ui.labeled.button.disabled > .label { + color: @primary; +} + +.ui.basic.labels .label, .ui.basic.label { + color: @primary; +} + +/* hover on commits, branch, tags in project home page */ +.repository .ui.segment.sub-menu .list .item a:hover, +.ui.tabular.menu .item:hover { + color: var(--color-text-hover); +} + +/* commit label */ +.ui.primary.labels .label, .ui.ui.ui.primary.label { + color: @bg0; +} + +/* issue label */ +.ui.green.labels .label, .ui.ui.ui.green.label { + color: @bg0; +} + +/* grey button (rss feed button in repository home page) */ +i.grey.icon.icon.icon.icon { + color: @grey +} + +/* scroll bar */ +* { + scrollbar-color: @secondary transparent !important; +} +::-webkit-scrollbar { + width: 10px; + height: 10px; +} +::-webkit-scrollbar-thumb { + box-shadow: inset 0 0 0 6px @secondary !important; + border: 2px solid transparent; + border-radius: 5px !important; +} +::-webkit-scrollbar-thumb:window-inactive { + box-shadow: inset 0 0 0 6px @secondary !important; +} +::-webkit-scrollbar-thumb:hover { + box-shadow: inset 0 0 0 6px @secondary !important; +} +::-webkit-scrollbar-corner { + background: transparent; +} + +/* red buttons */ +.ui.red.labels .label, .ui.ui.ui.red.label, .ui.red.button, .ui.red.buttons .button { + background: @button-red; + background-color: @button-red; + color: @bg0; +} + +.ui.red.labels .label:hover, .ui.ui.ui.red.label:hover, .ui.red.button:hover, .ui.red.buttons .button:hover { + background: fade(@button-red, 80%); + background-color: fade(@button-red, 80%); + color: @bg0; +} + +/* grey buttons */ +.ui.labels a.label, a.ui.label { + background-color: @bg1; +} + +.ui.labels a.label:hover, a.ui.label:hover { + background-color: @bg0; +} + +/* orange buttons */ +.ui.orange.labels .label, .ui.ui.ui.orange.label, .ui.orange.button, .ui.orange.buttons .button { + background: @orange; + background-color: @orange; + color: @bg0; +} + +.ui.orange.labels .label:hover, .ui.ui.ui.orange.label:hover, .ui.orange.button:hover, .ui.orange.buttons .button:hover { + background: fade(@orange, 80%); + background-color: fade(@orange, 80%); + color: @bg0; +} \ No newline at end of file diff --git a/config/qutebrowser/theme/temp.less b/config/qutebrowser/theme/temp.less new file mode 100644 index 0000000..58c76f2 --- /dev/null +++ b/config/qutebrowser/theme/temp.less @@ -0,0 +1,397 @@ +@background: #d09090; +@f_high: #000000; +@f_med: #fffafa; +@f_low: #6ea2a1; +@f_inv: #ff1493; +@b_high: #7fffd4; +@b_med: #6ADEDC; +@b_low: #b08686; +@b_inv: #7fffd4;// +// to +// @$1: #$2; + +// @background: #0A0F14; +// @f_high: #FFFFFF; +// @f_med: #98D1CE; +// @f_low: #EDB54B; +// @f_inv: #C33027; +// @b_high: #093748; +// @b_med: #081F2D; +// @b_low: #10151B; +// @b_inv: #8FAF9F; + +// @background: #E0B1CB; +// @f_high: #231942; +// @f_med: #48416d; +// @f_low: #917296; +// @f_inv: #E0B1CB; +// @b_high: #5E548E; +// @b_med: #FFFFFF; +// @b_low: #BE95C4; +// @b_inv: #9F86C0; + +@primary: @f_high; // primary color used in main texts +@secondary: @f_med; // secondary color used in some texts and text based buttons +@tertiary: @f_med; // tertiary color used in other colored texts +@fg: @f_high; +@bg0: @background; +@bg1: @b_low; +@bg2: @b_med; +@bg3: @b_high; +@bg4: @b_high; +@red: #ec7279; +@orange: #deb974; +@yellow: #deb974; +@green: #a0c980; +@cyan: #5dbbc1; +@blue: #6cb6eb; +@purple: #d38aea; +@grey: #758094; +@red-bg: #55393d; +@green-bg: #394634; +@blue-bg: #354157; +@yellow-bg: #4e432f; +@button1: @b_inv; +@button2: @b_inv; +@button-red: @red; +@key: @red; +@operator: @purple; +@string: @green; +@value: @green; +@type: @yellow; +@function: @blue; +@special: @cyan; + +:root { + --is-dark-theme: true; + --color-primary: @primary; + --color-primary-contrast: @bg0; + --color-primary-dark-1: @primary; + --color-primary-dark-2: mix(@fg, @primary, 16.7%); + --color-primary-dark-3: mix(@fg, @primary, 33.3%); + --color-primary-dark-4: mix(@fg, @primary, 50%); + --color-primary-dark-5: mix(@fg, @primary, 66.6%); + --color-primary-dark-6: mix(@fg, @primary, 83.3%); + --color-primary-dark-7: @fg; + --color-primary-light-1: @primary; + --color-primary-light-2: mix(@bg2, @primary, 16.7%); + --color-primary-light-3: mix(@bg2, @primary, 33.3%); + --color-primary-light-4: mix(@bg2, @primary, 50%); + --color-primary-light-5: mix(@bg2, @primary, 66.6%); + --color-primary-light-6: mix(@bg2, @primary, 83.3%); + --color-primary-light-7: @bg2; + --color-primary-alpha-10: fade(@primary, 10%); + --color-primary-alpha-20: fade(@primary, 20%); + --color-primary-alpha-30: fade(@primary, 30%); + --color-primary-alpha-40: fade(@primary, 40%); + --color-primary-alpha-50: fade(@primary, 50%); + --color-primary-alpha-60: fade(@primary, 60%); + --color-primary-alpha-70: fade(@primary, 70%); + --color-primary-alpha-80: fade(@primary, 80%); + --color-primary-alpha-90: fade(@primary, 90%); + --color-secondary: @bg4; + --color-secondary-dark-1: @bg4; + --color-secondary-dark-2: mix(@fg, @bg4, 8.3%); + --color-secondary-dark-3: mix(@fg, @bg4, 16.7%); + --color-secondary-dark-4: mix(@fg, @bg4, 25%); + --color-secondary-dark-5: mix(@fg, @bg4, 33.3%); + --color-secondary-dark-6: mix(@fg, @bg4, 41.7%); + --color-secondary-dark-7: mix(@fg, @bg4, 50%); + --color-secondary-dark-8: mix(@fg, @bg4, 58.3%); + --color-secondary-dark-9: mix(@fg, @bg4, 66.7%); + --color-secondary-dark-10: mix(@fg, @bg4, 75%); + --color-secondary-dark-11: mix(@fg, @bg4, 83.3%); + --color-secondary-dark-12: mix(@fg, @bg4, 91.7%); + --color-secondary-dark-13: @fg; + --color-secondary-light-1: @bg4; + --color-secondary-light-2: @bg3; + --color-secondary-light-3: @bg2; + --color-secondary-light-4: @bg1; + --color-secondary-alpha-10: fade(@bg4, 10%); + --color-secondary-alpha-20: fade(@bg4, 20%); + --color-secondary-alpha-30: fade(@bg4, 30%); + --color-secondary-alpha-40: fade(@bg4, 40%); + --color-secondary-alpha-50: fade(@bg4, 50%); + --color-secondary-alpha-60: fade(@bg4, 60%); + --color-secondary-alpha-70: fade(@bg4, 70%); + --color-secondary-alpha-80: fade(@bg4, 80%); + --color-secondary-alpha-90: fade(@bg4, 90%); + /* colors */ + --color-red: @red; + --color-orange: @orange; + --color-yellow: @yellow; + --color-olive: @green; + --color-green: @green; + --color-teal: @cyan; + --color-blue: @blue; + --color-violet: @purple; + --color-purple: @purple; + --color-pink: @purple; + --color-brown: @orange; + --color-grey: @grey; + /* light variants */ + --color-red-light: @red; + --color-orange-light: @orange; + --color-yellow-light: @yellow; + --color-olive-light: @green; + --color-green-light: @green; + --color-teal-light: @cyan; + --color-blue-light: @blue; + --color-violet-light: @purple; + --color-purple-light: @purple; + --color-pink-light: @purple; + --color-brown-light: @orange; + --color-grey-light: @grey; + /* other colors */ + --color-black: @bg2; + --color-gold: @orange; + --color-white: @bg0; + --color-diff-removed-word-bg: mix(@red-bg, @red, 70%); + --color-diff-added-word-bg: mix(@green-bg, @green, 70%); + --color-diff-removed-row-bg: @red-bg; + --color-diff-moved-row-bg: @blue-bg; + --color-diff-added-row-bg: @green-bg; + --color-diff-removed-row-border: mix(@red-bg, @red, 50%); + --color-diff-moved-row-border: mix(@blue-bg, @blue, 50%); + --color-diff-added-row-border: mix(@green-bg, @green, 50%); + --color-diff-inactive: @bg2; + --color-error-border: mix(@red-bg, @red, 50%); + --color-error-bg: @red-bg; + --color-error-text: @red; + --color-success-border: mix(@green-bg, @green, 50%); + --color-success-bg: @green-bg; + --color-success-text: @green; + --color-warning-border: mix(@yellow-bg, @yellow, 50%); + --color-warning-bg: @yellow-bg; + --color-warning-text: @yellow; + --color-info-border: mix(@blue-bg, @blue, 50%); + --color-info-bg: @blue-bg; + --color-info-text: @blue; + /* target-based colors */ + --color-body: @bg0; + --color-box-header: @bg3; + // --color-box-header: @bg3; + --color-box-body: @bg1; + --color-box-body-highlight: @bg2; + --color-text-dark: @secondary; + --color-text: @fg; + --color-text-hover: fade(@fg, 80%); + --color-text-light: @tertiary; + --color-text-light-1: @tertiary; + --color-text-light-2: @secondary; + --color-text-light-3: @secondary; + --color-footer: @bg1; + --color-timeline: @bg4; + --color-input-text: @fg; + --color-input-background: @bg0; + --color-input-toggle-background: @bg1; + --color-input-border: @bg4; + --color-input-border-hover: mix(@bg4, @grey, 50%); + --color-navbar: @bg1; + --color-navbar-transparent: @bg1; + --color-nav-bg: @bg1; + --color-nav-hover-bg: @bg3; + --color-light: @bg1; + --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled))); + --color-light-border: @bg4; + --color-hover: fade(@bg4, 50%); + --color-active: fade(@bg4, 50%); + --color-menu: @bg1; + --color-card: @bg1; + --color-markup-table-row: @bg3; + --color-markup-code-block: @bg0; + --color-button: @bg3; + --color-code-bg: @bg0; + --color-code-sidebar-bg: @bg1; + --color-shadow: #00000060; + --color-secondary-bg: @bg1; + --color-text-focus: #fff; + --color-expand-button: @bg2; + --color-placeholder-text: @tertiary; + --color-editor-line-highlight: @bg1; + --color-project-board-bg: @bg0; + --color-project-board-light-label: @primary; + --color-caret: var(--color-text); /* should ideally be --color-text-dark, see #15651 */ + --color-reaction-bg: #ffffff12; + --color-reaction-active-bg: var(--color-primary-alpha-40); + --color-header-bar: @bg1; + --color-label-bg: @bg4; + --color-label-text: @tertiary; + --color-label-active-bg: @bg4; + --color-accent: var(--color-primary-light-1); + --color-small-accent: var(--color-primary-light-5); + --color-active-line: @bg1; + --color-header-wrapper: @bg2; + + accent-color: var(--color-accent); + color-scheme: dark; +} + +.chroma .nx { + color: @fg; +} +.chroma .c, .chroma .c1, .chroma .ch, .chroma .cm, .chroma .sd { + color: @grey; +} +.chroma .k, .chroma .kc, .chroma .kd, .chroma .kn, .chroma .kp, .chroma .kr { + color: @key; +} +.chroma .o, .chroma .ow { + color: @operator; +} +.chroma .s, .chroma .s1, .chroma .s2, .chroma .sa, .chroma .sb, .chroma .sc, .chroma .sh, .chroma .si, .chroma .sr, .chroma .ss, .chroma .sx, .chroma .nt, .chroma .cpf { + color: @string; +} +.chroma .m, .chroma .mb, .chroma .mf, .chroma .mh, .chroma .mi, .chroma .mo, .chroma .nl { + color: @value; +} +.chroma .kt, .chroma .nc, .chroma .nn, .chroma .nv { + color: @type; +} +.chroma .nf, .chroma .nb, .chroma .na { + color: @function; +} +.chroma .bp, .chroma .cp, .chroma .ne, .chroma .nd, .chroma .se { + color: @special; +} + +/* primary buttons */ +.ui.primary.button, .ui.primary.buttons .button { + background: @button1; + background-color: @button1 !important; + color: @bg0; +} + +.ui.primary.button:hover, .ui.primary.buttons .button:hover { + background: fade(@button1, 80%); + background-color: fade(@button1, 80%) !important; + color: @bg0; +} + +.ui.grey.labels .label, .ui.ui.ui.grey.label, .ui.grey.button, .ui.grey.buttons .button { + color: @bg0; + background-color: @button1; + border-color: @button1; +} + +.ui.grey.labels .label:hover, .ui.ui.ui.grey.label:hover, .ui.grey.button:hover, .ui.grey.buttons .button:hover { + color: @bg0; + background-color: @button1; + border-color: @button1; +} + +/* secondary buttons */ +.ui.green.buttons .button, .ui.green.button { + background: @button2; + background-color: @button2; + color: @bg0; +} + +.ui.green.buttons .button:hover, .ui.green.button:hover { + background: fade(@button2, 80%); + background-color: fade(@button2, 80%); + color: @bg0; +} + +/* text based buttons (purple) */ +.ui.labeled.button.disabled>.button, .ui.basic.buttons .button, .ui.basic.button { + color: @secondary; +} + +.ui.labeled.button.disabled>.button:hover, .ui.basic.buttons .button:hover, .ui.basic.button:hover { + color: @secondary; +} + +/* repo title && header */ +.repo-title { + color: @secondary; +} + +/* star number && fork number */ +.repo-buttons button[disabled] ~ .label, +.repo-buttons .ui.labeled.button.disabled > .label { + color: @primary; +} + +.ui.basic.labels .label, .ui.basic.label { + color: @primary; +} + +/* hover on commits, branch, tags in project home page */ +.repository .ui.segment.sub-menu .list .item a:hover, +.ui.tabular.menu .item:hover { + color: var(--color-text-hover); +} + +/* commit label */ +.ui.primary.labels .label, .ui.ui.ui.primary.label { + color: @bg0; +} + +/* issue label */ +.ui.green.labels .label, .ui.ui.ui.green.label { + color: @bg0; +} + +/* grey button (rss feed button in repository home page) */ +i.grey.icon.icon.icon.icon { + color: @grey +} + +/* scroll bar */ +* { + scrollbar-color: @secondary transparent !important; +} +::-webkit-scrollbar { + width: 10px; + height: 10px; +} +::-webkit-scrollbar-thumb { + box-shadow: inset 0 0 0 6px @secondary !important; + border: 2px solid transparent; + border-radius: 5px !important; +} +::-webkit-scrollbar-thumb:window-inactive { + box-shadow: inset 0 0 0 6px @secondary !important; +} +::-webkit-scrollbar-thumb:hover { + box-shadow: inset 0 0 0 6px @secondary !important; +} +::-webkit-scrollbar-corner { + background: transparent; +} + +/* red buttons */ +.ui.red.labels .label, .ui.ui.ui.red.label, .ui.red.button, .ui.red.buttons .button { + background: @button-red; + background-color: @button-red; + color: @bg0; +} + +.ui.red.labels .label:hover, .ui.ui.ui.red.label:hover, .ui.red.button:hover, .ui.red.buttons .button:hover { + background: fade(@button-red, 80%); + background-color: fade(@button-red, 80%); + color: @bg0; +} + +/* grey buttons */ +.ui.labels a.label, a.ui.label { + background-color: @bg1; +} + +.ui.labels a.label:hover, a.ui.label:hover { + background-color: @bg0; +} + +/* orange buttons */ +.ui.orange.labels .label, .ui.ui.ui.orange.label, .ui.orange.button, .ui.orange.buttons .button { + background: @orange; + background-color: @orange; + color: @bg0; +} + +.ui.orange.labels .label:hover, .ui.ui.ui.orange.label:hover, .ui.orange.button:hover, .ui.orange.buttons .button:hover { + background: fade(@orange, 80%); + background-color: fade(@orange, 80%); + color: @bg0; +} diff --git a/config/rofi/config.rasi b/config/rofi/config.rasi new file mode 100644 index 0000000..c74465b --- /dev/null +++ b/config/rofi/config.rasi @@ -0,0 +1,6 @@ +configuration { + modes: [ combi ]; + combi-modes: [ window, drun, run, dmenu ]; +} + +@theme "theme" \ No newline at end of file diff --git a/config/rofi/theme.rasi b/config/rofi/theme.rasi new file mode 100644 index 0000000..59ba0bd --- /dev/null +++ b/config/rofi/theme.rasi @@ -0,0 +1,159 @@ +// Kaolin Dark theme for Rofi +// by Dakedres +// edited from a theme by Qball + +* { + base00: #18181B; + base01: #222225; + base02: #4B5254; + base03: #545C5E; + base04: #879193; + base05: #9ba5a7; + base06: #d0d0d4; + base07: #E4E4E8; + base08: #CD5C60; + base09: #DBAC66; + base0A: #F2C866; + base0B: #6FB593; + base0C: #4D9391; + base0D: #91B9C7; + base0E: #845A84; + base0F: #E36D5B; + + foreground: @base05; + normal-foreground: @foreground; + alternate-normal-foreground: @foreground; + selected-urgent-foreground: rgba ( 245, 245, 245, 100 % ); + urgent-foreground: rgba ( 215, 95, 0, 100 % ); + alternate-urgent-background: rgba ( 208, 208, 208, 100 % ); + active-foreground: rgba ( 0, 95, 135, 100 % ); + selected-active-foreground: rgba ( 245, 245, 245, 100 % ); + background: @base00; + normal-background: @base00; + alternate-normal-background: @base01; + selected-normal-background: @base0C; + selected-normal-foreground: @base07; + border-color: @base02; + spacing: 2; + separator: @border-color; + urgent-background: rgba ( 245, 245, 245, 100 % ); + selected-urgent-background: rgba ( 215, 95, 0, 100 % ); + alternate-urgent-foreground: @urgent-foreground; + background-color: rgba ( 0, 0, 0, 0 % ); + active-background: @base0C; + alternate-active-background: @active-background; + selected-active-background: @active-background; +} +window { + location: north; + anchor: north; + background-color: @background; + border: 1; + padding: 5; + y-offset: 20; + c: "Ubuntu Mono 11"; +} +mainbox { + border: 0; + padding: 0; +} +message { + border: 2px 0px 0px ; + border-color: @separator; + padding: 1px ; +} +textbox { + text-color: @foreground; +} +listview { + fixed-height: 0; + border: 2px 0px 0px ; + border-color: @separator; + spacing: 2px ; + scrollbar: true; + padding: 2px 0px 0px ; +} +element { + border: 0; + padding: 1px ; +} +element-text { + background-color: inherit; + text-color: inherit; +} +element.normal.normal { + background-color: @normal-background; + text-color: @normal-foreground; +} +element.normal.urgent { + background-color: @urgent-background; + text-color: @urgent-foreground; +} +element.normal.active { + background-color: @active-background; + text-color: @active-foreground; +} +element.selected.normal { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} +element.selected.urgent { + background-color: @selected-urgent-background; + text-color: @selected-urgent-foreground; +} +element.selected.active { + background-color: @selected-active-background; + text-color: @selected-active-foreground; +} +element.alternate.normal { + background-color: @alternate-normal-background; + text-color: @alternate-normal-foreground; +} +element.alternate.urgent { + background-color: @alternate-urgent-background; + text-color: @alternate-urgent-foreground; +} +element.alternate.active { + background-color: @alternate-active-background; + text-color: @alternate-active-foreground; +} +scrollbar { + width: 4px ; + border: 0; + handle-width: 8px ; + padding: 0; +} +mode-switcher { + border: 2px 0px 0px ; + border-color: @separator; +} +button.selected { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} +inputbar { + spacing: 0; + text-color: @normal-foreground; + padding: 1px ; +} +case-indicator { + spacing: 0; + text-color: @normal-foreground; +} +entry { + spacing: 0; + text-color: @normal-foreground; +} +prompt { + spacing: 0; + text-color: @normal-foreground; +} +inputbar { + children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; +} +textbox-prompt-colon { + expand: false; + str: ":"; + margin: 0px 0.3em 0em 0em ; + text-color: @normal-foreground; +} diff --git a/config/sxhkd/sxhkdrc b/config/sxhkd/sxhkdrc new file mode 100755 index 0000000..40ab269 --- /dev/null +++ b/config/sxhkd/sxhkdrc @@ -0,0 +1,177 @@ +# +# wm independent hotkeys +# + +# Open kitty +alt + Return + kitty + +# Open floating kitty +alt + shift + Return + bsp-float kitty + +# launch program +alt + @space + rofi -show run + +# launch program as root +alt + shift + @space + rofi-ask rofi -show drun -run-command "sudo -A {cmd}" + +# make sxhkd reload its configuration files: +alt + Escape + pkill -USR1 -x sxhkd; notify-send 'Key daemon reloaded' + +# Start a qutebrowser search +alt + o + qutesearch + +# Show keybinds +alt + slash + sxhkd-help + +# Show clipmenu +alt + v + rofi -modi "clipboard:greenclip print" -show clipboard -run-command '{cmd}' + +alt + shift + v + greenclip clear + +# +# bspwm hotkeys +# + +# quit/restart bspwm +alt + shift + {q,r} + bspc {quit,wm -r} + +# close and kill +alt + {_,shift + }w + bspc node -{c,k} + +alt + q + bspc node -c + +# alternate between the tiled and monocle layout +alt + m + bspc desktop -l next + +# send the newest marked node to the newest preselected node +alt + y + bspc node newest.marked.local -n newest.!automatic.local + +# swap the current node and the biggest window +alt + g + bspc node -s biggest.window + +# Reveal hidden kitty (scratchpad) +alt + super + Return + bsp-toggle-visibility KittyScratch "kitty --class KittyScratch" + +# flameshot +alt + Print + flameshot gui + +# +# state/flags +# + +# set the window state +alt + {z,shift + z,x,f} + bspc node -t {tiled,pseudo_tiled,floating,fullscreen} + +# set the node flags +alt + ctrl + {m,x,y,z} + bspc node -g {marked,locked,sticky,private} + +# +# focus/swap +# + +# focus the node in the given direction +alt + {h,j,k,l,Left,Down,Up,Right} + bspc node -{f} {west,south,north,east,west,south,north,east} + +# focus the node for the given path jump +alt + {p,b,comma,period} + bspc node -f @{parent,brother,first,second} + +# focus the next/previous window in the current desktop +alt + {a,d} + bspc node -f {next,prev}.local.!hidden.window + +# focus the next/previous desktop in the current monitor +alt + bracket{left,right} + bspc desktop -f {prev,next}.local + +# focus the last node/desktop +alt + {grave,Tab} + bspc {node,desktop} -f last + +# focus the older or newer node in the focus history +alt + {o,i} + bspc wm -h off; \ + bspc node {older,newer} -f; \ + bspc wm -h on + +# focus or send to the given desktop +alt + {_,shift + }{1-9,0} + bspc {desktop -f,node -d} '^{1-9,10}' + +# +# preselect +# + +# preselect the direction +alt + ctrl + shift {h,j,k,l,Left,Down,Up,Right} + bspc node -p {west,south,north,east,west,south,north,east} + +# preselect the ratio +alt + ctrl + {1-9} + bspc node -o 0.{1-9} + +# cancel the preselection for the focused node +alt + ctrl + space + bspc node -p cancel + +# cancel the preselection for the focused desktop +alt + ctrl + shift + space + bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel + +# +# move/resize +# + +# Expand/contract a window by moving one of its side outward/inward + +alt + s ; {h,j,k,l,Left,Down,Up,Right} + STEP=20; SELECTION={1,2,3,4,1,2,3,4}; \ + bspc node -z $(echo "left -$STEP 0,bottom 0 $STEP,top 0 -$STEP,right $STEP 0" | cut -d',' -f$SELECTION) || \ + bspc node -z $(echo "right -$STEP 0,top 0 $STEP,bottom 0 -$STEP,left $STEP 0" | cut -d',' -f$SELECTION) + +# move a floating window +alt + {h,j,k,l} + bspc node -v {-30 0,0 20,0 -30,20 0} + +# move a not-floating window +alt + shift + {h,j,k,l,Left,Down,Up,Right} + bsp-smove {west,south,north,east,west,south,north,east} + +# +# tabs +# + +# move in/out of tabbed container +alt + ctrl + {h,j,k,l,Left,Down,Up,Right} + tabc-smart-detach {west,south,north,east,west,south,north,east} + +# tab/untab window +alt + t + id=$(bspc query -N -n); \ + [[ "$(tabc printclass $id)" == "tabbed" ]] \ + && tabc detach $id \ + || tabc create $id + +# toggle autoattach in tabbed container +alt + shift + t + tabc autoattach $(bspc query -N -n) \ No newline at end of file diff --git a/config/sxhkd/sxhkdrc.save b/config/sxhkd/sxhkdrc.save new file mode 100755 index 0000000..1113480 --- /dev/null +++ b/config/sxhkd/sxhkdrc.save @@ -0,0 +1,121 @@ +# +# wm independent hotkeys +# + +# terminal emulator +super + Return + kitty + +# program launcher +super + @space + + +# make sxhkd reload its configuration files: +super + Escape + pkill -USR1 -x sxhkd + +# +# bspwm hotkeys +# + +# quit/restart bspwm +super + alt + {q,r} + bspc {quit,wm -r} + +# close and kill +super + {_,shift + }w + bspc node -{c,k} + +# alternate between the tiled and monocle layout +super + m + bspc desktop -l next + +# send the newest marked node to the newest preselected node +super + y + bspc node newest.marked.local -n newest.!automatic.local + +# swap the current node and the biggest window +super + g + bspc node -s biggest.window + +# +# state/flags +# + +# set the window state +super + {t,shift + t,s,f} + bspc node -t {tiled,pseudo_tiled,floating,fullscreen} + +# set the node flags +super + ctrl + {m,x,y,z} + bspc node -g {marked,locked,sticky,private} + +# +# focus/swap +# + +# focus the node in the given direction +super + {_,shift + }{h,j,k,l} + bspc node -{f,s} {west,south,north,east} + +# focus the node for the given path jump +super + {p,b,comma,period} + bspc node -f @{parent,brother,first,second} + +# focus the next/previous window in the current desktop +super + {_,shift + }c + bspc node -f {next,prev}.local.!hidden.window + +# focus the next/previous desktop in the current monitor +super + bracket{left,right} + bspc desktop -f {prev,next}.local + +# focus the last node/desktop +super + {grave,Tab} + bspc {node,desktop} -f last + +# focus the older or newer node in the focus history +super + {o,i} + bspc wm -h off; \ + bspc node {older,newer} -f; \ + bspc wm -h on + +# focus or send to the given desktop +super + {_,shift + }{1-9,0} + bspc {desktop -f,node -d} '^{1-9,10}' + +# +# preselect +# + +# preselect the direction +super + ctrl + {h,j,k,l} + bspc node -p {west,south,north,east} + +# preselect the ratio +super + ctrl + {1-9} + bspc node -o 0.{1-9} + +# cancel the preselection for the focused node +super + ctrl + space + bspc node -p cancel + +# cancel the preselection for the focused desktop +super + ctrl + shift + space + bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel + +# +# move/resize +# + +# expand a window by moving one of its side outward +super + alt + {h,j,k,l} + bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0} + +# contract a window by moving one of its side inward +super + alt + shift + {h,j,k,l} + bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0} + +# move a floating window +super + {Left,Down,Up,Right} + bspc node -v {-20 0,0 20,0 -20,20 0} diff --git a/config/tint2/tint2rc b/config/tint2/tint2rc new file mode 100755 index 0000000..5861cbe --- /dev/null +++ b/config/tint2/tint2rc @@ -0,0 +1,290 @@ +#---- Generated by tint2conf 6ad2 ---- +# See https://gitlab.com/o9000/tint2/wikis/Configure for +# full documentation of the configuration options. +#------------------------------------- +# Gradients +# Gradient 1 +gradient = horizontal +start_color = #000000 60 +end_color = #000000 0 +color_stop = 60.000000 #000000 49 +color_stop = 0.000000 #000000 90 + +#------------------------------------- +# Backgrounds +# Background 1: Panel +rounded = 0 +border_width = 0 +border_sides = TBLR +border_content_tint_weight = 0 +background_content_tint_weight = 0 +background_color = #000000 0 +border_color = #000000 0 +gradient_id = 1 +background_color_hover = #000000 0 +border_color_hover = #000000 0 +background_color_pressed = #000000 0 +border_color_pressed = #000000 30 + +# Background 2: Active desktop name +rounded = 4 +border_width = 1 +border_sides = TBLR +border_content_tint_weight = 0 +background_content_tint_weight = 0 +background_color = #777777 20 +border_color = #777777 30 +background_color_hover = #aaaaaa 22 +border_color_hover = #eaeaea 44 +background_color_pressed = #555555 4 +border_color_pressed = #eaeaea 44 + +# Background 3: Active task +rounded = 4 +border_width = 1 +border_sides = TBLR +border_content_tint_weight = 0 +background_content_tint_weight = 0 +background_color = #777777 20 +border_color = #ffffff 40 +background_color_hover = #aaaaaa 22 +border_color_hover = #eaeaea 44 +background_color_pressed = #555555 4 +border_color_pressed = #eaeaea 44 + +# Background 4: Urgent task +rounded = 4 +border_width = 1 +border_sides = TBLR +border_content_tint_weight = 0 +background_content_tint_weight = 0 +background_color = #aa4400 100 +border_color = #aa7733 100 +background_color_hover = #cc7700 100 +border_color_hover = #aa7733 100 +background_color_pressed = #555555 4 +border_color_pressed = #aa7733 100 + +# Background 5: Tooltip +rounded = 1 +border_width = 1 +border_sides = TBLR +border_content_tint_weight = 0 +background_content_tint_weight = 0 +background_color = #000000 30 +border_color = #000000 0 +background_color_hover = #ffffaa 100 +border_color_hover = #000000 100 +background_color_pressed = #ffffaa 100 +border_color_pressed = #000000 100 + +#------------------------------------- +# Panel +panel_items = PT:S:C:E +panel_size = 100% 40 +panel_margin = 0 0 +panel_padding = 2 0 2 +panel_background_id = 1 +wm_menu = 1 +panel_dock = 0 +panel_pivot_struts = 0 +panel_position = bottom left vertical +panel_layer = top +panel_monitor = all +panel_shrink = 0 +autohide = 0 +autohide_show_timeout = 0 +autohide_hide_timeout = 0.5 +autohide_height = 2 +strut_policy = follow_size +panel_window_name = tint2 +disable_transparency = 0 +mouse_effects = 1 +font_shadow = 0 +mouse_hover_icon_asb = 100 0 10 +mouse_pressed_icon_asb = 100 0 0 +scale_relative_to_dpi = 0 +scale_relative_to_screen_height = 0 + +#------------------------------------- +# Taskbar +taskbar_mode = multi_desktop +taskbar_hide_if_empty = 0 +taskbar_padding = 0 2 4 +taskbar_background_id = 0 +taskbar_active_background_id = 0 +taskbar_name = 1 +taskbar_hide_inactive_tasks = 0 +taskbar_hide_different_monitor = 0 +taskbar_hide_different_desktop = 0 +taskbar_always_show_all_desktop_tasks = 0 +taskbar_name_padding = 1 0 +taskbar_name_background_id = 0 +taskbar_name_active_background_id = 2 +taskbar_name_font_color = #e3e3e3 100 +taskbar_name_active_font_color = #ffffff 100 +taskbar_distribute_size = 1 +taskbar_sort_order = none +task_align = left + +#------------------------------------- +# Task +task_text = 0 +task_icon = 1 +task_centered = 1 +urgent_nb_of_blink = 100000 +task_maximum_size = 150 35 +task_padding = 2 2 4 +task_tooltip = 1 +task_thumbnail = 1 +task_thumbnail_size = 210 +task_font_color = #ffffff 100 +task_background_id = 0 +task_active_background_id = 3 +task_urgent_background_id = 4 +task_iconified_background_id = 0 +mouse_left = toggle +mouse_middle = none +mouse_right = close +mouse_scroll_up = desktop_left +mouse_scroll_down = desktop_right + +#------------------------------------- +# System tray (notification area) +systray_padding = 0 4 2 +systray_background_id = 0 +systray_sort = ascending +systray_icon_size = 24 +systray_icon_asb = 100 0 0 +systray_monitor = 1 +systray_name_filter = + +#------------------------------------- +# Launcher +launcher_padding = 2 4 2 +launcher_background_id = 0 +launcher_icon_background_id = 0 +launcher_icon_size = 24 +launcher_icon_asb = 100 0 0 +launcher_icon_theme_override = 0 +startup_notifications = 1 +launcher_tooltip = 1 +launcher_item_app = tint2conf.desktop +launcher_item_app = firefox.desktop +launcher_item_app = iceweasel.desktop +launcher_item_app = chromium-browser.desktop +launcher_item_app = google-chrome.desktop + +#------------------------------------- +# Clock +time1_format = %H +time2_format = %M +time1_font = Ubuntu Mono Bold 10 +time1_timezone = +time2_timezone = +time2_font = Ubuntu Mono Medium 10 +clock_font_color = #ffffff 100 +clock_padding = 2 0 +clock_background_id = 0 +clock_tooltip = +clock_tooltip_timezone = +clock_lclick_command = +clock_rclick_command = orage +clock_mclick_command = +clock_uwheel_command = +clock_dwheel_command = + +#------------------------------------- +# Battery +battery_tooltip = 1 +battery_low_status = 10 +battery_low_cmd = xmessage 'tint2: Battery low!' +battery_full_cmd = +battery_font_color = #ffffff 100 +bat1_format = +bat2_format = +battery_padding = 1 0 +battery_background_id = 0 +battery_hide = 101 +battery_lclick_command = +battery_rclick_command = +battery_mclick_command = +battery_uwheel_command = +battery_dwheel_command = +ac_connected_cmd = +ac_disconnected_cmd = + +#------------------------------------- +# Separator 1 +separator = new +separator_background_id = 0 +separator_color = #777777 80 +separator_style = empty +separator_size = 3 +separator_padding = 4 0 + +#------------------------------------- +# Separator 2 +separator = new +separator_background_id = 0 +separator_color = #777777 80 +separator_style = empty +separator_size = 3 +separator_padding = 1 0 + +#------------------------------------- +# Separator 3 +separator = new +separator_background_id = 0 +separator_color = #777777 83 +separator_style = empty +separator_size = 3 +separator_padding = 1 0 + +#------------------------------------- +# Executor 1 +execp = new +execp_command = /home/dakedres/bin/bsp-status +execp_interval = 0 +execp_has_icon = 0 +execp_cache_icon = 1 +execp_continuous = 1 +execp_markup = 1 +execp_monitor = 1 +execp_lclick_command = +execp_rclick_command = +execp_mclick_command = +execp_uwheel_command = +execp_dwheel_command = +execp_font = Ubuntu Mono 10 +execp_font_color = #ffffff 100 +execp_padding = 0 0 +execp_background_id = 0 +execp_centered = 1 +execp_icon_w = 0 +execp_icon_h = 0 + +#------------------------------------- +# Button 1 +button = new +button_icon = search +button_text = +button_lclick_command = rofi -show run +button_rclick_command = +button_mclick_command = +button_uwheel_command = +button_dwheel_command = +button_font_color = #ffffff 100 +button_padding = 0 7 +button_background_id = 0 +button_centered = 1 +button_max_icon_size = 0 + +#------------------------------------- +# Tooltip +tooltip_show_timeout = 0.5 +tooltip_hide_timeout = 0.1 +tooltip_padding = 4 4 +tooltip_background_id = 5 +tooltip_font_color = #dddddd 100 + diff --git a/convert-theme.js b/convert-theme.js new file mode 100644 index 0000000..a4df2b4 --- /dev/null +++ b/convert-theme.js @@ -0,0 +1,66 @@ +// aurora +let left = `color0 #14191e +color8 #454459 +color1 #e55c7a +color9 #cd5c60 +color2 #31E183 +color10 #7CF083 +color3 #f5c791 +color11 #dbac66 +color4 #4ca6e8 +color12 #91b9c7 +color5 #9d81ba +color13 #6E6884 +color6 #49bdb0 +color14 #0D9C94 +color7 #e6e6e8 +color15 #f2f2f2` + .replaceAll(/\s+/g, ':') + .split('\n') + .map(e => e.toUpperCase().split(':') ) + +// normal +let right = `color0 #4B5254 +color8 #879193 +color1 #CD5C60 +color9 #E36D5B +color2 #6FB593 +color10 #72CCBA +color3 #DBAC66 +color11 #F2C866 +color4 #91B9C7 +color12 #97B8DE +color5 #845A84 +color13 #8C629C +color6 #4D9391 +color14 #5096AB +color7 #E4E4E8 +color15 #EFEFF1` + .replaceAll(/\s+/g, ':') + .split('\n') + .map(e => e.toUpperCase().split(':') ) + +left = new Map(left) + +let source = `base00 = "#18181B" +base01 = "#222225" +base02 = "#4B5254" +base03 = "#545C5E" +base04 = "#879193" +base05 = "#9ba5a7" +base06 = "#d0d0d4" +base07 = "#E4E4E8" +base08 = "#CD5C60" +base09 = "#DBAC66" +base0A = "#F2C866" +base0B = "#6FB593" +base0C = "#4D9391" +base0D = "#91B9C7" +base0E = "#845A84" +base0F = "#E36D5B"` + +for(let [ name, value ] of right) { + source = source.replaceAll(value, left.get(name)) +} + +console.log(source) \ No newline at end of file diff --git a/scripts/bsp-float b/scripts/bsp-float new file mode 100755 index 0000000..d4927cc --- /dev/null +++ b/scripts/bsp-float @@ -0,0 +1,3 @@ +#!/bin/bash +# Open a command in float mode +bspc rule -a \* -o state=floating && $@ diff --git a/scripts/bsp-floating-only b/scripts/bsp-floating-only new file mode 100755 index 0000000..e1616f9 --- /dev/null +++ b/scripts/bsp-floating-only @@ -0,0 +1,14 @@ +#!/bin/bash + +if [ ! -z $1 ]; then +# FLOATING_DESKTOP_ID=$(bspc query -D -d '^3') + FLOATING_DESKTOP_ID=$1 + + bspc subscribe node_add | while read -a msg ; do + desk_id=${msg[2]} + wid=${msg[4]} + [ "$FLOATING_DESKTOP_ID" = "$desk_id" ] && bspc node "$wid" -t floating + done +else + echo "No desktop provided" +fi \ No newline at end of file diff --git a/scripts/bsp-smove b/scripts/bsp-smove new file mode 100755 index 0000000..3350f0d --- /dev/null +++ b/scripts/bsp-smove @@ -0,0 +1,60 @@ +#!/bin/bash + +# A more fluid way of moving windows with BSPWM, which is meant to be +# implemented in SXHKD. If there is a window in the given direction, +# swap places with it. Else if there is a receptacle move to it +# ("consume" its place). Otherwise create a receptacle in the given +# direction by splitting the entire viewport (circumvents the tiling +# scheme while respecting the current split ratio configuration). In +# the latter scenario, inputting the direction twice will thus move the +# focused window out of its current layout and into the receptacle. +# +# Part of my dotfiles: https://gitlab.com/protesilaos/dotfiles +# +# Copyright (c) 2019 Protesilaos Stavrou +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +[ "$#" -eq 1 ] || { echo "Pass only one argument: north,east,south,west"; exit 1; } + +# Check if argument is a valid direction. +case "$1" in + north|east|south|west) + dir="$1" + ;; + *) + echo "Not a valid argument." + echo "Use one of: north,east,south,west" + exit 1 + ;; +esac + +_query_nodes() { + bspc query -N -n "$@" +} + +# Do not operate on floating windows! +[ -z "$(_query_nodes focused.floating)" ] || { echo "Only move tiled windows."; exit 1; } + +receptacle="$(_query_nodes 'any.leaf.!window')" + +# This regulates the behaviour documented in the description. +if [ -n "$(_query_nodes "${dir}.!floating")" ]; then + bspc node -s "$dir" +elif [ -n "$receptacle" ]; then + bspc node focused -n "$receptacle" --follow +else + bspc node @/ -p "$dir" -i && bspc node -n "$receptacle" --follow +fi diff --git a/scripts/bsp-status b/scripts/bsp-status new file mode 100755 index 0000000..8a3db9f --- /dev/null +++ b/scripts/bsp-status @@ -0,0 +1,17 @@ +#!/bin/bash + +declare -A layout_symbols + +layout_symbols[monocle]="mono" +layout_symbols[tiled]="tiled" + +send_symbol() { + echo ${layout_symbols[$1]} +} + +# Optional, sends first output. This requires jq +send_symbol $(bspc query -T --desktop focused | jq -r '.layout') + +bspc subscribe desktop_layout | while read -a msg ; do + send_symbol ${msg[3]} +done \ No newline at end of file diff --git a/scripts/bsp-toggle-visibility b/scripts/bsp-toggle-visibility new file mode 100755 index 0000000..1fba993 --- /dev/null +++ b/scripts/bsp-toggle-visibility @@ -0,0 +1,37 @@ +#!/bin/bash + +if [ $# = 0 ]; then + cat <