Skip to content

Instantly share code, notes, and snippets.

@Pacane
Last active September 20, 2018 14:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Pacane/e6e39a586da18becd1d926a9c67dc0ea to your computer and use it in GitHub Desktop.
Save Pacane/e6e39a586da18becd1d926a9c67dc0ea to your computer and use it in GitHub Desktop.
!! special
*.foreground: #C5C8C6
*.background: #1E1E1E
*.cursorColor: #ffffff
! black
*.color0: #000000
*.color8: #4C4C4C
! red
*.color1: #CD0000
*.color9: #FF0000
! green
*.color2: #00CD00
*.color10: #00FF00
! yellow
*.color3: #CDCD00
*.color11: #FFFF00
! blue
*.color4: #0C5295
*.color12: #4682B4
! magenta
*.color5: #CD00CD
*.color13: #FF00FF
! cyan
*.color6: #00CDCD
*.color14: #00FFFF
! white
*.color7: #E5E5E5
*.color15: #FFFFFF
URxvt*font: xft:Hasklug Nerd Font Mono:style=Semibold:size=10
URxvt*boldFont: xft:Hasklug Nerd Font Mono:style=Bold:size=10
URxvt.perl-ext-common: default,matcher,url-select
URxvt.url-select.launcher: /usr/bin/xdg-open
URxvt.url-select.underline: true
URxvt*scrollBar: false
URxvt.url-launcher: google-chrome-stable
URxvt.matcher.button: 1
URxvt.tabbed.new-button: false
URxvt.tabbed.title: false
URxvt.tabbed.autohide: true
URxvt.tabbed.tabbar-bg: 7
URxvt.tabbed.tab-fg: 7
URxvt.tabbed.tabbar-fg: 0
URxvt.tabbed.tab-bg: 0
URxvt.letterSpace: -0.8
!URxvt.lineSpace: -1
URxvt*geometry: 80x30
URxvt.transparent: true
URxvt.shading: 15
UXTerm*termName: xterm-256color
UXTerm*faceName: xft:Hasklug Nerd Font:style=Semibold
UXTerm*faceSize: 10
UXTerm*faceNameDoubleSize: xft:Hasklug Nerd Font:style=Semibold
! ------------------------------------------------------------------------------
! ROFI Color theme
! ------------------------------------------------------------------------------
rofi.color-enabled: true
! State: 'bg', 'fg', 'bgalt', 'hlbg', 'hlfg'
rofi.color-window: #C8393939, #C8393939, #268bd2
rofi.color-normal: #00393939, #ffffff, #00393939, #268bd2, #ffffff
rofi.color-active: #00393939, #268bd2, #393939, #268bd2, #393939
rofi.color-urgent: #00393939, #f3843d, #393939, #268bd2, #ffc39c
Xft.autohint: 0
Xft.lcdfilter: lcddefault
Xft.hintstyle: hintfull
Xft.hinting: 1
Xft.antialias: 1
Xft.rgba: rgb
Xcursor.size: 48
Xcursor.theme: Vanilla-DMZ-AA
Xft.dpi: 220
Xft.antialias: 1
rofi.dpi: 220
Xcursor.size: 64
polybar.height: 80
polybar.traysize: 40
gtk3.cursor-size: 48
dunst.geometry: "1000x5-50+40"
pulseaudio.sink: alsa_output.pci-0000_00_1f.3.analog-stereo
#!/bin/sh
#mplayer -ao jack /usr/share/sounds/freedesktop/stereo/message.oga
mplayer /usr/share/sounds/freedesktop/stereo/message.oga
#!/usr/bin/env sh
MONITOR_COUNT=$(xrandr | grep ' connected' | wc -l)
if [ $MONITOR_COUNT -eq 1 ]; then
~/apps/undocked.sh
echo "Setting single monitor"
elif [ $MONITOR_COUNT -eq 2 ]; then
~/apps/docked.sh
echo "Setting dual monitors"
else
echo "Cannot detect monitor count: $MONITOR_COUNT"
fi
#!/usr/bin/env sh
gsettings set org.gnome.desktop.interface scaling-factor 2
xrandr --output eDP1 --mode 3840x2160 --dpi 220
xrandr --output DP2-2 --off
;;; -*- mode: conf; -*-
[global]
font = Hack 8
# Allow a small subset of html markup:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
# If markup is not allowed, those tags will be stripped out of the
# message.
markup = yes
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# Markup is allowed
format = "<b>%s %p</b>\n%b"
# Sort messages by urgency.
sort = yes
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# The frequency with wich text that is longer than the notification
# window allows bounces back and forth.
# This option conflicts with "word_wrap".
# Set to 0 to disable.
bounce_freq = 0
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# Ignore newlines '\n' in notifications.
ignore_newline = no
# The geometry of the window:
# [{width}]x{height}[+/-{x}+/-{y}]
# The geometry of the message window.
# The height is measured in number of notifications everything else
# in pixels. If the width is omitted but the height is given
# ("-geometry x2"), the message window expands over the whole screen
# (dmenu-like). If width is 0, the window expands to the longest
# message displayed. A positive x is measured from the left, a
# negative from the right side of the screen. Y is measured from
# the top and down respectevly.
# The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option.
geometry = "400x5-25+25"
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = no
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing windowmanager is
# present (e.g. xcompmgr, compiz, etc.).
transparency = 0
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
idle_threshold = 120
# Which monitor should the notifications be displayed on.
monitor = 0
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a windowmanager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern windowmanagers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = mouse
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
# The height of a single line. If the height is smaller than the
# font height, it will get raised to the font height.
# This adds empty space above and under the text.
line_height = 0
# Draw a line of "separatpr_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 2
# Padding between text and separator.
padding = 16
# Horizontal padding.
horizontal_padding = 16
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = frame
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = false
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = google-chrome-stable
# Paths to default icons.
icon_position = left
max_icon_size = 32
icon_path = /usr/share/icons/Numix/32/status/:/usr/share/icons/Numix/32/devices/
frame_width = 3
fame_color = "#aaaaaa"
[shortcuts]
# Shortcuts are specified as [modifier+][modifier+]...key
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
# "mod3" and "mod4" (windows-key).
# Xev might be helpful to find names for keys.
# Close notification.
close = ctrl+space
# Close all notifications.
close_all = ctrl+shift+space
# Redisplay last message(s).
# On the US keyboard layout "grave" is normally above TAB and left
# of "1".
history = ctrl+numbersign
# Context menu.
context = ctrl+shift+period
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#222222"
foreground = "#888888"
timeout = 10
[urgency_normal]
background = "#285577"
foreground = "#ffffff"
timeout = 10
[urgency_critical]
background = "#900000"
foreground = "#ffffff"
timeout = 0
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
# Messages can be matched by "appname", "summary", "body", "icon", "category",
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
# "background", "new_icon" and "format".
# Shell-like globbing will get expanded.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format
# to "".
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
[play_sound]
summary= "*"
script = /home/joel/apps/alert.sh
#
# vim: ft=cfg
;=====================================================
format-prefix-foreground = ${colors.foreground-alt}
;
; To learn more about how to configure Polybar
; go to https://github.com/jaagr/polybar
;
; The README contains alot of information
;
;=====================================================
[colors]
background = #111
;background = #222
background-alt = #444
foreground = #dfdfdf
foreground-alt = #55
primary = #ffb52a
secondary = #e60053
alert = #bd2c40
[global/wm]
margin-top = 0
margin-bottom = 0
[bar/hidpi]
dpi = ${xrdb:Xft.dpi:-1}
monitor = ${env:MONITOR:eDP1}
width = 100%
height = ${xrdb:polybar.height}
offset-x = 0
offset-y = 0
bottom = true
background = ${colors.background}
foreground = ${colors.foreground}
overline-size = 2
overline-color = #f00
underline-size = 2
underline-color = #00f
border-bottom-size = 2
border-bottom-color = #333
padding-left = 0
padding-right = 2
module-margin-left = 0
module-margin-right = 2
font-0 = Hasklug Nerd Font:size=10:style=semibold;5
modules-left = ewmh
modules-center = xwindow
modules-right = battery pulseaudio xbacklight fs2 memory cpu temperature date2 powermenu
tray-position = right
tray-padding = 2
tray-maxsize = ${xrdb:polybar.traysize}
override-redirect = false
[module/ewmh]
type = internal/xworkspaces
label-active = %icon% %name%
label-active-foreground = #ffffff
label-active-background = #3f3f3f
label-active-underline = #fba922
label-occupied = %icon%
label-occupied-underline = #555555
label-urgent = %icon%
label-urgent-foreground = #000000
label-urgent-background = #bd2c40
label-urgent-underline = #9b0a20
enable-scroll = false
enable-click = false
[module/xwindow]
type = internal/xwindow
label = " %title:0:30:...% "
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
label-layout = %{F#55}%{F-} %layout%
label-layout-underline = ${colors.secondary}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-background = ${colors.secondary}
label-indicator-underline = ${colors.secondary}
[module/filesystem]
type = internal/fs
interval = 5
mount-0 = /
label-mounted = %mountpoint%: %free%
label-unmounted = %mountpoint%: not mounted
label-unmounted-foreground = ${colors.foreground-alt}
[module/bspwm]
type = internal/bspwm
label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2
label-occupied = %index%
label-occupied-padding = 2
label-urgent = %index%!
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2
[module/i3]
type = internal/i3
format = <label-state> <label-mode>
pin-workspaces = true
strip-wsnumbers = true
label-mode-padding = 2
label-mode-foreground = #000
label-mode-background = ${colors.primary}
label-focused = %index% %name%
label-focused-background = ${colors.background-alt}
label-focused-underline = ${colors.primary}
label-focused-padding = 2
label-unfocused = %index% %name%
label-unfocused-padding = 2
label-urgent = %index% %name%
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
label-visible = %index% %name%
label-visible-background = ${colors.background-alt}
label-visible-underline = ${colors.primary}
label-visible-padding = 2
[module/mpd]
type = internal/mpd
format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next> <icon-repeat> <icon-random>
label-song-maxlen = 70
label-song-ellipsis = true
icon-prev = 
icon-seekb = 
icon-stop = 
icon-play = 
icon-pause = 
icon-next = 
icon-seekf = 
icon-random = 
icon-repeat = 
toggle-on-foreground = ${colors.primary}
toggle-off-foreground = #66
[module/xbacklight]
type = internal/xbacklight
format = <label> <bar>
label = BL
bar-width = 10
bar-indicator = │
bar-indicator-foreground = #ff
bar-indicator-font = 2
bar-fill = ─
bar-fill-font = 2
bar-fill-foreground = #9f78e1
bar-empty = ─
bar-empty-font = 2
bar-empty-foreground = ${colors.foreground-alt}
[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
;format-underline = #f90000
label = %percentage%%
[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
;format-underline = #4bffdc
label = %percentage_used%%
[module/wlan]
type = internal/network
interface = wlp2s0
interval = 3.0
format-connected = <ramp-signal> <label-connected>
format-connected-underline = #9f78e1
format-disconnected-underline = ${self.format-connected-underline}
label-connected = %essid%
label-disconnected = %ifname% disconnected
label-disconnected-foreground = ${colors.foreground-alt}
ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = ${colors.foreground-alt}
[module/eth]
type = internal/network
interface = enp3s0
interval = 3.0
format-connected-underline = ${colors.background}
; #55aa55
format-connected-prefix = %{F#55} %{F-}
format-connected-foreground-foreground = ${colors.foreground-alt}
label-connected = %local_ip%
format-disconnected-underline = ${self.format-connected-underline}
label-disconnected = %ifname% disconnected
label-disconnected-foreground = ${colors.foreground-alt}
[module/date]
type = internal/date
interval = 1
date = " %Y-%m-%d"
date-alt = " %Y-%m-%d"
time = %H:%M:%S
time-alt = %H:%M:%S
format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5
label = %date% %time%
click-right = gsimplecal
[module/battery]
type = internal/battery
battery = BAT0
adapter = AC
full-at = 95
format-charging = <animation-charging> <label-charging>
format-charging-underline = #ffb52a
format-discharging = <ramp-capacity> <label-discharging>
format-discharging-underline = ${self.format-charging-underline}
format-full-prefix = " "
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = ${self.format-charging-underline}
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-foreground = ${colors.foreground-alt}
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 500
[module/temperature]
type = internal/temperature
thermal-zone = 2
warn-temperature = 60
format = <ramp> <label>
format-underline = ${colors.background}
;#f50a4d
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}
label = %temperature-c%
label-warn = %temperature-c%
label-warn-foreground = ${colors.secondary}
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-foreground = ${colors.foreground-alt}
[module/powermenu]
type = custom/menu
format-spacing = 1
label-open =  power
label-open-foreground = ${colors.secondary}
label-close =  cancel
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}
menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2
menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot
menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0
[module/date2]
type = custom/script
exec = date +'%b %d %a %H:%M:%S'
interval = 1
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
;format-underline = #0a6cf5
click-left = gsimplecal
[module/fs2]
type = custom/script
#exec = df -h /dev/sdc3 | awk 'FNR > 1 { print $4 }'
exec = df -h /dev/nvme0n1p3 | awk 'FNR > 1 { print $4 }'
interval = 5
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
;format-underline = #0a6cf5
click-left = nautilus &
[module/pkg]
type = custom/script
interval = 120
format = <label>
format-underline = #dc322f
;label = "%output:0:30%"
;label = "%output:0:30%"
exec = .config/polybar/pkg.sh
exec-if = "ping -q -w 2 -c 1 176.34.135.167 > /dev/null"
[module/pulseaudio]
type = internal/pulseaudio
; Sink to be used, if it exists (find using `pacmd list-sinks`, name field)
; If not, uses default sink
sink = ${xrdb:pulseaudio.sink}
; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false
; Default: true
use-ui-max = true
; Interval for volume increase/decrease (in percent points) (unreleased)
; Default: 5
interval = 5
; Available tags:
; <label-volume> (default)
; <ramp-volume>
; <bar-volume>
format-volume = <ramp-volume> <label-volume>
; Available tags:
; <label-muted> (default)
; <ramp-volume>
; <bar-volume>
;format-muted = <label-muted>
; Available tokens:
; %percentage% (default)
;label-volume = %percentage%%
; Available tokens:
; %percentage% (default)
label-muted =  muted
label-muted-foreground = #666
; Only applies if <ramp-volume> is used
ramp-volume-0 = 
ramp-volume-1 = 
ramp-volume-2 = 
; vim:ft=dosini
#!/usr/bin/env sh
# Terminate already running bar instances
killall -q polybar
# Wait until the processes have been shut down
while pgrep -x polybar >/dev/null; do sleep 1; done
# Launch bar1 and bar2
#MONITOR=DVI-I-1 polybar example &
MONITOR=eDP1 polybar hidpi &
MONITOR=DP2-2 polybar hidpi &
#MONITOR=HDMI-0 polybar example &
#!/bin/sh
xrdb -merge ~/.Xresources.undocked
CURSOR_SIZE=$(xrdb -query | grep gtk3.cursor-size | cut -f 2)
sed -i "s/gtk-cursor-theme-size=[0-9]*/gtk-cursor-theme-size=$CURSOR_SIZE/" ~/.config/gtk-3.0/settings.ini
DUNST_GEOMETRY=$(xrdb -query | grep dunst.geometry | cut -f 2)
sed -i "s/geometry =.*\$/geometry = $DUNST_GEOMETRY/" ~/.config/dunstrc
~/apps/single_monitor.sh
import XMonad
import XMonad.Hooks.DynamicLog -- Needed for polybar
import XMonad.Hooks.ManageDocks -- Needed for xmobar
import XMonad.Hooks.ManageHelpers -- Needed for fullscreen
import System.IO -- Needed for Polybar
import XMonad.Hooks.SetWMName -- Bug with Java/Swing apps
import XMonad.Actions.SpawnOn -- Assign apps to workspaces
import XMonad.Util.SpawnOnce -- Startup programs
import XMonad.Actions.Navigation2D -- Screen swap
import XMonad.Hooks.EwmhDesktops -- EWMH
import Text.Printf -- String interpolation
import XMonad.Util.Run(spawnPipe)
import XMonad.Util.EZConfig -- Adding own keybinds
import XMonad.Layout
import XMonad.Layout.MouseResizableTile -- Mouse resize
import XMonad.Layout.ResizableTile -- Mouse resize
import XMonad.Layout.NoBorders -- No borders fullscreen
import XMonad.Actions.UpdatePointer
import XMonad.Prompt -- Exit prompt
import XMonad.Prompt.ConfirmPrompt -- Exit prompt
import System.Exit -- Exit Prompt
import qualified XMonad.StackSet as W -- Swap windows
main = do
xmonad $ docks $ ewmh defaultConfig
{ terminal = myTerminal
, layoutHook = myLayoutHook
, manageHook = myManageHook <+> manageHook defaultConfig
, modMask = myModMask
, borderWidth = myBorderWidth
, workspaces = myWorkspaces
, startupHook = myStartupHook
, handleEventHook = fullscreenEventHook
, logHook = dynamicLog
>> updatePointer (0.5, 0.5) (0, 0)
}
`additionalKeysP` myKeybinds
myTall = Tall 1 0.02 0.5
myResizableTall = mouseResizableTile{draggerType = BordersDragger}
myLayoutHook = avoidStruts $ smartBorders myResizableTall ||| smartBorders (Mirror myTall) ||| noBorders Full
myKeybinds = [
("<Print>", spawn "~/apps/scrot_select.sh")
, ("S-<Print>", spawn "~/apps/scrot_edit.sh")
, ("C-<Print>", spawn "~/apps/scrot_select_private.sh")
, ("M-<F4>", spawn "mpc toggle")
, ("M-<F5>", spawn "mpc prev")
, ("M-<F6>", spawn "mpc next")
, ("M-<F1>", spawn "mpc volume 0")
, ("M-<F2>", spawn "mpc volume -5")
, ("M-<F3>", spawn "mpc volume +5")
, ("<XF86AudioRaiseVolume>", spawn "pactl set-sink-volume @DEFAULT_SINK@ +5%")
, ("<XF86AudioLowerVolume>", spawn "pactl set-sink-volume @DEFAULT_SINK@ -5%")
, ("<XF86AudioMute>", spawn "pactl set-sink-mute @DEFAULT_SINK@ toggle")
, ("<XF86MonBrightnessUp>", spawn "xbacklight -inc 5")
, ("<XF86MonBrightnessDown>", spawn "xbacklight -dec 5")
, ("M-d", spawn (printf "rofi -show drun %s" (rofiStyle)))
, ("<F12>", spawn (printf "rofi -show run %s" (rofiStyle)))
, ("S-<F12>", spawn (printf "rofi -show window %s" (rofiStyle)))
, ("M-S-<Left>", windows W.swapUp)
, ("M-S-<Right>", windows W.swapDown)
, ("M-S-<Down>", windows W.swapDown)
, ("M-S-<Up>", windows W.swapUp)
, ("C-M-<Left>", screenSwap L True)
, ("C-M-h", screenSwap L True)
, ("C-M-<Right>", screenSwap R True)
, ("C-M-l", screenSwap R True)
, ("M-S-q", confirmPrompt hotPromptTheme "Quit XMonad" $ io (exitWith ExitSuccess))
]
myStartupHook = do
setWMName "LG3D"
spawn "~/apps/mouse_sensitivity.sh"
spawn "~/apps/detect_monitors.sh"
spawn "xsetroot -cursor_name left_ptr"
spawnOnce "redshift-gtk"
spawnOnce "slack"
spawnOnce "compton"
spawnOnce "google-chrome-stable"
spawn "killall dunst && dunst"
spawnOnce "nm-applet"
spawn "setxkbmap ca && xmodmap ~/.Xmodmap"
spawn "nitrogen --restore"
spawn "~/apps/polybar_launcher.sh"
myTerminal = "xfce4-terminal"
myModMask = mod4Mask -- Win key or Super_L
myBorderWidth = 2
-----------------------------------------------------------------------------}}}
-- WORKSPACES {{{
--------------------------------------------------------------------------------
wsCODE = "\xf120 "
wsWEB = "\xf268 "
wsMUSIC = "\xf001 "
wsCHAT = "\xf198 "
wsCALLS = "\xf130 "
wsGAMES = "\xf11b "
wsTWITCH = "\xf1e8 "
wsSTREAM = "\xf03d "
wsSOUND = "\xf028 "
myWorkspaces :: [String]
myWorkspaces = [wsCODE, wsWEB, wsMUSIC, wsCHAT, wsGAMES, wsTWITCH, wsCALLS, wsSTREAM, wsSOUND]
--------------
-- WINDOW RULES
-- ---------
myManageHook = composeAll
[ className =? "Gimp" --> doFloat
, className =? "jetbrains-idea" --> doShift (wsCODE)
, className =? "Opera" --> doShift (wsWEB)
, className =? "Firefox" --> doShift (wsWEB)
, className =? "Chromium" --> doShift (wsWEB)
, className =? "Chrome" --> doShift (wsWEB)
, className =? "google-chrome" --> doShift (wsWEB)
, className =? "Google-chrome" --> doShift (wsWEB)
, className =? "Slack" --> doShift (wsCHAT)
, className =? "Mumble" --> doShift (wsCHAT)
, className =? "obs" --> doShift (wsSTREAM)
, className =? "Patchage" --> doShift (wsSOUND)
, className =? "qjackctl" --> doShift (wsSOUND)
, className =? "calfjackhost" --> doShift (wsSOUND)
, className =? "Patchage" --> doShift (wsSOUND)
, className =? "zoom" --> doShift (wsCALLS)
, isFullscreen --> doFullFloat
]
rofiStyle = "-opacity 85 -font \"Hasklug Nerd Font Semibold 10\" -lines 9 -eh 2 -width 20"
myFont = "xft:Hasklug Nerd Font:style=Semibold:size=10:hinting=true"
base03 = "#002b36"
base3 = "#fdf6e3"
red = "#dc322f"
blue = "#268bd2"
active = blue
hotPromptTheme = def
{ bgColor = red
, fgColor = base3
, position = Top
, font = myFont
, fgHLight = base03
, bgHLight = active
, borderColor = base03
, promptBorderWidth = 0
, height = 24
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment