Merge
							
								
								
									
										53
									
								
								.config/awesome/lanxu/ip.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,53 @@ | |||||||
|  | local naughty    = require("naughty") | ||||||
|  | local wibox      = require("wibox") | ||||||
|  | local json       = require("lanxu/dkjson") | ||||||
|  | local gears      = require("gears") | ||||||
|  | local focused    = require("awful.screen").focused | ||||||
|  | local easy_async = require("awful.spawn").easy_async | ||||||
|  | 
 | ||||||
|  | local function factory(args) | ||||||
|  |   local args = args or {} | ||||||
|  |   local calluri     = args.uri or "https://api.ipify.org" | ||||||
|  |   local settings    = args.settings or function() end | ||||||
|  |   local homeaddress = args.homeaddress or nil | ||||||
|  | 
 | ||||||
|  |   local ip = { widget = wibox.widget.textbox() } | ||||||
|  |   ip.widget:set_markup("N/A") | ||||||
|  | 
 | ||||||
|  |   function ip.attach(obj) | ||||||
|  |     obj:connect_signal("button::press", function() | ||||||
|  |       ip.update() | ||||||
|  |     end) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   function ip.update() | ||||||
|  |     local cmd = string.format("curl -s " .. "'" .. calluri .. "'") | ||||||
|  |      | ||||||
|  |     address = "N/A" | ||||||
|  |     settings() | ||||||
|  | 
 | ||||||
|  |     easy_async(cmd, function(response, stderr, reason, exit_code) | ||||||
|  |       address = response | ||||||
|  |       address = string.gsub(address, "[^0-9.]", "") | ||||||
|  |       if address == homeaddress then | ||||||
|  |         address = "Home" | ||||||
|  |       end | ||||||
|  | 
 | ||||||
|  |       ip.address = address | ||||||
|  |       widget = ip.widget | ||||||
|  | 
 | ||||||
|  |       settings() | ||||||
|  |     end) | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   ip.attach(ip.widget) | ||||||
|  | 
 | ||||||
|  |   address = "N/A" | ||||||
|  |   settings() | ||||||
|  | 
 | ||||||
|  |   ip.update() | ||||||
|  | 
 | ||||||
|  |   return ip | ||||||
|  | end | ||||||
|  | 
 | ||||||
|  | return factory | ||||||
| @ -116,8 +116,13 @@ myawesomemenu = { | |||||||
|    { "quit", function() awesome.quit() end} |    { "quit", function() awesome.quit() end} | ||||||
| } | } | ||||||
| lock = function() | lock = function() | ||||||
|  |   -- Sync disks before lock (just in case) | ||||||
|   awful.util.spawn("sync") |   awful.util.spawn("sync") | ||||||
|   awful.util.spawn("xautolock -locknow") | 
 | ||||||
|  |   -- Lock screen | ||||||
|  |   awful.util.spawn("xdg-screensaver lock") | ||||||
|  |   --awful.util.spawn("xautolock -locknow") | ||||||
|  |   --awful.util.spawn("xlock") | ||||||
| end | end | ||||||
| mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon }, | mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon }, | ||||||
|                                     { "open terminal", terminal }, |                                     { "open terminal", terminal }, | ||||||
| @ -260,8 +265,8 @@ awful.screen.connect_for_each_screen(function(s) | |||||||
|       spacer, |       spacer, | ||||||
|       mydpmsstatus, |       mydpmsstatus, | ||||||
|       spacer, |       spacer, | ||||||
|       mycloudstatus, |       --mycloudstatus, | ||||||
|       spacer, |       --spacer, | ||||||
|       mycpu, |       mycpu, | ||||||
|       spacer, |       spacer, | ||||||
|       mymem, |       mymem, | ||||||
| @ -269,11 +274,8 @@ awful.screen.connect_for_each_screen(function(s) | |||||||
|       myweather, |       myweather, | ||||||
|       spacer, |       spacer, | ||||||
|       mycputemp, |       mycputemp, | ||||||
|       spacer, |  | ||||||
|       mygputemp, |       mygputemp, | ||||||
|       spacer, |  | ||||||
|       mytextclock, |       mytextclock, | ||||||
|       spacer, |  | ||||||
|       s.mylayoutbox, |       s.mylayoutbox, | ||||||
|     } |     } | ||||||
|     -- Only show everything on the first screen |     -- Only show everything on the first screen | ||||||
| @ -350,7 +352,7 @@ globalkeys = awful.util.table.join( | |||||||
|         function () |         function () | ||||||
|             awful.client.focus.history.previous() |             awful.client.focus.history.previous() | ||||||
|             if client.focus then |             if client.focus then | ||||||
|                 client.focus:raise() | client.focus:raise() | ||||||
|             end |             end | ||||||
|         end, |         end, | ||||||
|         {description = "go back", group = "client"}), |         {description = "go back", group = "client"}), | ||||||
| @ -407,8 +409,15 @@ globalkeys = awful.util.table.join( | |||||||
|               {description = "lua execute prompt", group = "awesome"}), |               {description = "lua execute prompt", group = "awesome"}), | ||||||
|     -- Menubar |     -- Menubar | ||||||
|     awful.key({ modkey }, "p", function() menubar.show() end, |     awful.key({ modkey }, "p", function() menubar.show() end, | ||||||
|  |               {description = "show the menubar", group = "launcher"}), | ||||||
|  |     -- Menubar (dmenu) | ||||||
|  |     awful.key({ modkey }, "d", | ||||||
|  |               function() | ||||||
|  |                 --awful.spawn(string.format("dmenu_run -i -b -l 20 -fn 'Fura Code Nerd Font:size=10:style=Regular'")) | ||||||
|  |                 awful.spawn(string.format("rofi -show combi -combi-modi 'window,run,ssh' -modi combi")) | ||||||
|  |               end, | ||||||
|               {description = "show the menubar", group = "launcher"}) |               {description = "show the menubar", group = "launcher"}) | ||||||
| ) |     ) | ||||||
| 
 | 
 | ||||||
| clientkeys = awful.util.table.join( | clientkeys = awful.util.table.join( | ||||||
|     awful.key({ modkey,           }, "f", |     awful.key({ modkey,           }, "f", | ||||||
| @ -520,17 +529,34 @@ for i = 1, 9 do | |||||||
|         volume.update() |         volume.update() | ||||||
|       end, |       end, | ||||||
|       {description = "unmute audio", group = "audio"}), |       {description = "unmute audio", group = "audio"}), | ||||||
|       awful.key({ modkey }, "Print", |       awful.key({ }, "Print", | ||||||
|       function () |       function () | ||||||
|         local command = [[bash -c 'escrotum "$(xdg-user-dir PICTURES)/%Y-%m-%d_%T_screenshot.png"']] |         --local command = [[bash -c 'escrotum "$(xdg-user-dir PICTURES)/%Y-%m-%d_%T_screenshot.png"']] | ||||||
|  |         for i=1,screen:count() do | ||||||
|  |           local command = "bash -c 'flameshot screen -n ".. i-1 .." -p \"$(xdg-user-dir PICTURES)/\"'" | ||||||
|           awful.spawn.easy_async(command, function(stdout, stderr) |           awful.spawn.easy_async(command, function(stdout, stderr) | ||||||
|           naughty.notify {  |             --naughty.notify { | ||||||
|             title = "Screenshot saved!", |             --  title = "Screenshot saved!", | ||||||
|             text = stdout, |             --  text = stdout, | ||||||
|           } |             --} | ||||||
|           end) |           end) | ||||||
|  |         end | ||||||
|       end, |       end, | ||||||
|       {description = "Take screenshot", group = "audio"}) |       {description = "Take screenshot", group = "video"}), | ||||||
|  |       awful.key({ 'Shift' }, "Print", | ||||||
|  |       function () | ||||||
|  |         --local command = [[bash -c 'escrotum "$(xdg-user-dir PICTURES)/%Y-%m-%d_%T_screenshot.png"']] | ||||||
|  |         for i=1,screen:count() do | ||||||
|  |           local command = "bash -c 'flameshot gui -p \"$(xdg-user-dir PICTURES)/\"'" | ||||||
|  |           awful.spawn.easy_async(command, function(stdout, stderr) | ||||||
|  |             --naughty.notify { | ||||||
|  |             --  title = "Screenshot saved!", | ||||||
|  |             --  text = stdout, | ||||||
|  |             --} | ||||||
|  |           end) | ||||||
|  |         end | ||||||
|  |       end, | ||||||
|  |       {description = "Take screenshot", group = "video"}) | ||||||
|       ) |       ) | ||||||
| 
 | 
 | ||||||
| clientbuttons = awful.util.table.join( | clientbuttons = awful.util.table.join( | ||||||
| @ -699,6 +725,7 @@ local function remove_client(tabl, c) | |||||||
| 	if index then | 	if index then | ||||||
| 		table.remove(tabl, index) | 		table.remove(tabl, index) | ||||||
| 		if #tabl == 0 then | 		if #tabl == 0 then | ||||||
|  | 			awful.util.spawn("xset s blank") | ||||||
| 			awful.util.spawn("xset s on") | 			awful.util.spawn("xset s on") | ||||||
| 			awful.util.spawn("xset +dpms") | 			awful.util.spawn("xset +dpms") | ||||||
| 			naughty.notify({ preset = naughty.config.presets.low, | 			naughty.notify({ preset = naughty.config.presets.low, | ||||||
| @ -712,6 +739,7 @@ client.connect_signal("property::fullscreen", function(c) | |||||||
| 	if c.fullscreen then | 	if c.fullscreen then | ||||||
| 		table.insert(fullscreened_clients, c) | 		table.insert(fullscreened_clients, c) | ||||||
| 		if #fullscreened_clients == 1 then | 		if #fullscreened_clients == 1 then | ||||||
|  | 			awful.util.spawn("xset s noblank") | ||||||
| 			awful.util.spawn("xset s off") | 			awful.util.spawn("xset s off") | ||||||
| 			awful.util.spawn("xset -dpms") | 			awful.util.spawn("xset -dpms") | ||||||
| 			naughty.notify({ | 			naughty.notify({ | ||||||
| @ -733,10 +761,13 @@ end) | |||||||
| 
 | 
 | ||||||
| awful.util.spawn_with_shell("run-once pasystray") | awful.util.spawn_with_shell("run-once pasystray") | ||||||
| awful.util.spawn_with_shell("run-once blueman-applet") | awful.util.spawn_with_shell("run-once blueman-applet") | ||||||
|  | awful.util.spawn_with_shell("run-once nm-applet") | ||||||
|  | awful.util.spawn_with_shell("run-once 'nextcloud --background'") | ||||||
|  | awful.util.spawn_with_shell("run-once 'udiskie --tray --notify --automount'") | ||||||
|  | awful.util.spawn_with_shell("run-once 'mpd /home/lanxu/.config/mpd/mpd.conf'") | ||||||
|  | awful.util.spawn_with_shell("run-once 'xscreensaver -no-splash'") | ||||||
| --awful.util.spawn_with_shell("run-once conky") | --awful.util.spawn_with_shell("run-once conky") | ||||||
| --awful.util.spawn_with_shell("run-once dropboxd") |  | ||||||
| --awful.util.spawn_with_shell("run-once light-locker") | --awful.util.spawn_with_shell("run-once light-locker") | ||||||
| --awful.util.spawn_with_shell("run-once xscreensaver -no-splash") |  | ||||||
| --awful.util.spawn_with_shell("run-once firefox-developer-edition") | --awful.util.spawn_with_shell("run-once firefox-developer-edition") | ||||||
| --awful.util.spawn_with_shell("run-once firefox") | --awful.util.spawn_with_shell("run-once firefox") | ||||||
| 
 | 
 | ||||||
|  | |||||||
| Before Width: | Height: | Size: 106 B | 
| Before Width: | Height: | Size: 148 B | 
| Before Width: | Height: | Size: 132 B | 
| Before Width: | Height: | Size: 131 B | 
| Before Width: | Height: | Size: 179 B | 
| Before Width: | Height: | Size: 195 B | 
| Before Width: | Height: | Size: 195 B | 
| Before Width: | Height: | Size: 185 B After Width: | Height: | Size: 478 B | 
| Before Width: | Height: | Size: 208 B | 
| Before Width: | Height: | Size: 203 B | 
| Before Width: | Height: | Size: 214 B | 
| Before Width: | Height: | Size: 198 B | 
							
								
								
									
										
											BIN
										
									
								
								.config/awesome/themes/lanxu/icons/gpu.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 475 B | 
| Before Width: | Height: | Size: 253 B | 
| Before Width: | Height: | Size: 228 B | 
| Before Width: | Height: | Size: 189 B | 
| Before Width: | Height: | Size: 213 B | 
| Before Width: | Height: | Size: 228 B | 
| Before Width: | Height: | Size: 93 B | 
| Before Width: | Height: | Size: 193 B | 
| Before Width: | Height: | Size: 186 B | 
| Before Width: | Height: | Size: 196 B | 
| Before Width: | Height: | Size: 175 B | 
							
								
								
									
										
											BIN
										
									
								
								.config/awesome/themes/lanxu/icons/ram.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 464 B | 
| Before Width: | Height: | Size: 130 B | 
| Before Width: | Height: | Size: 206 B | 
| Before Width: | Height: | Size: 81 B | 
| Before Width: | Height: | Size: 88 B | 
| Before Width: | Height: | Size: 142 B | 
| Before Width: | Height: | Size: 189 B | 
| Before Width: | Height: | Size: 119 B | 
| Before Width: | Height: | Size: 972 B | 
| Before Width: | Height: | Size: 195 B | 
| Before Width: | Height: | Size: 200 B | 
| Before Width: | Height: | Size: 193 B | 
| Before Width: | Height: | Size: 199 B | 
| Before Width: | Height: | Size: 123 B | 
| Before Width: | Height: | Size: 193 B | 
| Before Width: | Height: | Size: 227 B | 
| Before Width: | Height: | Size: 127 B | 
							
								
								
									
										
											BIN
										
									
								
								.config/awesome/themes/lanxu/icons/wall-clock.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 587 B | 
							
								
								
									
										
											BIN
										
									
								
								.config/awesome/themes/lanxu/titlebar/minimize_focus.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 277 B | 
							
								
								
									
										
											BIN
										
									
								
								.config/awesome/themes/lanxu/titlebar/minimize_normal.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 272 B | 
| @ -5,10 +5,16 @@ local lain = require("lain") | |||||||
| local vicious = require("vicious") -- Custom | local vicious = require("vicious") -- Custom | ||||||
| local beautiful = require("beautiful") -- CPU temp | local beautiful = require("beautiful") -- CPU temp | ||||||
| local wibox = require("wibox") | local wibox = require("wibox") | ||||||
|  | local gears = require("gears") | ||||||
| 
 | 
 | ||||||
| -- Variables | -- Variables | ||||||
| local valuecolor = "white" | local valuecolor = "white" | ||||||
| 
 | 
 | ||||||
|  | icons_dir = os.getenv("HOME") .. "/.config/awesome/themes/lanxu/icons/" | ||||||
|  | cpuicon = wibox.widget.imagebox() | ||||||
|  | cpuicon.image  = icons_dir .. "cpu.png" | ||||||
|  | cpuicon.resize = false | ||||||
|  | 
 | ||||||
| -- Helpers | -- Helpers | ||||||
| function file_exists(name) | function file_exists(name) | ||||||
|   local f = io.open(name,"r") |   local f = io.open(name,"r") | ||||||
| @ -39,8 +45,18 @@ mymem  = lain.widget.mem({ | |||||||
| }) | }) | ||||||
| 
 | 
 | ||||||
| -- GPU | -- GPU | ||||||
| mygputemp = wibox.widget.textbox() | mygputemp_text = wibox.widget.textbox() | ||||||
| vicious.register(mygputemp, gputemp, create_markup("GPU", "$0", "℃", valuecolor), 15, "AMD") | mygputemp_text.align = "center" | ||||||
|  | vicious.register(mygputemp_text, gputemp,  | ||||||
|  | function(widget, args) | ||||||
|  |   temp = string.format("%.0f", tonumber(args[0])) | ||||||
|  |   return create_markup("", temp, "℃", valuecolor) | ||||||
|  | end, 15, "AMD") | ||||||
|  | mygputemp = wibox.container.background() | ||||||
|  | mygputemp.forced_width = 70 | ||||||
|  | mygputemp:set_widget(mygputemp_text) | ||||||
|  | --mytextclock:set_shape(gears.shape.hexagon) | ||||||
|  | mygputemp:set_bg('#5e35b1') | ||||||
| 
 | 
 | ||||||
| -- Hubic | -- Hubic | ||||||
| myhubic = wibox.widget.textbox() | myhubic = wibox.widget.textbox() | ||||||
| @ -62,27 +78,40 @@ volume = lain.widget.pulse({ | |||||||
| }) | }) | ||||||
| 
 | 
 | ||||||
| -- Text clock | -- Text clock | ||||||
| mytextclock = wibox.widget.textclock(create_markup("Date","%Y-%m-%d %H:%M","", valuecolor)) | mytextclock_text = wibox.widget.textclock(create_markup("","%Y-%m-%d %H:%M","", valuecolor)) | ||||||
| 
 | mytextclock_text.align = "center" | ||||||
| lain.widget.calendar({ | lain.widget.cal({ | ||||||
|   followtag = true, |   followtag = true, | ||||||
|   attach_to = {mytextclock} |   attach_to = {mytextclock_text}, | ||||||
|  |   notification_preset = { | ||||||
|  |     font = "Monospace 11", fg = "#FFFFFF", bg = "#000000" | ||||||
|  |   } | ||||||
| }) | }) | ||||||
| 
 | 
 | ||||||
| -- CPU temperature | mytextclock = wibox.container.background() | ||||||
| local tempfile = "/sys/bus/pci/drivers/k10temp/0000:00:18.3/hwmon/hwmon2/temp1_input" | mytextclock.forced_width = 130 | ||||||
|  | mytextclock:set_widget(mytextclock_text) | ||||||
|  | mytextclock:set_bg('#512da8') | ||||||
| 
 | 
 | ||||||
|  | -- CPU temperature | ||||||
|  | local tempfile = "/sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon1/temp1_input" | ||||||
| if file_exists(tempfile) == false then | if file_exists(tempfile) == false then | ||||||
|   tempfile = "/sys/class/thermal/thermal_zone0/temp" |   tempfile = "/sys/class/thermal/thermal_zone0/temp" | ||||||
| end | end | ||||||
| 
 | 
 | ||||||
| mycputemp = lain.widget.temp({ | mycputemp_text = lain.widget.temp({ | ||||||
|   tempfile = tempfile,  |   tempfile = tempfile,  | ||||||
|   settings = function() |   settings = function() | ||||||
|     widget.markup = create_markup("CPU", coretemp_now, "℃", valuecolor) |     temp = string.format("%.0f", tonumber(coretemp_now)) | ||||||
|  |     widget.markup = create_markup("", temp, "℃", valuecolor) | ||||||
|   end |   end | ||||||
| }) | }) | ||||||
| 
 | 
 | ||||||
|  | mycputemp_text.widget.align = "center" | ||||||
|  | mycputemp = wibox.container.background() | ||||||
|  | mycputemp.forced_width = 70 | ||||||
|  | mycputemp:set_widget(mycputemp_text.widget) | ||||||
|  | mycputemp:set_bg('#9575cd') | ||||||
| -- Weather Widget | -- Weather Widget | ||||||
| myweather = lain.widget.weather({ | myweather = lain.widget.weather({ | ||||||
|   city_id = 634963, |   city_id = 634963, | ||||||
| @ -90,11 +119,19 @@ myweather = lain.widget.weather({ | |||||||
|   followtag = true, |   followtag = true, | ||||||
|   settings = function() |   settings = function() | ||||||
|     widget.markup = create_markup("Tampere", weather_now.main.temp, "℃", valuecolor) |     widget.markup = create_markup("Tampere", weather_now.main.temp, "℃", valuecolor) | ||||||
|   end |   end, | ||||||
|  |   notification_preset = { | ||||||
|  |     font = "Monospace 11", fg = "#FFFFFF", bg = "#000000" | ||||||
|  |   } | ||||||
| }) | }) | ||||||
| 
 | 
 | ||||||
| -- DPMS | -- DPMS | ||||||
| mydpmsstatus = wibox.widget.textbox() | mydpmsstatus = wibox.widget.textbox() | ||||||
|  | -- mydpmsstatus.container.background.bg = '#ff0000' | ||||||
|  | --mydpmsstatus = { | ||||||
|  | --  widget = wibox.widget.textbox | ||||||
|  | --} | ||||||
|  | 
 | ||||||
| vicious.register(mydpmsstatus, dpmsstatus, function(widget, args) | vicious.register(mydpmsstatus, dpmsstatus, function(widget, args) | ||||||
|   color = valuecolor |   color = valuecolor | ||||||
|   if args[0] == "Enabled" then |   if args[0] == "Enabled" then | ||||||
| @ -109,21 +146,21 @@ local notification = { | |||||||
|   font = "Monospace 10" |   font = "Monospace 10" | ||||||
| } | } | ||||||
| -- Servers | -- Servers | ||||||
| local mcstatus = require("lanxu/mcstatus") | --local mcstatus = require("lanxu/mcstatus") | ||||||
| myserverstatus = mcstatus({ | --myserverstatus = mcstatus({ | ||||||
|   notification_preset = notification, |   --notification_preset = notification, | ||||||
|   settings = function() |   --settings = function() | ||||||
|     widget.markup = create_markup("PLAYERS", totalplayers, "", valuecolor) |     --widget.markup = create_markup("PLAYERS", totalplayers, "", valuecolor) | ||||||
|   end |   --end | ||||||
| }) | --}) | ||||||
| 
 | 
 | ||||||
| local cloudstatus = require("lanxu/cloudstatus") | --local cloudstatus = require("lanxu/cloudstatus") | ||||||
| mycloudstatus = cloudstatus({ | --mycloudstatus = cloudstatus({ | ||||||
|   notification_preset = notification, |   --notification_preset = notification, | ||||||
|   settings = function() |   --settings = function() | ||||||
|     widget.markup = create_markup("CLOUD", currentstatus, "", valuecolor) |     --widget.markup = create_markup("CLOUD", currentstatus, "", valuecolor) | ||||||
|   end |   --end | ||||||
| }) | --}) | ||||||
| 
 | 
 | ||||||
| local ip = require("lanxu/ip") | local ip = require("lanxu/ip") | ||||||
| ipaddress = ip({ | ipaddress = ip({ | ||||||
| @ -132,3 +169,4 @@ ipaddress = ip({ | |||||||
|     widget.markup = create_markup("IP", address, "", valuecolor) |     widget.markup = create_markup("IP", address, "", valuecolor) | ||||||
|   end |   end | ||||||
| }) | }) | ||||||
|  | 
 | ||||||
|  | |||||||
							
								
								
									
										9
									
								
								.config/compton/compton.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,9 @@ | |||||||
|  | # menu        = { shadow = false; }; | ||||||
|  | dropdown_menu = { shadow = false; }; | ||||||
|  | popup_menu    = { shadow = false; }; | ||||||
|  | utility       = { shadow = false; }; | ||||||
|  | 
 | ||||||
|  | opacity-rule = [ | ||||||
|  |   "95:class_g = 'kitty' && focused", | ||||||
|  |   "80:class_g = 'kitty' && !focused" | ||||||
|  | ]; | ||||||
							
								
								
									
										422
									
								
								.config/dunst/dunstrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,422 @@ | |||||||
|  | [global] | ||||||
|  |     ### Display ### | ||||||
|  | 
 | ||||||
|  |     # 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 window manager that exports the | ||||||
|  |     # _NET_ACTIVE_WINDOW property. | ||||||
|  |     # This should be the case for almost all modern window managers. | ||||||
|  |     # | ||||||
|  |     # If this option is set to mouse or keyboard, the monitor option | ||||||
|  |     # will be ignored. | ||||||
|  |     follow = mouse | ||||||
|  | 
 | ||||||
|  |     # 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 respectively. | ||||||
|  |     # 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 = "300x5-30+20" | ||||||
|  | 
 | ||||||
|  |     # Show how many messages are currently hidden (because of geometry). | ||||||
|  |     indicate_hidden = yes | ||||||
|  | 
 | ||||||
|  |     # 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 window manager is | ||||||
|  |     # present (e.g. xcompmgr, compiz, etc.). | ||||||
|  |     transparency = 5 | ||||||
|  | 
 | ||||||
|  |     # The height of the entire notification.  If the height is smaller | ||||||
|  |     # than the font height and padding combined, it will be raised | ||||||
|  |     # to the font height and padding. | ||||||
|  |     notification_height = 0 | ||||||
|  | 
 | ||||||
|  |     # Draw a line of "separator_height" pixel height between two | ||||||
|  |     # notifications. | ||||||
|  |     # Set to 0 to disable. | ||||||
|  |     separator_height = 2 | ||||||
|  | 
 | ||||||
|  |     # Padding between text and separator. | ||||||
|  |     padding = 10 | ||||||
|  | 
 | ||||||
|  |     # Horizontal padding. | ||||||
|  |     horizontal_padding = 8 | ||||||
|  | 
 | ||||||
|  |     # Defines width in pixels of frame around the notification window. | ||||||
|  |     # Set to 0 to disable. | ||||||
|  |     frame_width = 3 | ||||||
|  | 
 | ||||||
|  |     # Defines color of the frame around the notification window. | ||||||
|  |     #frame_color = "#aaaaaa" | ||||||
|  |     frame_color = foreground | ||||||
|  | 
 | ||||||
|  |     # 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 | ||||||
|  | 
 | ||||||
|  |     # Sort messages by urgency. | ||||||
|  |     sort = yes | ||||||
|  | 
 | ||||||
|  |     # 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. | ||||||
|  |     # A client can set the 'transient' hint to bypass this. See the rules | ||||||
|  |     # section for how to disable this if necessary | ||||||
|  |     idle_threshold = 120 | ||||||
|  | 
 | ||||||
|  |     ### Text ### | ||||||
|  | 
 | ||||||
|  |     font = Monospace 10 | ||||||
|  | 
 | ||||||
|  |     # The spacing between lines.  If the height is smaller than the | ||||||
|  |     # font height, it will get raised to the font height. | ||||||
|  |     line_height = 0 | ||||||
|  | 
 | ||||||
|  |     # Possible values are: | ||||||
|  |     # full: Allow a small subset of html markup in notifications: | ||||||
|  |     #        <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>. | ||||||
|  |     # | ||||||
|  |     # strip: This setting is provided for compatibility with some broken | ||||||
|  |     #        clients that send markup even though it's not enabled on the | ||||||
|  |     #        server. Dunst will try to strip the markup but the parsing is | ||||||
|  |     #        simplistic so using this option outside of matching rules for | ||||||
|  |     #        specific applications *IS GREATLY DISCOURAGED*. | ||||||
|  |     # | ||||||
|  |     # no:    Disable markup parsing, incoming notifications will be treated as | ||||||
|  |     #        plain text. Dunst will not advertise that it has the body-markup | ||||||
|  |     #        capability if this is set as a global setting. | ||||||
|  |     # | ||||||
|  |     # It's important to note that markup inside the format option will be parsed | ||||||
|  |     # regardless of what this is set to. | ||||||
|  |     markup = full | ||||||
|  | 
 | ||||||
|  |     # 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 | ||||||
|  |     #   %n  progress value if set without any extra characters | ||||||
|  |     #   %%  Literal % | ||||||
|  |     # Markup is allowed | ||||||
|  |     format = "<b>%s</b>\n%b" | ||||||
|  | 
 | ||||||
|  |     # Alignment of message text. | ||||||
|  |     # Possible values are "left", "center" and "right". | ||||||
|  |     alignment = left | ||||||
|  | 
 | ||||||
|  |     # 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 | ||||||
|  | 
 | ||||||
|  |     # When word_wrap is set to no, specify where to make an ellipsis in long lines. | ||||||
|  |     # Possible values are "start", "middle" and "end". | ||||||
|  |     ellipsize = middle | ||||||
|  | 
 | ||||||
|  |     # Ignore newlines '\n' in notifications. | ||||||
|  |     ignore_newline = no | ||||||
|  | 
 | ||||||
|  |     # Stack together notifications with the same content | ||||||
|  |     stack_duplicates = true | ||||||
|  | 
 | ||||||
|  |     # Hide the count of stacked notifications with the same content | ||||||
|  |     hide_duplicate_count = false | ||||||
|  | 
 | ||||||
|  |     # Display indicators for URLs (U) and actions (A). | ||||||
|  |     show_indicators = yes | ||||||
|  | 
 | ||||||
|  |     ### Icons ### | ||||||
|  | 
 | ||||||
|  |     # Align icons left/right/off | ||||||
|  |     icon_position = left | ||||||
|  | 
 | ||||||
|  |     # Scale larger icons down to this size, set to 0 to disable | ||||||
|  |     max_icon_size = 32 | ||||||
|  | 
 | ||||||
|  |     # Paths to default icons. | ||||||
|  |     icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ | ||||||
|  | 
 | ||||||
|  |     ### History ### | ||||||
|  | 
 | ||||||
|  |     # 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 | ||||||
|  | 
 | ||||||
|  |     ### Misc/Advanced ### | ||||||
|  | 
 | ||||||
|  |     # dmenu path. | ||||||
|  |     dmenu = /usr/bin/rofi -p dunst: | ||||||
|  | 
 | ||||||
|  |     # Browser for opening urls in context menu. | ||||||
|  |     browser = /usr/bin/firefox -new-tab | ||||||
|  | 
 | ||||||
|  |     # Always run rule-defined scripts, even if the notification is suppressed | ||||||
|  |     always_run_script = true | ||||||
|  | 
 | ||||||
|  |     # Define the title of the windows spawned by dunst | ||||||
|  |     title = Dunst | ||||||
|  | 
 | ||||||
|  |     # Define the class of the windows spawned by dunst | ||||||
|  |     class = Dunst | ||||||
|  | 
 | ||||||
|  |     # Print a notification on startup. | ||||||
|  |     # This is mainly for error detection, since dbus (re-)starts dunst | ||||||
|  |     # automatically after a crash. | ||||||
|  |     startup_notification = false | ||||||
|  | 
 | ||||||
|  |     # Manage dunst's desire for talking | ||||||
|  |     # Can be one of the following values: | ||||||
|  |     #  crit: Critical features. Dunst aborts | ||||||
|  |     #  warn: Only non-fatal warnings | ||||||
|  |     #  mesg: Important Messages | ||||||
|  |     #  info: all unimportant stuff | ||||||
|  |     # debug: all less than unimportant stuff | ||||||
|  |     verbosity = mesg | ||||||
|  | 
 | ||||||
|  |     # Define the corner radius of the notification window | ||||||
|  |     # in pixel size. If the radius is 0, you have no rounded | ||||||
|  |     # corners. | ||||||
|  |     # The radius will be automatically lowered if it exceeds half of the | ||||||
|  |     # notification height to avoid clipping text and/or icons. | ||||||
|  |     corner_radius = 0 | ||||||
|  | 
 | ||||||
|  |     ### Legacy | ||||||
|  | 
 | ||||||
|  |     # Use the Xinerama extension instead of RandR for multi-monitor support. | ||||||
|  |     # This setting is provided for compatibility with older nVidia drivers that | ||||||
|  |     # do not support RandR and using it on systems that support RandR is highly | ||||||
|  |     # discouraged. | ||||||
|  |     # | ||||||
|  |     # By enabling this setting dunst will not be able to detect when a monitor | ||||||
|  |     # is connected or disconnected which might break follow mode if the screen | ||||||
|  |     # layout changes. | ||||||
|  |     force_xinerama = false | ||||||
|  | 
 | ||||||
|  |     ### mouse | ||||||
|  | 
 | ||||||
|  |     # Defines action of mouse event | ||||||
|  |     # Possible values are: | ||||||
|  |     # * none: Don't do anything. | ||||||
|  |     # * do_action: If the notification has exactly one action, or one is marked as default, | ||||||
|  |     #              invoke it. If there are multiple and no default, open the context menu. | ||||||
|  |     # * close_current: Close current notification. | ||||||
|  |     # * close_all: Close all notifications. | ||||||
|  |     mouse_left_click = close_current | ||||||
|  |     mouse_middle_click = do_action | ||||||
|  |     mouse_right_click = close_all | ||||||
|  | 
 | ||||||
|  | # Experimental features that may or may not work correctly. Do not expect them | ||||||
|  | # to have a consistent behaviour across releases. | ||||||
|  | [experimental] | ||||||
|  |     # Calculate the dpi to use on a per-monitor basis. | ||||||
|  |     # If this setting is enabled the Xft.dpi value will be ignored and instead | ||||||
|  |     # dunst will attempt to calculate an appropriate dpi value for each monitor | ||||||
|  |     # using the resolution and physical size. This might be useful in setups | ||||||
|  |     # where there are multiple screens with very different dpi values. | ||||||
|  |     per_monitor_dpi = false | ||||||
|  | 
 | ||||||
|  | [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". Make sure this key actually exists on your keyboard layout, | ||||||
|  |     # e.g. check output of 'xmodmap -pke' | ||||||
|  |     history = ctrl+grave | ||||||
|  | 
 | ||||||
|  |     # 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" | ||||||
|  |     background = "#fdf6e3" | ||||||
|  |     foreground = "#93a1a1" | ||||||
|  |     frame_color = "#93a1a1" | ||||||
|  |     timeout = 10 | ||||||
|  |     # Icon for notifications with low urgency, uncomment to enable | ||||||
|  |     #icon = /path/to/icon | ||||||
|  | 
 | ||||||
|  | [urgency_normal] | ||||||
|  |     background = "#fdf6e3" | ||||||
|  |     foreground = "#002b36" | ||||||
|  |     frame_color = "#002b36" | ||||||
|  |     timeout = 10 | ||||||
|  |     # Icon for notifications with normal urgency, uncomment to enable | ||||||
|  |     #icon = /path/to/icon | ||||||
|  | 
 | ||||||
|  | [urgency_critical] | ||||||
|  |     #background = "#900000" | ||||||
|  |     #foreground = "#ffffff" | ||||||
|  |     #frame_color = "#ff0000" | ||||||
|  |     background = "#dc322f" | ||||||
|  |     foreground = "#eee8d5" | ||||||
|  |     frame_color = "#cb4b16" | ||||||
|  |     timeout = 0 | ||||||
|  |     # Icon for notifications with critical urgency, uncomment to enable | ||||||
|  |     #icon = /path/to/icon | ||||||
|  | 
 | ||||||
|  | # 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 (discouraged, see desktop_entry) | ||||||
|  | #    body | ||||||
|  | #    category | ||||||
|  | #    desktop_entry | ||||||
|  | #    icon | ||||||
|  | #    match_transient | ||||||
|  | #    msg_urgency | ||||||
|  | #    stack_tag | ||||||
|  | #    summary | ||||||
|  | # | ||||||
|  | # and you can override the | ||||||
|  | #    background | ||||||
|  | #    foreground | ||||||
|  | #    format | ||||||
|  | #    frame_color | ||||||
|  | #    fullscreen | ||||||
|  | #    new_icon | ||||||
|  | #    set_stack_tag | ||||||
|  | #    set_transient | ||||||
|  | #    timeout | ||||||
|  | #    urgency | ||||||
|  | # | ||||||
|  | # Shell-like globbing will get expanded. | ||||||
|  | # | ||||||
|  | # Instead of the appname filter, it's recommended to use the desktop_entry filter. | ||||||
|  | # GLib based applications export their desktop-entry name. In comparison to the appname, | ||||||
|  | # the desktop-entry won't get localized. | ||||||
|  | # | ||||||
|  | # 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. | ||||||
|  | 
 | ||||||
|  | # Disable the transient hint so that idle_threshold cannot be bypassed from the | ||||||
|  | # client | ||||||
|  | #[transient_disable] | ||||||
|  | #    match_transient = yes | ||||||
|  | #    set_transient = no | ||||||
|  | # | ||||||
|  | # Make the handling of transient notifications more strict by making them not | ||||||
|  | # be placed in history. | ||||||
|  | #[transient_history_ignore] | ||||||
|  | #    match_transient = yes | ||||||
|  | #    history_ignore = yes | ||||||
|  | 
 | ||||||
|  | # fullscreen values | ||||||
|  | # show: show the notifications, regardless if there is a fullscreen window opened | ||||||
|  | # delay: displays the new notification, if there is no fullscreen window active | ||||||
|  | #        If the notification is already drawn, it won't get undrawn. | ||||||
|  | # pushback: same as delay, but when switching into fullscreen, the notification will get | ||||||
|  | #           withdrawn from screen again and will get delayed like a new notification | ||||||
|  | #[fullscreen_delay_everything] | ||||||
|  | #    fullscreen = delay | ||||||
|  | #[fullscreen_show_critical] | ||||||
|  | #    msg_urgency = critical | ||||||
|  | #    fullscreen = show | ||||||
|  | 
 | ||||||
|  | #[espeak] | ||||||
|  | #    summary = "*" | ||||||
|  | #    script = dunst_espeak.sh | ||||||
|  | 
 | ||||||
|  | #[script-test] | ||||||
|  | #    summary = "*script*" | ||||||
|  | #    script = dunst_test.sh | ||||||
|  | 
 | ||||||
|  | #[ignore] | ||||||
|  | #    # This notification will not be displayed | ||||||
|  | #    summary = "foobar" | ||||||
|  | #    format = "" | ||||||
|  | 
 | ||||||
|  | #[history-ignore] | ||||||
|  | #    # This notification will not be saved in history | ||||||
|  | #    summary = "foobar" | ||||||
|  | #    history_ignore = yes | ||||||
|  | 
 | ||||||
|  | #[skip-display] | ||||||
|  | #    # This notification will not be displayed, but will be included in the history | ||||||
|  | #    summary = "foobar" | ||||||
|  | #    skip_display = yes | ||||||
|  | 
 | ||||||
|  | #[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 | ||||||
|  | # | ||||||
|  | #[stack-volumes] | ||||||
|  | #    appname = "some_volume_notifiers" | ||||||
|  | #    set_stack_tag = "volume" | ||||||
|  | # | ||||||
|  | # vim: ft=cfg | ||||||
							
								
								
									
										112
									
								
								.config/fontconfig/avail/01-noto.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,112 @@ | |||||||
|  | <fontconfig> | ||||||
|  |   <match target="font"> | ||||||
|  |     <!-- If the requested font is Bitstream Vera Serif --> | ||||||
|  |     <test name="family" compare="eq"> | ||||||
|  |       <string>Bitstream Vera Serif</string> | ||||||
|  |     </test> | ||||||
|  |     <!-- Replace the entire match list with Bitstream Vera Serif alone --> | ||||||
|  |     <edit name="family" mode="assign_replace"> | ||||||
|  |       <string>Bitstream Vera Serif</string> | ||||||
|  |     </edit> | ||||||
|  |     <!-- Assign the serif family --> | ||||||
|  |     <edit name="family" mode="append_last"> | ||||||
|  |       <string>serif</string> | ||||||
|  |     </edit> | ||||||
|  |   </match> | ||||||
|  | 
 | ||||||
|  |   <match> | ||||||
|  |     <!-- If the requested font is serif --> | ||||||
|  |     <test qual="any" name="family"> | ||||||
|  |       <string>serif</string> | ||||||
|  |     </test> | ||||||
|  |     <!-- Make Bitstream Vera Serif the first result --> | ||||||
|  |     <edit name="family" mode="prepend_first"> | ||||||
|  |       <string>Bitstream Vera Serif</string> | ||||||
|  |     </edit> | ||||||
|  |     <!-- Followed by Noto Color Emoji --> | ||||||
|  |     <edit name="family" mode="prepend_first"> | ||||||
|  |       <string>Noto Color Emoji</string> | ||||||
|  |     </edit> | ||||||
|  |   </match> | ||||||
|  | 
 | ||||||
|  |   <match target="font"> | ||||||
|  |     <!-- If the requested font is Bitstream Vera Sans --> | ||||||
|  |     <test name="family" compare="eq"> | ||||||
|  |       <string>Bitstream Vera Sans</string> | ||||||
|  |     </test> | ||||||
|  |     <!-- Replace the entire match list with Bitstream Vera Sans alone --> | ||||||
|  |     <edit name="family" mode="assign_replace"> | ||||||
|  |       <string>Bitstream Vera Sans</string> | ||||||
|  |     </edit> | ||||||
|  |     <!-- Assign the sans-serif family --> | ||||||
|  |     <edit name="family" mode="append_last"> | ||||||
|  |       <string>sans-serif</string> | ||||||
|  |     </edit> | ||||||
|  |   </match> | ||||||
|  | 
 | ||||||
|  |   <match target="pattern"> | ||||||
|  |     <!-- If the requested font is sans-serif --> | ||||||
|  |     <test qual="any" name="family"> | ||||||
|  |       <string>sans-serif</string> | ||||||
|  |     </test> | ||||||
|  |     <!-- Make Bitstream Vera Sans the first result --> | ||||||
|  |     <edit name="family" mode="prepend_first"> | ||||||
|  |       <string>Bitstream Vera Sans</string> | ||||||
|  |     </edit> | ||||||
|  |     <!-- Followed by Noto Color Emoji --> | ||||||
|  |     <edit name="family" mode="prepend_first"> | ||||||
|  |       <string>Noto Color Emoji</string> | ||||||
|  |     </edit> | ||||||
|  |   </match> | ||||||
|  | 
 | ||||||
|  |   <match target="font"> | ||||||
|  |     <!-- If the requested font is Bitstream Vera Sans Mono --> | ||||||
|  |     <test name="family" compare="eq"> | ||||||
|  |       <string>Bitstream Vera Sans Mono</string> | ||||||
|  |     </test> | ||||||
|  |     <!-- Replace the entire match list with Bitstream Vera Sans Mono alone --> | ||||||
|  |     <edit name="family" mode="assign_replace"> | ||||||
|  |       <string>Bitstream Vera Sans Mono</string> | ||||||
|  |     </edit> | ||||||
|  |     <!-- Assign the monospace family last --> | ||||||
|  |     <edit name="family" mode="append_last"> | ||||||
|  |       <string>monospace</string> | ||||||
|  |     </edit> | ||||||
|  |   </match> | ||||||
|  | 
 | ||||||
|  |   <match target="pattern"> | ||||||
|  |     <!-- If the requested font is monospace --> | ||||||
|  |     <test qual="any" name="family"> | ||||||
|  |       <string>monospace</string> | ||||||
|  |     </test> | ||||||
|  |     <!-- | ||||||
|  |     Make Bitstream Vera Sans Mono the first result | ||||||
|  |     Note: If you want a different monospace font, this is where you change it. | ||||||
|  |     --> | ||||||
|  |     <edit name="family" mode="prepend_first"> | ||||||
|  |       <string>Bitstream Vera Sans Mono</string> | ||||||
|  |     </edit> | ||||||
|  |     <!-- Followed by Noto Color Emoji --> | ||||||
|  |     <edit name="family" mode="prepend_first"> | ||||||
|  |       <string>Noto Color Emoji</string> | ||||||
|  |     </edit> | ||||||
|  |   </match> | ||||||
|  | 
 | ||||||
|  |   <!-- Add emoji generic family --> | ||||||
|  |   <alias binding="strong"> | ||||||
|  |     <family>emoji</family> | ||||||
|  |     <default><family>Noto Color Emoji</family></default> | ||||||
|  |   </alias> | ||||||
|  | 
 | ||||||
|  |   <!-- Alias requests for the other emoji fonts --> | ||||||
|  |   <alias binding="strong"> | ||||||
|  |     <family>Apple Color Emoji</family> | ||||||
|  |     <prefer><family>Noto Color Emoji</family></prefer> | ||||||
|  |     <default><family>sans-serif</family></default> | ||||||
|  |   </alias> | ||||||
|  |   <alias binding="strong"> | ||||||
|  |     <family>Segoe UI Emoji</family> | ||||||
|  |     <prefer><family>Noto Color Emoji</family></prefer> | ||||||
|  |     <default><family>sans-serif</family></default> | ||||||
|  |   </alias> | ||||||
|  | </fontconfig> | ||||||
							
								
								
									
										1
									
								
								.config/fontconfig/conf.d/10-autohint.conf
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						| @ -0,0 +1 @@ | |||||||
|  | /etc/fonts/conf.avail/10-autohint.conf | ||||||
							
								
								
									
										1
									
								
								.config/fontconfig/conf.d/10-sub-pixel-rgb.conf
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						| @ -0,0 +1 @@ | |||||||
|  | /etc/fonts/conf.avail/10-sub-pixel-rgb.conf | ||||||
							
								
								
									
										1
									
								
								.config/fontconfig/conf.d/11-lcdfilter-default.conf
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						| @ -0,0 +1 @@ | |||||||
|  | /etc/fonts/conf.avail/11-lcdfilter-default.conf | ||||||
							
								
								
									
										1
									
								
								.config/fontconfig/conf.d/30-win32-aliases.conf
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						| @ -0,0 +1 @@ | |||||||
|  | /etc/fonts/conf.avail/30-win32-aliases.conf | ||||||
							
								
								
									
										1
									
								
								.config/fontconfig/conf.d/70-no-bitmaps.conf
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						| @ -0,0 +1 @@ | |||||||
|  | /etc/fonts/conf.avail/70-no-bitmaps.conf | ||||||
							
								
								
									
										32
									
								
								.config/fontconfig/fonts.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,32 @@ | |||||||
|  | <?xml version="1.0"?> | ||||||
|  | <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | ||||||
|  | <fontconfig> | ||||||
|  |   <match target="font"> | ||||||
|  |     <edit mode="assign" name="autohint"><bool>true</bool></edit> | ||||||
|  |     <edit mode="assign" name="hinting"><bool>true</bool></edit> | ||||||
|  |     <edit mode="assign" name="lcdfilter"><const>lcddefault</const></edit> | ||||||
|  |     <edit mode="assign" name="hintstyle"><const>hintnone</const></edit> | ||||||
|  |     <!-- symbols do not support antialias --> | ||||||
|  |     <!--<edit mode="assign" name="antialias"><bool>true</bool></edit>--> | ||||||
|  |     <edit mode="assign" name="rgba"><const>rgb</const></edit> | ||||||
|  |   </match> | ||||||
|  | 
 | ||||||
|  |   <match target="font"> | ||||||
|  |     <test name="pixelsize" qual="any" compare="more"><double>15</double></test> | ||||||
|  |     <edit mode="assign" name="hintstyle"><const>hintnone</const></edit> | ||||||
|  |     <edit mode="assign" name="lcdfilter"><const>lcdlight</const></edit> | ||||||
|  |   </match> | ||||||
|  | 
 | ||||||
|  |   <match target="font"> | ||||||
|  |     <test name="pixelsize" qual="any" compare="more"><double>12</double></test> | ||||||
|  |     <test name="weight" compare="more"><const>medium</const></test> | ||||||
|  |     <edit mode="assign" name="hintstyle"><const>hintnone</const></edit> | ||||||
|  |     <edit mode="assign" name="lcdfilter"><const>lcdlight</const></edit> | ||||||
|  |   </match> | ||||||
|  | 
 | ||||||
|  |   <match target="font"> | ||||||
|  |     <test name="slant"  compare="not_eq"><double>0</double></test> | ||||||
|  |     <edit mode="assign" name="hintstyle"><const>hintnone</const></edit> | ||||||
|  |     <edit mode="assign" name="lcdfilter"><const>lcdlight</const></edit> | ||||||
|  |   </match> | ||||||
|  | </fontconfig> | ||||||
							
								
								
									
										49
									
								
								.config/gallery-dl/config.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,49 @@ | |||||||
|  | { | ||||||
|  |   "extractor": { | ||||||
|  |     "base-directory": "~/Lataukset/gallery-dl/", | ||||||
|  |     "archive": "~/Lataukset/gallery-dl/archive.sqlite3", | ||||||
|  |     "exhentai": | ||||||
|  |     { | ||||||
|  |       "filename": "{num:>04}_{name}.{extension}", | ||||||
|  |       "directory": ["{category!c}", "{title}"], | ||||||
|  |       "postprocessors": [ | ||||||
|  |         { | ||||||
|  |           "name": "zip", | ||||||
|  |           "compression": "store", | ||||||
|  |           "extension": "cbz" | ||||||
|  |         } | ||||||
|  |       ], | ||||||
|  |       "wait-min": 1.0, | ||||||
|  |       "wait-max": 5.0 | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   "downloader": { | ||||||
|  |     "part-directory": "/tmp/.download/", | ||||||
|  |     "rate": "1M", | ||||||
|  |     "retries": 3, | ||||||
|  |     "timeout": 8.5 | ||||||
|  |   }, | ||||||
|  |   "output": | ||||||
|  |   { | ||||||
|  |     "mode": "terminal", | ||||||
|  |     "log": { | ||||||
|  |       "format": "{name}: {message}", | ||||||
|  |       "level": "info" | ||||||
|  |     }, | ||||||
|  |     "logfile": { | ||||||
|  |       "path": "~/Lataukset/gallery-dl/log.txt", | ||||||
|  |       "mode": "w", | ||||||
|  |       "level": "debug" | ||||||
|  |     }, | ||||||
|  |     "unsupportedfile": { | ||||||
|  |       "path": "~/Lataukset/gallery-dl/unsupported.txt", | ||||||
|  |       "mode": "a", | ||||||
|  |       "format": "{asctime} {message}", | ||||||
|  |       "format-date": "%Y-%m-%d-%H-%M-%S" | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  | 
 | ||||||
|  |   "cache": { | ||||||
|  |     "file": "~/Lataukset/gallery-dl/cache.sqlite3" | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										
											BIN
										
									
								
								.config/i3/background.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 6.1 MiB | 
							
								
								
									
										305
									
								
								.config/i3/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,305 @@ | |||||||
|  | # i3 config file (v4) | ||||||
|  | # | ||||||
|  | # Please see https://i3wm.org/docs/userguide.html for a complete reference! | ||||||
|  | # | ||||||
|  | # This config file uses keycodes (bindsym) and was written for the QWERTY | ||||||
|  | # layout. | ||||||
|  | # | ||||||
|  | # To get a config file with the same key positions, but for your current | ||||||
|  | # layout, use the i3-config-wizard | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | # Font for window titles. Will also be used by the bar unless a different font | ||||||
|  | # is used in the bar {} block below. | ||||||
|  | font pango:DejaVu Sans Mono 11 | ||||||
|  | 
 | ||||||
|  | default_border pixel 1 | ||||||
|  | for_window [class=".*"] border pixel 0 | ||||||
|  | 
 | ||||||
|  | # This font is widely installed, provides lots of unicode glyphs, right-to-left | ||||||
|  | # text rendering and scalability on retina/hidpi displays (thanks to pango). | ||||||
|  | #font pango:DejaVu Sans Mono 8 | ||||||
|  | 
 | ||||||
|  | # The combination of xss-lock, nm-applet and pactl is a popular choice, so | ||||||
|  | # they are included here as an example. Modify as you see fit. | ||||||
|  | 
 | ||||||
|  | # xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the | ||||||
|  | # screen before suspend. Use loginctl lock-session to lock your screen. | ||||||
|  | #exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork | ||||||
|  | 
 | ||||||
|  | # NetworkManager is the most popular way to manage wireless networks on Linux, | ||||||
|  | # and nm-applet is a desktop environment-independent system tray GUI for it. | ||||||
|  | #exec --no-startup-id "dunst" # in case multiple daemons are installed | ||||||
|  | 
 | ||||||
|  | #exec --no-startup-id "nm-applet" | ||||||
|  | #exec --no-startup-id "pasystray" | ||||||
|  | #exec --no-startup-id "blueman-applet" | ||||||
|  | #exec --no-startup-id "udiskie --tray --notify --automount" | ||||||
|  | 
 | ||||||
|  | # Services | ||||||
|  | exec --no-startup-id "mpd /home/lanxu/.config/mpd/mpd.conf" # Music Player Daemon | ||||||
|  | exec --no-startup-id "xscreensaver -no-splash" # Screensaver | ||||||
|  | exec --no-startup-id "./Scripts/xscreensaverstopper.sh" # Screensaver inhibitor | ||||||
|  | exec --no-startup-id "compton -b" # Compositor | ||||||
|  | exec --no-startup-id "nitrogen --restore" # Wallpaper | ||||||
|  | 
 | ||||||
|  | # Applications | ||||||
|  | exec --no-startup-id "nextcloud --background" | ||||||
|  | exec --no-startup-id "telegram-desktop" | ||||||
|  | exec --no-startup-id "cantata" | ||||||
|  | 
 | ||||||
|  | set $refresh_i3status killall -SIGUSR1 i3status | ||||||
|  | bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status | ||||||
|  | bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status | ||||||
|  | bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status | ||||||
|  | bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status | ||||||
|  | bindsym XF86AudioStop exec --no-startup-id mpc stop | ||||||
|  | bindsym XF86AudioPlay exec --no-startup-id mpc play | ||||||
|  | bindsym XF86AudioPause exec --no-startup-id mpc pause | ||||||
|  | bindsym XF86AudioNext exec --no-startup-id mpc next | ||||||
|  | bindsym XF86AudioPrev exec --no-startup-id mpc prev | ||||||
|  | 
 | ||||||
|  | # Print screen | ||||||
|  | bindsym Print exec --no-startup-id flameshot gui | ||||||
|  | # use these keys for focus, movement, and resize directions when reaching for | ||||||
|  | # the arrows is not convenient | ||||||
|  | set $up l | ||||||
|  | set $down k | ||||||
|  | set $left j | ||||||
|  | set $right semicolon | ||||||
|  | 
 | ||||||
|  | # use Mouse+Mod4 to drag floating windows to their wanted position | ||||||
|  | floating_modifier Mod4 | ||||||
|  | 
 | ||||||
|  | # start a terminal | ||||||
|  | bindsym Mod4+Return exec i3-sensible-terminal | ||||||
|  | 
 | ||||||
|  | # kill focused window | ||||||
|  | bindsym Mod4+Shift+q kill | ||||||
|  | 
 | ||||||
|  | # start dmenu (a program launcher) | ||||||
|  | bindsym Mod4+d exec --no-startup-id "rofi -theme Arc -modi power:'/home/lanxu/.config/rofi/scripts/powermenu.sh',combi -combi-modi 'window,power,run,ssh' -show combi" | ||||||
|  | bindsym Mod4+F12 exec --no-startup-id "xscreensaver-command -lock" | ||||||
|  | # There also is the (new) i3-dmenu-desktop which only displays applications | ||||||
|  | # shipping a .desktop file. It is a wrapper around dmenu, so you need that | ||||||
|  | # installed. | ||||||
|  | # bindsym Mod4+d exec --no-startup-id i3-dmenu-desktop | ||||||
|  | 
 | ||||||
|  | # change focus | ||||||
|  | bindsym Mod4+$left focus left | ||||||
|  | bindsym Mod4+$down focus down | ||||||
|  | bindsym Mod4+$up focus up | ||||||
|  | bindsym Mod4+$right focus right | ||||||
|  | 
 | ||||||
|  | # alternatively, you can use the cursor keys: | ||||||
|  | bindsym Mod4+Left focus left | ||||||
|  | bindsym Mod4+Down focus down | ||||||
|  | bindsym Mod4+Up focus up | ||||||
|  | bindsym Mod4+Right focus right | ||||||
|  | 
 | ||||||
|  | # move focused window | ||||||
|  | bindsym Mod4+Shift+$left move left | ||||||
|  | bindsym Mod4+Shift+$down move down | ||||||
|  | bindsym Mod4+Shift+$up move up | ||||||
|  | bindsym Mod4+Shift+$right move right | ||||||
|  | 
 | ||||||
|  | # alternatively, you can use the cursor keys: | ||||||
|  | bindsym Mod4+Shift+Left move left | ||||||
|  | bindsym Mod4+Shift+Down move down | ||||||
|  | bindsym Mod4+Shift+Up move up | ||||||
|  | bindsym Mod4+Shift+Right move right | ||||||
|  | 
 | ||||||
|  | # split in horizontal orientation | ||||||
|  | bindsym Mod4+h split h | ||||||
|  | 
 | ||||||
|  | # split in vertical orientation | ||||||
|  | bindsym Mod4+v split v | ||||||
|  | 
 | ||||||
|  | # enter fullscreen mode for the focused container | ||||||
|  | bindsym Mod4+f fullscreen toggle | ||||||
|  | 
 | ||||||
|  | # change container layout (stacked, tabbed, toggle split) | ||||||
|  | bindsym Mod4+s layout stacking | ||||||
|  | bindsym Mod4+w layout tabbed | ||||||
|  | bindsym Mod4+e layout toggle split | ||||||
|  | 
 | ||||||
|  | # toggle tiling / floating | ||||||
|  | bindsym Mod4+Shift+space floating toggle | ||||||
|  | 
 | ||||||
|  | # change focus between tiling / floating windows | ||||||
|  | bindsym Mod4+space focus mode_toggle | ||||||
|  | 
 | ||||||
|  | # focus the parent container | ||||||
|  | bindsym Mod4+a focus parent | ||||||
|  | 
 | ||||||
|  | # focus the child container | ||||||
|  | #bindsym Mod4+d focus child | ||||||
|  | 
 | ||||||
|  | # move the currently focused window to the scratchpad | ||||||
|  | bindsym Mod4+Shift+minus move scratchpad | ||||||
|  | 
 | ||||||
|  | # Show the next scratchpad window or hide the focused scratchpad window. | ||||||
|  | # If there are multiple scratchpad windows, this command cycles through them. | ||||||
|  | bindsym Mod4+minus scratchpad show | ||||||
|  | 
 | ||||||
|  | # Define names for default workspaces for which we configure key bindings later on. | ||||||
|  | # We use variables to avoid repeating the names in multiple places. | ||||||
|  | set $ws1 "1:term" | ||||||
|  | set $ws2 "2:irc" | ||||||
|  | set $ws3 "3:net" | ||||||
|  | set $ws4 "4:gfx" | ||||||
|  | set $ws5 "5:steam" | ||||||
|  | set $ws6 "6:lutris" | ||||||
|  | set $ws7 "7" | ||||||
|  | set $ws8 "8" | ||||||
|  | set $ws9 "9" | ||||||
|  | set $ws10 "10" | ||||||
|  | 
 | ||||||
|  | # switch to workspace | ||||||
|  | bindsym Mod4+1 workspace $ws1 | ||||||
|  | bindsym Mod4+2 workspace $ws2 | ||||||
|  | bindsym Mod4+3 workspace $ws3 | ||||||
|  | bindsym Mod4+4 workspace $ws4 | ||||||
|  | bindsym Mod4+5 workspace $ws5 | ||||||
|  | bindsym Mod4+6 workspace $ws6 | ||||||
|  | bindsym Mod4+7 workspace $ws7 | ||||||
|  | bindsym Mod4+8 workspace $ws8 | ||||||
|  | bindsym Mod4+9 workspace $ws9 | ||||||
|  | bindsym Mod4+0 workspace $ws10 | ||||||
|  | 
 | ||||||
|  | # move focused container to workspace | ||||||
|  | bindsym Mod4+Shift+1 move container to workspace $ws1 | ||||||
|  | bindsym Mod4+Shift+2 move container to workspace $ws2 | ||||||
|  | bindsym Mod4+Shift+3 move container to workspace $ws3 | ||||||
|  | bindsym Mod4+Shift+4 move container to workspace $ws4 | ||||||
|  | bindsym Mod4+Shift+5 move container to workspace $ws5 | ||||||
|  | bindsym Mod4+Shift+6 move container to workspace $ws6 | ||||||
|  | bindsym Mod4+Shift+7 move container to workspace $ws7 | ||||||
|  | bindsym Mod4+Shift+8 move container to workspace $ws8 | ||||||
|  | bindsym Mod4+Shift+9 move container to workspace $ws9 | ||||||
|  | bindsym Mod4+Shift+0 move container to workspace $ws10 | ||||||
|  | 
 | ||||||
|  | # reload the configuration file | ||||||
|  | bindsym Mod4+Shift+c reload | ||||||
|  | # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) | ||||||
|  | bindsym Mod4+Shift+r restart | ||||||
|  | # exit i3 (logs you out of your X session) | ||||||
|  | bindsym Mod4+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" | ||||||
|  | 
 | ||||||
|  | # resize window (you can also use the mouse for that) | ||||||
|  | mode "resize" { | ||||||
|  | # These bindings trigger as soon as you enter the resize mode | ||||||
|  | 
 | ||||||
|  | # Pressing left will shrink the window’s width. | ||||||
|  | # Pressing right will grow the window’s width. | ||||||
|  | # Pressing up will shrink the window’s height. | ||||||
|  | # Pressing down will grow the window’s height. | ||||||
|  | 	bindsym $left       resize shrink width 10 px or 10 ppt | ||||||
|  | 		bindsym $down       resize grow height 10 px or 10 ppt | ||||||
|  | 		bindsym $up         resize shrink height 10 px or 10 ppt | ||||||
|  | 		bindsym $right      resize grow width 10 px or 10 ppt | ||||||
|  | 
 | ||||||
|  | # same bindings, but for the arrow keys | ||||||
|  | 		bindsym Left        resize shrink width 10 px or 10 ppt | ||||||
|  | 		bindsym Down        resize grow height 10 px or 10 ppt | ||||||
|  | 		bindsym Up          resize shrink height 10 px or 10 ppt | ||||||
|  | 		bindsym Right       resize grow width 10 px or 10 ppt | ||||||
|  | 
 | ||||||
|  | # back to normal: Enter or Escape or Mod4+r | ||||||
|  | 		bindsym Return mode "default" | ||||||
|  | 		bindsym Escape mode "default" | ||||||
|  | 		bindsym Mod4+r mode "default" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | bindsym Mod4+r mode "resize" | ||||||
|  | 
 | ||||||
|  | bindsym Mod4+o move workspace to output left | ||||||
|  | ####################################################################### | ||||||
|  | # automatically start i3-config-wizard to offer the user to create a | ||||||
|  | # keysym-based config which used their favorite modifier (alt or windows) | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | # in ~/.config/i3/config (or $XDG_CONFIG_HOME/i3/config if set) or | ||||||
|  | # ~/.i3/config. | ||||||
|  | # | ||||||
|  | # Please remove the following exec line: | ||||||
|  | ####################################################################### | ||||||
|  | #exec i3-config-wizard | ||||||
|  | for_window [class="Arandr"] floating enable | ||||||
|  | for_window [class="cantata"] floating enable, move scratchpad | ||||||
|  | for_window [class="TelegramDesktop"] floating enable, move scratchpad | ||||||
|  | for_window [class="itch"] floating enable | ||||||
|  | # for_window [class="Wine"] floating enable | ||||||
|  | for_window [class="mpv"] floating enabler, move position center | ||||||
|  | for_window [class="vlc"] floating enable | ||||||
|  | for_window [class="Sxiv"] floating enable | ||||||
|  | for_window [class="Steam"] move container to workspace $ws5 | ||||||
|  | for_window [title="Steam"] move container to workspace $ws5 | ||||||
|  | for_window [title="Friends List"] move container to workspace $ws5, resize set width 400px | ||||||
|  | for_window [class="Lutris"] move container to workspace $ws6 | ||||||
|  | for_window [class="Gimp"] move container to workspace $ws4 | ||||||
|  | for_window [class="Blender"] move container to workspace $ws4 | ||||||
|  | for_window [class="firefox"] move container to workspace $ws3 | ||||||
|  | 
 | ||||||
|  | mouse_warping none | ||||||
|  | 
 | ||||||
|  | # gaps | ||||||
|  | smart_borders on | ||||||
|  | smart_gaps on | ||||||
|  | gaps outer 0 | ||||||
|  | gaps inner 10 | ||||||
|  | 
 | ||||||
|  | ## Base16 Solarized Light | ||||||
|  | # Author: Ethan Schoonover (modified by aramisgithub) | ||||||
|  | # | ||||||
|  | # You can use these variables anywhere in the i3 configuration file. | ||||||
|  | 
 | ||||||
|  | set $base00 #fdf6e3 | ||||||
|  | set $base01 #eee8d5 | ||||||
|  | set $base02 #93a1a1 | ||||||
|  | set $base03 #839496 | ||||||
|  | set $base04 #657b83 | ||||||
|  | set $base05 #586e75 | ||||||
|  | set $base06 #073642 | ||||||
|  | set $base07 #002b36 | ||||||
|  | set $base08 #dc322f | ||||||
|  | set $base09 #cb4b16 | ||||||
|  | set $base0A #b58900 | ||||||
|  | set $base0B #859900 | ||||||
|  | set $base0C #2aa198 | ||||||
|  | set $base0D #268bd2 | ||||||
|  | set $base0E #6c71c4 | ||||||
|  | set $base0F #d33682 | ||||||
|  | 
 | ||||||
|  | # Basic bar configuration using the Base16 variables. | ||||||
|  | bar { | ||||||
|  |     font pango: DejaVu Sans Mono Bold 11 | ||||||
|  |     mode dock | ||||||
|  |     status_command py3status | ||||||
|  |     position top | ||||||
|  |     i3bar_command i3bar -t | ||||||
|  |     tray_output none | ||||||
|  |     separator_symbol ❰ | ||||||
|  | 
 | ||||||
|  |     colors { | ||||||
|  |         background $base00 | ||||||
|  |         separator  $base03 | ||||||
|  |         statusline $base04 | ||||||
|  | 
 | ||||||
|  |         # State             Border  BG      Text | ||||||
|  |         focused_workspace   $base05 $base0D $base00 | ||||||
|  |         active_workspace    $base05 $base03 $base00 | ||||||
|  |         inactive_workspace  $base03 $base01 $base05 | ||||||
|  |         urgent_workspace    $base08 $base08 $base00 | ||||||
|  |         binding_mode        $base00 $base0A $base00 | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | # Basic color configuration using the Base16 variables for windows and borders. | ||||||
|  | # Property Name         Border  BG      Text    Indicator Child Border | ||||||
|  | client.focused          $base05 $base0D $base00 $base0D $base0C | ||||||
|  | client.focused_inactive $base01 $base01 $base05 $base03 $base01 | ||||||
|  | client.unfocused        $base01 $base00 $base05 $base01 $base01 | ||||||
|  | client.urgent           $base08 $base08 $base00 $base08 $base08 | ||||||
|  | client.placeholder      $base00 $base00 $base05 $base00 $base00 | ||||||
|  | client.background       $base07 | ||||||
							
								
								
									
										47
									
								
								.config/i3/i3status.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,47 @@ | |||||||
|  | general { | ||||||
|  |     # These will be used if not supplied by a module | ||||||
|  |     # Solarized | ||||||
|  |     color = '#073642' | ||||||
|  |     color_good = '#859900' | ||||||
|  |     color_degraded = '#b58900' | ||||||
|  |     color_bad = '#dc322f' | ||||||
|  | } | ||||||
|  | py3status { | ||||||
|  |     align = 'center' | ||||||
|  |     markup = 'pango' | ||||||
|  |     min_width = 50 | ||||||
|  |     separator = True | ||||||
|  |     separator_block_width = 20 | ||||||
|  |     # border = '#4c7899' | ||||||
|  |     border = '#073642' | ||||||
|  |     border_bottom = 0 | ||||||
|  |     border_left = 0 | ||||||
|  |     border_right = 0 | ||||||
|  |     border_top = 0 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | time { | ||||||
|  |     format = "%Y-%m-%d %H:%M " | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | mpd_status { | ||||||
|  |     format = "{name} [[[{artist} - ]{title}]|[{file}]]" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | volume_status { | ||||||
|  |     command = "pactl" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | weather_owm { | ||||||
|  |     api_key = "4e3b7bbd3da07052c4fed6d342e48707" | ||||||
|  |     city = "Tampere" | ||||||
|  |     unit_temperature = "C" | ||||||
|  |     format = "{city} {icon} {temperature}" | ||||||
|  | } | ||||||
|  | order += "dpms" | ||||||
|  | order += "volume_status" | ||||||
|  | order += "sysdata" | ||||||
|  | order += "gpu_temp" | ||||||
|  | order += "weather_owm" | ||||||
|  | order += "mpd_status" | ||||||
|  | order += "time" | ||||||
							
								
								
									
										28
									
								
								.config/i3/py3status/gpu_temp.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,28 @@ | |||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | """ | ||||||
|  | This module produces GPU temperature | ||||||
|  | 
 | ||||||
|  | """ | ||||||
|  | import sys | ||||||
|  | sys.path.insert(1, '/home/lanxu/Scripts/') | ||||||
|  | from gputemp import get_temperature | ||||||
|  | 
 | ||||||
|  | class Py3status: | ||||||
|  |     format = 'GPU: {temp}℃' | ||||||
|  |     thresholds = [ | ||||||
|  |         (0, "good"), | ||||||
|  |         (45, "degraded"), | ||||||
|  |         (60, "bad") | ||||||
|  |     ] | ||||||
|  | 
 | ||||||
|  |     def gpu_temp(self): | ||||||
|  |         temp = float(get_temperature()) | ||||||
|  | 
 | ||||||
|  |         full_text = self.py3.safe_format(self.format, { 'temp': temp}) | ||||||
|  |         color = self.py3.threshold_get_color(temp) | ||||||
|  | 
 | ||||||
|  |         return { | ||||||
|  |             'full_text': full_text, | ||||||
|  |             'color': color, | ||||||
|  |             'cached_until': self.py3.time_in(15) | ||||||
|  |         } | ||||||
							
								
								
									
										50
									
								
								.config/kitty/kitty.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,50 @@ | |||||||
|  | font_family      Fira Mono Medium | ||||||
|  | bold_font        Fira Mono Bold | ||||||
|  | italic_font      Fira Mono Italic | ||||||
|  | bold_italic_font auto | ||||||
|  | font_size 11.0 | ||||||
|  | window_padding_width 10.0 | ||||||
|  | window_padding_height 10.0 | ||||||
|  | 
 | ||||||
|  | # Base16 Solarized Light - kitty color config | ||||||
|  | # Scheme by Ethan Schoonover (modified by aramisgithub) | ||||||
|  | background #fdf6e3 | ||||||
|  | foreground #586e75 | ||||||
|  | selection_background #586e75 | ||||||
|  | selection_foreground #fdf6e3 | ||||||
|  | url_color #657b83 | ||||||
|  | cursor #586e75 | ||||||
|  | active_border_color #839496 | ||||||
|  | inactive_border_color #eee8d5 | ||||||
|  | active_tab_background #fdf6e3 | ||||||
|  | active_tab_foreground #586e75 | ||||||
|  | inactive_tab_background #eee8d5 | ||||||
|  | inactive_tab_foreground #657b83 | ||||||
|  | 
 | ||||||
|  | # normal | ||||||
|  | color0 #fdf6e3 | ||||||
|  | color1 #dc322f | ||||||
|  | color2 #859900 | ||||||
|  | color3 #b58900 | ||||||
|  | color4 #268bd2 | ||||||
|  | color5 #6c71c4 | ||||||
|  | color6 #2aa198 | ||||||
|  | color7 #586e75 | ||||||
|  | 
 | ||||||
|  | # bright | ||||||
|  | color8 #839496 | ||||||
|  | color9 #dc322f | ||||||
|  | color10 #859900 | ||||||
|  | color11 #b58900 | ||||||
|  | color12 #268bd2 | ||||||
|  | color13 #6c71c4 | ||||||
|  | color14 #2aa198 | ||||||
|  | color15 #586e75 | ||||||
|  | 
 | ||||||
|  | # extended base16 colors | ||||||
|  | color16 #cb4b16 | ||||||
|  | color17 #d33682 | ||||||
|  | color18 #eee8d5 | ||||||
|  | color19 #93a1a1 | ||||||
|  | color20 #657b83 | ||||||
|  | color21 #073642 | ||||||
							
								
								
									
										32
									
								
								.config/mimeapps.list
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,32 @@ | |||||||
|  | [Default Applications] | ||||||
|  | application/vnd.comicbook+rar=mcomix.desktop | ||||||
|  | application/vnd.comicbook+zip=mcomix.desktop | ||||||
|  | application/vnd.rar=xarchiver.desktop | ||||||
|  | application/x-cbr=mcomix.desktop | ||||||
|  | application/x-cbz=mcomix.desktop | ||||||
|  | application/zip=xarchiver.desktop | ||||||
|  | application/epub+zip=mcomix.desktop; | ||||||
|  | application/octet-stream=gvim.desktop; | ||||||
|  | application/pdf=org.pwmt.zathura-pdf-mupdf.desktop; | ||||||
|  | application/pgp-signature=gvim.desktop; | ||||||
|  | application/vnd.ms-publisher=gvim.desktop; | ||||||
|  | application/vnd.rar=mcomix.desktop;xarchiver.desktop; | ||||||
|  | application/x-alz=xarchiver.desktop; | ||||||
|  | image/gif=sxiv_browser.desktop | ||||||
|  | image/jpeg=sxiv_browser.desktop | ||||||
|  | image/png=sxiv_browser.desktop | ||||||
|  | image/svg+xml=inkscape.desktop | ||||||
|  | inode/directory=ranger_terminal.desktop | ||||||
|  | video/mp4=mpv.desktop | ||||||
|  | video/quicktime=mpv.desktop | ||||||
|  | video/x-msvideo=mpv.desktop | ||||||
|  | video/x-flv=mpv.desktop | ||||||
|  | video/x-matroska=mpv.desktop | ||||||
|  | text/plain=gvim.desktop | ||||||
|  | x-scheme-handler/itchio=io.itch.itch.desktop | ||||||
|  | x-terminal-emulator=urxvt.desktop | ||||||
|  | x-scheme-handler/discord-378483863044882443=discord-378483863044882443.desktop | ||||||
|  | x-scheme-handler/http=firefox.desktop | ||||||
|  | 
 | ||||||
|  | [Added Associations] | ||||||
|  | application/x-blender=blender.desktop; | ||||||
							
								
								
									
										9
									
								
								.config/nitrogen/bg-saved.cfg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,9 @@ | |||||||
|  | [xin_0] | ||||||
|  | file=/home/lanxu/.config/i3/background.png | ||||||
|  | mode=2 | ||||||
|  | bgcolor=#000000 | ||||||
|  | 
 | ||||||
|  | [xin_1] | ||||||
|  | file=/home/lanxu/.config/i3/background.png | ||||||
|  | mode=2 | ||||||
|  | bgcolor=#000000 | ||||||
							
								
								
									
										12
									
								
								.config/nitrogen/nitrogen.cfg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,12 @@ | |||||||
|  | [geometry] | ||||||
|  | posx=616 | ||||||
|  | posy=19 | ||||||
|  | sizex=638 | ||||||
|  | sizey=1059 | ||||||
|  | 
 | ||||||
|  | [nitrogen] | ||||||
|  | view=icon | ||||||
|  | recurse=true | ||||||
|  | sort=alpha | ||||||
|  | icon_caps=false | ||||||
|  | dirs= | ||||||
| @ -1,7 +1,8 @@ | |||||||
| # =================================================================== | # =================================================================== | ||||||
| # This file contains the default startup commands for ranger. | # This file contains the default startup commands for ranger. | ||||||
| # To change them, it is recommended to create the file | # To change them, it is recommended to create either /etc/ranger/rc.conf | ||||||
| # ~/.config/ranger/rc.conf and add your custom commands there. | # (system-wide) or ~/.config/ranger/rc.conf (per user) and add your custom | ||||||
|  | # commands there. | ||||||
| # | # | ||||||
| # If you copy this whole file there, you may want to set the environment | # If you copy this whole file there, you may want to set the environment | ||||||
| # variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice. | # variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice. | ||||||
| @ -67,7 +68,7 @@ set vcs_backend_bzr disabled | |||||||
| set vcs_backend_svn disabled | set vcs_backend_svn disabled | ||||||
| 
 | 
 | ||||||
| # Use one of the supported image preview protocols | # Use one of the supported image preview protocols | ||||||
| set preview_images true | set preview_images false | ||||||
| 
 | 
 | ||||||
| # Set the preview image method. Supported methods: | # Set the preview image method. Supported methods: | ||||||
| # | # | ||||||
| @ -85,6 +86,10 @@ set preview_images true | |||||||
| #   width of 8 and height of 11 are used.  To use other values, set the options | #   width of 8 and height of 11 are used.  To use other values, set the options | ||||||
| #   iterm2_font_width and iterm2_font_height to the desired values. | #   iterm2_font_width and iterm2_font_height to the desired values. | ||||||
| # | # | ||||||
|  | # * terminology: | ||||||
|  | #   Previews images in full color in the terminology terminal emulator. | ||||||
|  | #   Supports a wide variety of formats, even vector graphics like svg. | ||||||
|  | # | ||||||
| # * urxvt: | # * urxvt: | ||||||
| #   Preview images in full color using urxvt image backgrounds. This | #   Preview images in full color using urxvt image backgrounds. This | ||||||
| #   requires using urxvt compiled with pixbuf support. | #   requires using urxvt compiled with pixbuf support. | ||||||
| @ -92,7 +97,20 @@ set preview_images true | |||||||
| # * urxvt-full: | # * urxvt-full: | ||||||
| #   The same as urxvt but utilizing not only the preview pane but the | #   The same as urxvt but utilizing not only the preview pane but the | ||||||
| #   whole terminal window. | #   whole terminal window. | ||||||
| set preview_images_method w3m | # | ||||||
|  | # * kitty: | ||||||
|  | #   Preview images in full color using kitty image protocol. | ||||||
|  | #   Requires python PIL or pillow library. | ||||||
|  | #   If ranger does not share the local filesystem with kitty | ||||||
|  | #   the transfer method is changed to encode the whole image; | ||||||
|  | #   while slower, this allows remote previews, | ||||||
|  | #   for example during an ssh session. | ||||||
|  | #   Tmux is unsupported. | ||||||
|  | set preview_images_method kitty | ||||||
|  | 
 | ||||||
|  | # Delay in seconds before displaying an image with the w3m method. | ||||||
|  | # Increase it in case of experiencing display corruption. | ||||||
|  | set w3m_delay 0.02 | ||||||
| 
 | 
 | ||||||
| # Default iTerm2 font size (see: preview_images_method: iterm2) | # Default iTerm2 font size (see: preview_images_method: iterm2) | ||||||
| set iterm2_font_width 8 | set iterm2_font_width 8 | ||||||
| @ -101,6 +119,10 @@ set iterm2_font_height 11 | |||||||
| # Use a unicode "..." character to mark cut-off filenames? | # Use a unicode "..." character to mark cut-off filenames? | ||||||
| set unicode_ellipsis false | set unicode_ellipsis false | ||||||
| 
 | 
 | ||||||
|  | # BIDI support - try to properly display file names in RTL languages (Hebrew, Arabic). | ||||||
|  | # Requires the python-bidi pip package | ||||||
|  | set bidi_support false | ||||||
|  | 
 | ||||||
| # Show dotfiles in the bookmark preview box? | # Show dotfiles in the bookmark preview box? | ||||||
| set show_hidden_bookmarks true | set show_hidden_bookmarks true | ||||||
| 
 | 
 | ||||||
| @ -124,8 +146,11 @@ set status_bar_on_top false | |||||||
| # currently running tasks which support progress bars? | # currently running tasks which support progress bars? | ||||||
| set draw_progress_bar_in_status_bar true | set draw_progress_bar_in_status_bar true | ||||||
| 
 | 
 | ||||||
| # Draw borders around columns? | # Draw borders around columns? (separators, outline, both, or none) | ||||||
| set draw_borders false | # Separators are vertical lines between columns. | ||||||
|  | # Outline draws a box around all the columns. | ||||||
|  | # Both combines the two. | ||||||
|  | set draw_borders none | ||||||
| 
 | 
 | ||||||
| # Display the directory name in tabs? | # Display the directory name in tabs? | ||||||
| set dirname_in_tabs false | set dirname_in_tabs false | ||||||
| @ -137,6 +162,9 @@ set mouse_enabled true | |||||||
| set display_size_in_main_column true | set display_size_in_main_column true | ||||||
| set display_size_in_status_bar true | set display_size_in_status_bar true | ||||||
| 
 | 
 | ||||||
|  | # Display the free disk space in the status bar? | ||||||
|  | set display_free_space_in_status_bar true | ||||||
|  | 
 | ||||||
| # Display files tags in all columns or only in main column? | # Display files tags in all columns or only in main column? | ||||||
| set display_tags_in_all_columns true | set display_tags_in_all_columns true | ||||||
| 
 | 
 | ||||||
| @ -144,7 +172,7 @@ set display_tags_in_all_columns true | |||||||
| set update_title false | set update_title false | ||||||
| 
 | 
 | ||||||
| # Set the title to "ranger" in the tmux program? | # Set the title to "ranger" in the tmux program? | ||||||
| set update_tmux_title false | set update_tmux_title true | ||||||
| 
 | 
 | ||||||
| # Shorten the title if it gets long?  The number defines how many | # Shorten the title if it gets long?  The number defines how many | ||||||
| # directories are displayed at once, 0 turns off this feature. | # directories are displayed at once, 0 turns off this feature. | ||||||
| @ -216,6 +244,10 @@ set cd_tab_fuzzy false | |||||||
| # disable this feature. | # disable this feature. | ||||||
| set preview_max_size 0 | set preview_max_size 0 | ||||||
| 
 | 
 | ||||||
|  | # The key hint lists up to this size have their sublists expanded. | ||||||
|  | # Otherwise the submaps are replaced with "...". | ||||||
|  | set hint_collapse_threshold 10 | ||||||
|  | 
 | ||||||
| # Add the highlighted file to the path in the titlebar | # Add the highlighted file to the path in the titlebar | ||||||
| set show_selection_in_titlebar true | set show_selection_in_titlebar true | ||||||
| 
 | 
 | ||||||
| @ -232,9 +264,14 @@ set metadata_deep_search false | |||||||
| # Clear all existing filters when leaving a directory | # Clear all existing filters when leaving a directory | ||||||
| set clear_filters_on_dir_change false | set clear_filters_on_dir_change false | ||||||
| 
 | 
 | ||||||
| # Disable displaying line numbers in main column | # Disable displaying line numbers in main column. | ||||||
|  | # Possible values: false, absolute, relative. | ||||||
| set line_numbers false | set line_numbers false | ||||||
| 
 | 
 | ||||||
|  | # When line_numbers=relative show the absolute line number in the | ||||||
|  | # current line. | ||||||
|  | set relative_current_zero false | ||||||
|  | 
 | ||||||
| # Start line numbers from 1 instead of 0 | # Start line numbers from 1 instead of 0 | ||||||
| set one_indexed false | set one_indexed false | ||||||
| 
 | 
 | ||||||
| @ -249,6 +286,10 @@ set wrap_scroll false | |||||||
| # directories, files and symlinks respectively. | # directories, files and symlinks respectively. | ||||||
| set global_inode_type_filter | set global_inode_type_filter | ||||||
| 
 | 
 | ||||||
|  | # This setting allows to freeze the list of files to save I/O bandwidth.  It | ||||||
|  | # should be 'false' during start-up, but you can toggle it by pressing F. | ||||||
|  | set freeze_files false | ||||||
|  | 
 | ||||||
| # =================================================================== | # =================================================================== | ||||||
| # == Local Options | # == Local Options | ||||||
| # =================================================================== | # =================================================================== | ||||||
| @ -270,8 +311,8 @@ alias qall  quitall | |||||||
| alias qall! quitall! | alias qall! quitall! | ||||||
| alias setl  setlocal | alias setl  setlocal | ||||||
| 
 | 
 | ||||||
| alias filter     scout -prt | alias filter     scout -prts | ||||||
| alias find       scout -aeit | alias find       scout -aets | ||||||
| alias mark       scout -mr | alias mark       scout -mr | ||||||
| alias unmark     scout -Mr | alias unmark     scout -Mr | ||||||
| alias search     scout -rs | alias search     scout -rs | ||||||
| @ -311,6 +352,8 @@ map r  chain draw_possible_programs; console open_with%%space | |||||||
| map f  console find%space | map f  console find%space | ||||||
| map cd console cd%space | map cd console cd%space | ||||||
| 
 | 
 | ||||||
|  | map <C-p> chain console; eval fm.ui.console.history_move(-1) | ||||||
|  | 
 | ||||||
| # Change the line mode | # Change the line mode | ||||||
| map Mf linemode filename | map Mf linemode filename | ||||||
| map Mi linemode fileinfo | map Mi linemode fileinfo | ||||||
| @ -374,6 +417,7 @@ map L     history_go 1 | |||||||
| map ]     move_parent 1 | map ]     move_parent 1 | ||||||
| map [     move_parent -1 | map [     move_parent -1 | ||||||
| map }     traverse | map }     traverse | ||||||
|  | map {     traverse_backwards | ||||||
| map )     jump_non | map )     jump_non | ||||||
| 
 | 
 | ||||||
| map gh cd ~ | map gh cd ~ | ||||||
| @ -385,9 +429,10 @@ map gL cd -r %f | |||||||
| map go cd /opt | map go cd /opt | ||||||
| map gv cd /var | map gv cd /var | ||||||
| map gm cd /media | map gm cd /media | ||||||
|  | map gi eval fm.cd('/run/media/' + os.getenv('USER')) | ||||||
| map gM cd /mnt | map gM cd /mnt | ||||||
| map gs cd /srv | map gs cd /srv | ||||||
| map gt cd /tmp | map gp cd /tmp | ||||||
| map gr cd / | map gr cd / | ||||||
| map gR eval fm.cd(ranger.RANGERDIR) | map gR eval fm.cd(ranger.RANGERDIR) | ||||||
| map g/ cd / | map g/ cd / | ||||||
| @ -400,6 +445,7 @@ map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh | |||||||
| map yp yank path | map yp yank path | ||||||
| map yd yank dir | map yd yank dir | ||||||
| map yn yank name | map yn yank name | ||||||
|  | map y. yank name_without_extension | ||||||
| 
 | 
 | ||||||
| # Filesystem Operations | # Filesystem Operations | ||||||
| map =  chmod | map =  chmod | ||||||
| @ -474,6 +520,8 @@ map <a-6>     tab_open 6 | |||||||
| map <a-7>     tab_open 7 | map <a-7>     tab_open 7 | ||||||
| map <a-8>     tab_open 8 | map <a-8>     tab_open 8 | ||||||
| map <a-9>     tab_open 9 | map <a-9>     tab_open 9 | ||||||
|  | map <a-r>     tab_shift 1 | ||||||
|  | map <a-l>     tab_shift -1 | ||||||
| 
 | 
 | ||||||
| # Sorting | # Sorting | ||||||
| map or set sort_reverse! | map or set sort_reverse! | ||||||
| @ -503,6 +551,8 @@ map zc    set collapse_preview! | |||||||
| map zd    set sort_directories_first! | map zd    set sort_directories_first! | ||||||
| map zh    set show_hidden! | map zh    set show_hidden! | ||||||
| map <C-h> set show_hidden! | map <C-h> set show_hidden! | ||||||
|  | copymap <C-h> <backspace> | ||||||
|  | copymap <backspace> <backspace2> | ||||||
| map zI    set flushinput! | map zI    set flushinput! | ||||||
| map zi    set preview_images! | map zi    set preview_images! | ||||||
| map zm    set mouse_enabled! | map zm    set mouse_enabled! | ||||||
| @ -514,6 +564,21 @@ map zv    set use_preview_script! | |||||||
| map zf    console filter%space | map zf    console filter%space | ||||||
| copymap zf zz | copymap zf zz | ||||||
| 
 | 
 | ||||||
|  | # Filter stack | ||||||
|  | map .n console filter_stack add name%space | ||||||
|  | map .m console filter_stack add mime%space | ||||||
|  | map .d filter_stack add type d | ||||||
|  | map .f filter_stack add type f | ||||||
|  | map .l filter_stack add type l | ||||||
|  | map .| filter_stack add or | ||||||
|  | map .& filter_stack add and | ||||||
|  | map .! filter_stack add not | ||||||
|  | map .r console filter_stack rotate | ||||||
|  | map .c filter_stack clear | ||||||
|  | map .* filter_stack decompose | ||||||
|  | map .p filter_stack pop | ||||||
|  | map .. filter_stack show | ||||||
|  | 
 | ||||||
| # Bookmarks | # Bookmarks | ||||||
| map `<any>  enter_bookmark %any | map `<any>  enter_bookmark %any | ||||||
| map '<any>  enter_bookmark %any | map '<any>  enter_bookmark %any | ||||||
| @ -558,8 +623,11 @@ cmap <left>  eval fm.ui.console.move(left=1) | |||||||
| cmap <right> eval fm.ui.console.move(right=1) | cmap <right> eval fm.ui.console.move(right=1) | ||||||
| cmap <home>  eval fm.ui.console.move(right=0, absolute=True) | cmap <home>  eval fm.ui.console.move(right=0, absolute=True) | ||||||
| cmap <end>   eval fm.ui.console.move(right=-1, absolute=True) | cmap <end>   eval fm.ui.console.move(right=-1, absolute=True) | ||||||
| cmap <a-left>   eval fm.ui.console.move_word(left=1) | cmap <a-b> eval fm.ui.console.move_word(left=1) | ||||||
| cmap <a-right>  eval fm.ui.console.move_word(right=1) | cmap <a-f> eval fm.ui.console.move_word(right=1) | ||||||
|  | 
 | ||||||
|  | copycmap <a-b> <a-left> | ||||||
|  | copycmap <a-f> <a-right> | ||||||
| 
 | 
 | ||||||
| # Line Editing | # Line Editing | ||||||
| cmap <backspace>  eval fm.ui.console.delete(-1) | cmap <backspace>  eval fm.ui.console.delete(-1) | ||||||
| @ -571,6 +639,7 @@ cmap <C-u>        eval fm.ui.console.delete_rest(-1) | |||||||
| cmap <C-y>        eval fm.ui.console.paste() | cmap <C-y>        eval fm.ui.console.paste() | ||||||
| 
 | 
 | ||||||
| # And of course the emacs way | # And of course the emacs way | ||||||
|  | copycmap <ESC>       <C-g> | ||||||
| copycmap <up>        <C-p> | copycmap <up>        <C-p> | ||||||
| copycmap <down>      <C-n> | copycmap <down>      <C-n> | ||||||
| copycmap <left>      <C-b> | copycmap <left>      <C-b> | ||||||
|  | |||||||
| @ -152,7 +152,7 @@ ext pdf, has atril,    X, flag f = atril -- "$@" | |||||||
| ext pdf, has okular,   X, flag f = okular -- "$@" | ext pdf, has okular,   X, flag f = okular -- "$@" | ||||||
| ext pdf, has epdfview, X, flag f = epdfview -- "$@" | ext pdf, has epdfview, X, flag f = epdfview -- "$@" | ||||||
| ext pdf, has qpdfview, X, flag f = qpdfview "$@" | ext pdf, has qpdfview, X, flag f = qpdfview "$@" | ||||||
| ext pdf, has open,     X, flat f = open "$@" | ext pdf, has open,     X, flag f = open "$@" | ||||||
| 
 | 
 | ||||||
| ext docx?, has catdoc,       terminal = catdoc -- "$@" | "$PAGER" | ext docx?, has catdoc,       terminal = catdoc -- "$@" | "$PAGER" | ||||||
| 
 | 
 | ||||||
| @ -165,16 +165,18 @@ ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice,     X, f | |||||||
| ext djvu, has zathura,X, flag f = zathura -- "$@" | ext djvu, has zathura,X, flag f = zathura -- "$@" | ||||||
| ext djvu, has evince, X, flag f = evince -- "$@" | ext djvu, has evince, X, flag f = evince -- "$@" | ||||||
| ext djvu, has atril,  X, flag f = atril -- "$@" | ext djvu, has atril,  X, flag f = atril -- "$@" | ||||||
|  | ext djvu, has djview, X, flag f = djview -- "$@" | ||||||
| 
 | 
 | ||||||
| ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@" | ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@" | ||||||
| ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@" | ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@" | ||||||
| 
 | 
 | ||||||
| #------------------------------------------- | #------------------------------------------- | ||||||
| # Image Viewing: | # Images | ||||||
| #------------------------------------------- | #------------------------------------------- | ||||||
| mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@" | mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@" | ||||||
| mime ^image/svg, has display,  X, flag f = display -- "$@" | mime ^image/svg, has display,  X, flag f = display -- "$@" | ||||||
| 
 | 
 | ||||||
|  | mime ^image, has imv,       X, flag f = imv -- "$@" | ||||||
| mime ^image, has pqiv,      X, flag f = pqiv -- "$@" | mime ^image, has pqiv,      X, flag f = pqiv -- "$@" | ||||||
| mime ^image, has sxiv,      X, flag f = sxiv -- "$@" | mime ^image, has sxiv,      X, flag f = sxiv -- "$@" | ||||||
| mime ^image, has feh,       X, flag f = feh -- "$@" | mime ^image, has feh,       X, flag f = feh -- "$@" | ||||||
| @ -183,6 +185,8 @@ mime ^image, has ristretto, X, flag f = ristretto "$@" | |||||||
| mime ^image, has eog,       X, flag f = eog -- "$@" | mime ^image, has eog,       X, flag f = eog -- "$@" | ||||||
| mime ^image, has eom,       X, flag f = eom -- "$@" | mime ^image, has eom,       X, flag f = eom -- "$@" | ||||||
| mime ^image, has nomacs,    X, flag f = nomacs -- "$@" | mime ^image, has nomacs,    X, flag f = nomacs -- "$@" | ||||||
|  | mime ^image, has geeqie,    X, flag f = geeqie -- "$@" | ||||||
|  | mime ^image, has gwenview,  X, flag f = gwenview -- "$@" | ||||||
| mime ^image, has gimp,      X, flag f = gimp -- "$@" | mime ^image, has gimp,      X, flag f = gimp -- "$@" | ||||||
| ext xcf,                    X, flag f = gimp -- "$@" | ext xcf,                    X, flag f = gimp -- "$@" | ||||||
| 
 | 
 | ||||||
| @ -209,6 +213,39 @@ ext ace, has unace = for file in "$@"; do unace e "$file"; done | |||||||
| ext rar, has unrar = unrar l "$1" | less | ext rar, has unrar = unrar l "$1" | less | ||||||
| ext rar, has unrar = for file in "$@"; do unrar x "$file"; done | ext rar, has unrar = for file in "$@"; do unrar x "$file"; done | ||||||
| 
 | 
 | ||||||
|  | #------------------------------------------- | ||||||
|  | # Fonts | ||||||
|  | #------------------------------------------- | ||||||
|  | mime ^font, has fontforge, X, flag f = fontforge "$@" | ||||||
|  | 
 | ||||||
|  | #------------------------------------------- | ||||||
|  | # Flag t fallback terminals | ||||||
|  | #------------------------------------------- | ||||||
|  | # Rarely installed terminal emulators get higher priority; It is assumed that | ||||||
|  | # if you install a rare terminal emulator, you probably use it. | ||||||
|  | # gnome-terminal/konsole/xterm on the other hand are often installed as part of | ||||||
|  | # a desktop environment or as fallback terminal emulators. | ||||||
|  | mime ^ranger/x-terminal-emulator, has terminology = terminology -e "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has kitty = kitty -- "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has alacritty = alacritty -e "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has sakura = sakura -e "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has lilyterm = lilyterm -e "$@" | ||||||
|  | #mime ^ranger/x-terminal-emulator, has cool-retro-term = cool-retro-term -e "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has termite = termite -x '"$@"' | ||||||
|  | #mime ^ranger/x-terminal-emulator, has yakuake = yakuake -e "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has guake = guake -ne "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has tilda = tilda -c "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has st = st -e "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has terminator = terminator -x "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has urxvt = urxvt -e "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has pantheon-terminal = pantheon-terminal -e "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has lxterminal = lxterminal -e "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has mate-terminal = mate-terminal -x "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has xfce4-terminal = xfce4-terminal -x "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has konsole = konsole -e "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has gnome-terminal = gnome-terminal -- "$@" | ||||||
|  | mime ^ranger/x-terminal-emulator, has xterm = xterm -e "$@" | ||||||
|  | 
 | ||||||
| #------------------------------------------- | #------------------------------------------- | ||||||
| # Misc | # Misc | ||||||
| #------------------------------------------- | #------------------------------------------- | ||||||
|  | |||||||
| @ -31,13 +31,14 @@ IMAGE_CACHE_PATH="${4}"  # Full path that should be used to cache image preview | |||||||
| PV_IMAGE_ENABLED="${5}"  # 'True' if image previews are enabled, 'False' otherwise. | PV_IMAGE_ENABLED="${5}"  # 'True' if image previews are enabled, 'False' otherwise. | ||||||
| 
 | 
 | ||||||
| FILE_EXTENSION="${FILE_PATH##*.}" | FILE_EXTENSION="${FILE_PATH##*.}" | ||||||
| FILE_EXTENSION_LOWER="${FILE_EXTENSION,,}" | FILE_EXTENSION_LOWER="$(printf "%s" "${FILE_EXTENSION}" | tr '[:upper:]' '[:lower:]')" | ||||||
| 
 | 
 | ||||||
| # Settings | # Settings | ||||||
| HIGHLIGHT_SIZE_MAX=262143  # 256KiB | HIGHLIGHT_SIZE_MAX=262143  # 256KiB | ||||||
| HIGHLIGHT_TABWIDTH=8 | HIGHLIGHT_TABWIDTH=${HIGHLIGHT_TABWIDTH:-8} | ||||||
| HIGHLIGHT_STYLE='pablo' | HIGHLIGHT_STYLE=${HIGHLIGHT_STYLE:-pablo} | ||||||
| PYGMENTIZE_STYLE='autumn' | HIGHLIGHT_OPTIONS="--replace-tabs=${HIGHLIGHT_TABWIDTH} --style=${HIGHLIGHT_STYLE} ${HIGHLIGHT_OPTIONS:-}" | ||||||
|  | PYGMENTIZE_STYLE=${PYGMENTIZE_STYLE:-autumn} | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| handle_extension() { | handle_extension() { | ||||||
| @ -60,7 +61,8 @@ handle_extension() { | |||||||
|         # PDF |         # PDF | ||||||
|         #pdf) |         #pdf) | ||||||
|         #    # Preview as text conversion |         #    # Preview as text conversion | ||||||
|         #    pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - && exit 5 |         #    pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | fmt -w ${PV_WIDTH} && exit 5 | ||||||
|  |         #    mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | fmt -w ${PV_WIDTH} && exit 5 | ||||||
|         #    exiftool "${FILE_PATH}" && exit 5 |         #    exiftool "${FILE_PATH}" && exit 5 | ||||||
| 	#    exit 1;; | 	#    exit 1;; | ||||||
| 
 | 
 | ||||||
| @ -82,10 +84,20 @@ handle_extension() { | |||||||
|             lynx -dump -- "${FILE_PATH}" && exit 5 |             lynx -dump -- "${FILE_PATH}" && exit 5 | ||||||
|             elinks -dump "${FILE_PATH}" && exit 5 |             elinks -dump "${FILE_PATH}" && exit 5 | ||||||
|             ;; # Continue with next handler on failure |             ;; # Continue with next handler on failure | ||||||
|  | 
 | ||||||
|  | 	# JSON | ||||||
|  |         json) | ||||||
|  |             jq --color-output . "${FILE_PATH}" && exit 5 | ||||||
|  |             python -m json.tool -- "${FILE_PATH}" && exit 5 | ||||||
|  | ;; | ||||||
|     esac |     esac | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| handle_image() { | handle_image() { | ||||||
|  |     # Size of the preview if there are multiple options or it has to be rendered | ||||||
|  |     # from vector graphics. If the conversion program allows specifying only one | ||||||
|  |     # dimension while keeping the aspect ratio, the width will be used. | ||||||
|  |     local DEFAULT_SIZE="1920x1080" | ||||||
|     local mimetype="${1}" |     local mimetype="${1}" | ||||||
| 
 | 
 | ||||||
|     case "${FILE_EXTENSION_LOWER}" in |     case "${FILE_EXTENSION_LOWER}" in | ||||||
| @ -97,10 +109,16 @@ handle_image() { | |||||||
| 
 | 
 | ||||||
|     case "${mimetype}" in |     case "${mimetype}" in | ||||||
|         # SVG |         # SVG | ||||||
|         image/svg+xml) |         image/svg+xml|image/svg) | ||||||
|             convert "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6 |             convert -- "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6 | ||||||
|             exit 1;; |             exit 1;; | ||||||
| 
 | 
 | ||||||
|  |         # DjVu | ||||||
|  |         # image/vnd.djvu) | ||||||
|  |         #     ddjvu -format=tiff -quality=90 -page=1 -size="${DEFAULT_SIZE}" \ | ||||||
|  |         #           - "${IMAGE_CACHE_PATH}" < "${FILE_PATH}" \ | ||||||
|  |         #           && exit 6 || exit 1;; | ||||||
|  | 
 | ||||||
|         # Image |         # Image | ||||||
|         image/*) |         image/*) | ||||||
|             local orientation |             local orientation | ||||||
| @ -125,12 +143,80 @@ handle_image() { | |||||||
|         # PDF |         # PDF | ||||||
|         application/pdf) |         application/pdf) | ||||||
|             pdftoppm -f 1 -l 1 \ |             pdftoppm -f 1 -l 1 \ | ||||||
|                      -scale-to-x 1920 \ |                      -scale-to-x "${DEFAULT_SIZE%x*}" \ | ||||||
|                      -scale-to-y -1 \ |                      -scale-to-y -1 \ | ||||||
|                      -singlefile \ |                      -singlefile \ | ||||||
|                      -jpeg -tiffcompression jpeg \ |                      -jpeg -tiffcompression jpeg \ | ||||||
|                      -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \ |                      -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \ | ||||||
| 	        && exit 6 || exit 1;; | 	        && exit 6 || exit 1;; | ||||||
|  |         # ePub, MOBI, FB2 (using Calibre) | ||||||
|  |         # application/epub+zip|application/x-mobipocket-ebook|application/x-fictionbook+xml) | ||||||
|  |         #     ebook-meta --get-cover="${IMAGE_CACHE_PATH}" -- "${FILE_PATH}" > /dev/null \ | ||||||
|  |         #         && exit 6 || exit 1;; | ||||||
|  | 
 | ||||||
|  |         # ePub (using <https://github.com/marianosimone/epub-thumbnailer>) | ||||||
|  |         # application/epub+zip) | ||||||
|  |         #     epub-thumbnailer \ | ||||||
|  |         #         "${FILE_PATH}" "${IMAGE_CACHE_PATH}" "${DEFAULT_SIZE%x*}" \ | ||||||
|  |         #         && exit 6 || exit 1;; | ||||||
|  | 
 | ||||||
|  |         # Font | ||||||
|  |         application/font*|application/*opentype) | ||||||
|  |             preview_png="/tmp/$(basename "${IMAGE_CACHE_PATH%.*}").png" | ||||||
|  |             if fontimage -o "${preview_png}" \ | ||||||
|  |                          --pixelsize "120" \ | ||||||
|  |                          --fontname \ | ||||||
|  |                          --pixelsize "80" \ | ||||||
|  |                          --text "  ABCDEFGHIJKLMNOPQRSTUVWXYZ  " \ | ||||||
|  |                          --text "  abcdefghijklmnopqrstuvwxyz  " \ | ||||||
|  |                          --text "  0123456789.:,;(*!?') ff fl fi ffi ffl  " \ | ||||||
|  |                          --text "  The quick brown fox jumps over the lazy dog.  " \ | ||||||
|  |                          "${FILE_PATH}"; | ||||||
|  |             then | ||||||
|  |                 convert -- "${preview_png}" "${IMAGE_CACHE_PATH}" \ | ||||||
|  |                     && rm "${preview_png}" \ | ||||||
|  |                     && exit 6 | ||||||
|  |             else | ||||||
|  |                 exit 1 | ||||||
|  |             fi | ||||||
|  |             ;; | ||||||
|  | 
 | ||||||
|  |         # Preview archives using the first image inside. | ||||||
|  |         # (Very useful for comic book collections for example.) | ||||||
|  |         # application/zip|application/x-rar|application/x-7z-compressed|\ | ||||||
|  |         #     application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar) | ||||||
|  |         #     local fn=""; local fe="" | ||||||
|  |         #     local zip=""; local rar=""; local tar=""; local bsd="" | ||||||
|  |         #     case "${mimetype}" in | ||||||
|  |         #         application/zip) zip=1 ;; | ||||||
|  |         #         application/x-rar) rar=1 ;; | ||||||
|  |         #         application/x-7z-compressed) ;; | ||||||
|  |         #         *) tar=1 ;; | ||||||
|  |         #     esac | ||||||
|  |         #     { [ "$tar" ] && fn=$(tar --list --file "${FILE_PATH}"); } || \ | ||||||
|  |         #     { fn=$(bsdtar --list --file "${FILE_PATH}") && bsd=1 && tar=""; } || \ | ||||||
|  |         #     { [ "$rar" ] && fn=$(unrar lb -p- -- "${FILE_PATH}"); } || \ | ||||||
|  |         #     { [ "$zip" ] && fn=$(zipinfo -1 -- "${FILE_PATH}"); } || return | ||||||
|  |         # | ||||||
|  |         #     fn=$(echo "$fn" | python -c "import sys; import mimetypes as m; \ | ||||||
|  |         #             [ print(l, end='') for l in sys.stdin if \ | ||||||
|  |         #               (m.guess_type(l[:-1])[0] or '').startswith('image/') ]" |\ | ||||||
|  |         #         sort -V | head -n 1) | ||||||
|  |         #     [ "$fn" = "" ] && return | ||||||
|  |         #     [ "$bsd" ] && fn=$(printf '%b' "$fn") | ||||||
|  |         # | ||||||
|  |         #     [ "$tar" ] && tar --extract --to-stdout \ | ||||||
|  |         #         --file "${FILE_PATH}" -- "$fn" > "${IMAGE_CACHE_PATH}" && exit 6 | ||||||
|  |         #     fe=$(echo -n "$fn" | sed 's/[][*?\]/\\\0/g') | ||||||
|  |         #     [ "$bsd" ] && bsdtar --extract --to-stdout \ | ||||||
|  |         #         --file "${FILE_PATH}" -- "$fe" > "${IMAGE_CACHE_PATH}" && exit 6 | ||||||
|  |         #     [ "$bsd" ] || [ "$tar" ] && rm -- "${IMAGE_CACHE_PATH}" | ||||||
|  |         #     [ "$rar" ] && unrar p -p- -inul -- "${FILE_PATH}" "$fn" > \ | ||||||
|  |         #         "${IMAGE_CACHE_PATH}" && exit 6 | ||||||
|  |         #     [ "$zip" ] && unzip -pP "" -- "${FILE_PATH}" "$fe" > \ | ||||||
|  |         #         "${IMAGE_CACHE_PATH}" && exit 6 | ||||||
|  |         #     [ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}" | ||||||
|  | 	#     ;; | ||||||
|     esac |     esac | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -150,16 +236,25 @@ handle_mime() { | |||||||
|                 local pygmentize_format='terminal' |                 local pygmentize_format='terminal' | ||||||
|                 local highlight_format='ansi' |                 local highlight_format='ansi' | ||||||
|             fi |             fi | ||||||
|             highlight --replace-tabs="${HIGHLIGHT_TABWIDTH}" --out-format="${highlight_format}" \ |             env HIGHLIGHT_OPTIONS="${HIGHLIGHT_OPTIONS}" highlight \ | ||||||
|                 --style="${HIGHLIGHT_STYLE}" --force -- "${FILE_PATH}" && exit 5 |                 --out-format="${highlight_format}" \ | ||||||
|             # pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}" -- "${FILE_PATH}" && exit 5 |                 --force -- "${FILE_PATH}" && exit 5 | ||||||
|  |             pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}"\ | ||||||
|  |                 -- "${FILE_PATH}" && exit 5 | ||||||
|             exit 2;; |             exit 2;; | ||||||
| 
 | 
 | ||||||
|  |         # DjVu | ||||||
|  |         image/vnd.djvu) | ||||||
|  |             # Preview as text conversion (requires djvulibre) | ||||||
|  |             djvutxt "${FILE_PATH}" | fmt -w ${PV_WIDTH} && exit 5 | ||||||
|  |             exiftool "${FILE_PATH}" && exit 5 | ||||||
|  | 	    exit 1;; | ||||||
|  | 
 | ||||||
|         # Image |         # Image | ||||||
|         image/*) |         image/*) | ||||||
|             # Preview as text conversion |             # Preview as text conversion | ||||||
|             # img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4 |             img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4 | ||||||
|             exiftool "${FILE_PATH}" && exit 5 |             #exiftool "${FILE_PATH}" && exit 5 | ||||||
|             exit 1;; |             exit 1;; | ||||||
| 
 | 
 | ||||||
|         # Video and audio |         # Video and audio | ||||||
|  | |||||||
							
								
								
									
										4
									
								
								.config/rofi/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,4 @@ | |||||||
|  | rofi.lines: 20 | ||||||
|  | rofi.show-icons: true | ||||||
|  | rofi.width: 60 | ||||||
|  | rofi.theme: Arc-Dark | ||||||
							
								
								
									
										33
									
								
								.config/rofi/scripts/powermenu.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @ -0,0 +1,33 @@ | |||||||
|  | OPTIONS="Reboot\nPoweroff\nSuspend\nHibernate\nLogout\nLock\n" | ||||||
|  | 
 | ||||||
|  | lock() { | ||||||
|  |     WINDOW=:0 xscreensaver-command -lock | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | if [ "$@" ] | ||||||
|  | then | ||||||
|  |     case $@ in | ||||||
|  |       Exit) | ||||||
|  |         i3-msg exit | ||||||
|  |         ;; | ||||||
|  |       Logout) | ||||||
|  |         i3-msg exit | ||||||
|  |         ;; | ||||||
|  |       Reboot) | ||||||
|  |         systemctl reboot | ||||||
|  |         ;; | ||||||
|  |       Poweroff) | ||||||
|  |         systemctl poweroff | ||||||
|  |         ;; | ||||||
|  |       Suspend) | ||||||
|  |         systemctl suspend | ||||||
|  |         ;; | ||||||
|  |       Hibernate) | ||||||
|  |         systemctl hibernate | ||||||
|  |         ;; | ||||||
|  |       *) | ||||||
|  |         ;; | ||||||
|  |     esac | ||||||
|  | else | ||||||
|  |     echo -en $OPTIONS | ||||||
|  | fi | ||||||
							
								
								
									
										9
									
								
								.config/zathura/zathurarc
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,9 @@ | |||||||
|  | set pages-per-row 2 | ||||||
|  | set page-cache-size 1 | ||||||
|  | set adjust-open "best-fit" | ||||||
|  | 
 | ||||||
|  | set render-loading "false" | ||||||
|  | set selection-clipboard clipboard | ||||||
|  | unmap f | ||||||
|  | map f toggle_fullscreen | ||||||
|  | map [fullscreen] f toggle_fullscreen | ||||||
							
								
								
									
										19
									
								
								.hgignore
									
									
									
									
									
								
							
							
						
						| @ -1,11 +1,8 @@ | |||||||
| # do not sync lain | .pyc | ||||||
| lain/ | .vim/plugged | ||||||
| 
 | .old | ||||||
| # vim | .bak | ||||||
| .tmp | .config/i3blocks | ||||||
| .vim | .config/awesome/lain | ||||||
| 
 | .config/ranger/bookmarks | ||||||
| # ranger | .vim/view/ | ||||||
| ranger/bookmarks |  | ||||||
| ranger/history |  | ||||||
| ranger/tagged |  | ||||||
|  | |||||||
							
								
								
									
										192
									
								
								.vim/.ycm_extra_conf.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,192 @@ | |||||||
|  | # This file is NOT licensed under the GPLv3, which is the license for the rest | ||||||
|  | # of YouCompleteMe. | ||||||
|  | # | ||||||
|  | # Here's the license text for this file: | ||||||
|  | # | ||||||
|  | # This is free and unencumbered software released into the public domain. | ||||||
|  | # | ||||||
|  | # Anyone is free to copy, modify, publish, use, compile, sell, or | ||||||
|  | # distribute this software, either in source code form or as a compiled | ||||||
|  | # binary, for any purpose, commercial or non-commercial, and by any | ||||||
|  | # means. | ||||||
|  | # | ||||||
|  | # In jurisdictions that recognize copyright laws, the author or authors | ||||||
|  | # of this software dedicate any and all copyright interest in the | ||||||
|  | # software to the public domain. We make this dedication for the benefit | ||||||
|  | # of the public at large and to the detriment of our heirs and | ||||||
|  | # successors. We intend this dedication to be an overt act of | ||||||
|  | # relinquishment in perpetuity of all present and future rights to this | ||||||
|  | # software under copyright law. | ||||||
|  | # | ||||||
|  | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||||
|  | # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||||||
|  | # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||||||
|  | # IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | ||||||
|  | # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||||||
|  | # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||||||
|  | # OTHER DEALINGS IN THE SOFTWARE. | ||||||
|  | # | ||||||
|  | # For more information, please refer to <http://unlicense.org/> | ||||||
|  | 
 | ||||||
|  | import os | ||||||
|  | import ycm_core | ||||||
|  | 
 | ||||||
|  | # These are the compilation flags that will be used in case there's no | ||||||
|  | # compilation database set (by default, one is not set). | ||||||
|  | # CHANGE THIS LIST OF FLAGS. YES, THIS IS THE DROID YOU HAVE BEEN LOOKING FOR. | ||||||
|  | flags = [ | ||||||
|  | '-Wall', | ||||||
|  | '-Wextra', | ||||||
|  | '-Werror', | ||||||
|  | #'-Wc++98-compat', | ||||||
|  | '-Wno-long-long', | ||||||
|  | '-Wno-variadic-macros', | ||||||
|  | '-fexceptions', | ||||||
|  | '-DNDEBUG', | ||||||
|  | # You 100% do NOT need -DUSE_CLANG_COMPLETER in your flags; only the YCM | ||||||
|  | # source code needs it. | ||||||
|  | '-DUSE_CLANG_COMPLETER', | ||||||
|  | # THIS IS IMPORTANT! Without a "-std=<something>" flag, clang won't know which | ||||||
|  | # language to use when compiling headers. So it will guess. Badly. So C++ | ||||||
|  | # headers will be compiled as C headers. You don't want that so ALWAYS specify | ||||||
|  | # a "-std=<something>". | ||||||
|  | # For a C project, you would set this to something like 'c99' instead of | ||||||
|  | # 'c++11'. | ||||||
|  | '-std=c++11', | ||||||
|  | # ...and the same thing goes for the magic -x option which specifies the | ||||||
|  | # language that the files to be compiled are written in. This is mostly | ||||||
|  | # relevant for c++ headers. | ||||||
|  | # For a C project, you would set this to 'c' instead of 'c++'. | ||||||
|  | '-x', | ||||||
|  | 'c++', | ||||||
|  | '-isystem', | ||||||
|  | '../BoostParts', | ||||||
|  | '-isystem', | ||||||
|  | # This path will only work on OS X, but extra paths that don't exist are not | ||||||
|  | # harmful | ||||||
|  | '/System/Library/Frameworks/Python.framework/Headers', | ||||||
|  | '-isystem', | ||||||
|  | '../llvm/include', | ||||||
|  | '-isystem', | ||||||
|  | '../llvm/tools/clang/include', | ||||||
|  | '-I', | ||||||
|  | '.', | ||||||
|  | '-I', | ||||||
|  | './ClangCompleter', | ||||||
|  | '-isystem', | ||||||
|  | './tests/gmock/gtest', | ||||||
|  | '-isystem', | ||||||
|  | './tests/gmock/gtest/include', | ||||||
|  | '-isystem', | ||||||
|  | './tests/gmock', | ||||||
|  | '-isystem', | ||||||
|  | './tests/gmock/include', | ||||||
|  | '-isystem', | ||||||
|  | '/usr/include', | ||||||
|  | '-isystem', | ||||||
|  | '/usr/local/include', | ||||||
|  | '-isystem', | ||||||
|  | '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1', | ||||||
|  | '-isystem', | ||||||
|  | '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include', | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # Set this to the absolute path to the folder (NOT the file!) containing the | ||||||
|  | # compile_commands.json file to use that instead of 'flags'. See here for | ||||||
|  | # more details: http://clang.llvm.org/docs/JSONCompilationDatabase.html | ||||||
|  | # | ||||||
|  | # Most projects will NOT need to set this to anything; you can just change the | ||||||
|  | # 'flags' list of compilation flags. Notice that YCM itself uses that approach. | ||||||
|  | compilation_database_folder = '' | ||||||
|  | 
 | ||||||
|  | if os.path.exists( compilation_database_folder ): | ||||||
|  |   database = ycm_core.CompilationDatabase( compilation_database_folder ) | ||||||
|  | else: | ||||||
|  |   database = None | ||||||
|  | 
 | ||||||
|  | SOURCE_EXTENSIONS = [ '.cpp', '.cxx', '.cc', '.c', '.m', '.mm' ] | ||||||
|  | 
 | ||||||
|  | def DirectoryOfThisScript(): | ||||||
|  |   return os.path.dirname( os.path.abspath( __file__ ) ) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def MakeRelativePathsInFlagsAbsolute( flags, working_directory ): | ||||||
|  |   if not working_directory: | ||||||
|  |     return list( flags ) | ||||||
|  |   new_flags = [] | ||||||
|  |   make_next_absolute = False | ||||||
|  |   path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ] | ||||||
|  |   for flag in flags: | ||||||
|  |     new_flag = flag | ||||||
|  | 
 | ||||||
|  |     if make_next_absolute: | ||||||
|  |       make_next_absolute = False | ||||||
|  |       if not flag.startswith( '/' ): | ||||||
|  |         new_flag = os.path.join( working_directory, flag ) | ||||||
|  | 
 | ||||||
|  |     for path_flag in path_flags: | ||||||
|  |       if flag == path_flag: | ||||||
|  |         make_next_absolute = True | ||||||
|  |         break | ||||||
|  | 
 | ||||||
|  |       if flag.startswith( path_flag ): | ||||||
|  |         path = flag[ len( path_flag ): ] | ||||||
|  |         new_flag = path_flag + os.path.join( working_directory, path ) | ||||||
|  |         break | ||||||
|  | 
 | ||||||
|  |     if new_flag: | ||||||
|  |       new_flags.append( new_flag ) | ||||||
|  |   return new_flags | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def IsHeaderFile( filename ): | ||||||
|  |   extension = os.path.splitext( filename )[ 1 ] | ||||||
|  |   return extension in [ '.h', '.hxx', '.hpp', '.hh' ] | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def GetCompilationInfoForFile( filename ): | ||||||
|  |   # The compilation_commands.json file generated by CMake does not have entries | ||||||
|  |   # for header files. So we do our best by asking the db for flags for a | ||||||
|  |   # corresponding source file, if any. If one exists, the flags for that file | ||||||
|  |   # should be good enough. | ||||||
|  |   if IsHeaderFile( filename ): | ||||||
|  |     basename = os.path.splitext( filename )[ 0 ] | ||||||
|  |     for extension in SOURCE_EXTENSIONS: | ||||||
|  |       replacement_file = basename + extension | ||||||
|  |       if os.path.exists( replacement_file ): | ||||||
|  |         compilation_info = database.GetCompilationInfoForFile( | ||||||
|  |           replacement_file ) | ||||||
|  |         if compilation_info.compiler_flags_: | ||||||
|  |           return compilation_info | ||||||
|  |     return None | ||||||
|  |   return database.GetCompilationInfoForFile( filename ) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def FlagsForFile( filename, **kwargs ): | ||||||
|  |   if database: | ||||||
|  |     # Bear in mind that compilation_info.compiler_flags_ does NOT return a | ||||||
|  |     # python list, but a "list-like" StringVec object | ||||||
|  |     compilation_info = GetCompilationInfoForFile( filename ) | ||||||
|  |     if not compilation_info: | ||||||
|  |       return None | ||||||
|  | 
 | ||||||
|  |     final_flags = MakeRelativePathsInFlagsAbsolute( | ||||||
|  |       compilation_info.compiler_flags_, | ||||||
|  |       compilation_info.compiler_working_dir_ ) | ||||||
|  | 
 | ||||||
|  |     # NOTE: This is just for YouCompleteMe; it's highly likely that your project | ||||||
|  |     # does NOT need to remove the stdlib flag. DO NOT USE THIS IN YOUR | ||||||
|  |     # ycm_extra_conf IF YOU'RE NOT 100% SURE YOU NEED IT. | ||||||
|  |     try: | ||||||
|  |       final_flags.remove( '-stdlib=libc++' ) | ||||||
|  |     except ValueError: | ||||||
|  |       pass | ||||||
|  |   else: | ||||||
|  |     relative_to = DirectoryOfThisScript() | ||||||
|  |     final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to ) | ||||||
|  | 
 | ||||||
|  |   return { | ||||||
|  |     'flags': final_flags, | ||||||
|  |     'do_cache': True | ||||||
|  |   } | ||||||
							
								
								
									
										2522
									
								
								.vim/autoload/plug.vim
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										34
									
								
								.vimrc
									
									
									
									
									
								
							
							
						
						| @ -15,8 +15,8 @@ Plug 'rust-lang/rust.vim', {'for': 'rust'} | |||||||
| "Plug 'racer-rust/vim-racer', {'for': 'rust'} | "Plug 'racer-rust/vim-racer', {'for': 'rust'} | ||||||
| 
 | 
 | ||||||
| " Syntax checking | " Syntax checking | ||||||
| Plug 'Valloric/YouCompleteMe' " alternative #1, full-blown | "Plug 'Valloric/YouCompleteMe' " alternative #1, full-blown | ||||||
| "Plug 'w0rp/ale', | Plug 'w0rp/ale', | ||||||
| 
 | 
 | ||||||
| " Useful plugins | " Useful plugins | ||||||
| Plug 'Raimondi/delimitMate' | Plug 'Raimondi/delimitMate' | ||||||
| @ -38,8 +38,8 @@ Plug 'honza/vim-snippets' | |||||||
| "Plug 'tomasr/molokai' | "Plug 'tomasr/molokai' | ||||||
| "Plug 'flazz/vim-colorschemes' | "Plug 'flazz/vim-colorschemes' | ||||||
| "Plug 'morhetz/gruvbox' | "Plug 'morhetz/gruvbox' | ||||||
| Plug 'chriskempson/base16-vim' | "Plug 'chriskempson/base16-vim' " Original but not updated | ||||||
| 
 | Plug 'danielwe/base16-vim' " Fork. updated. https://github.com/chriskempson/base16-vim/issues/197 | ||||||
| " Airline | " Airline | ||||||
| Plug 'vim-airline/vim-airline' | Plug 'vim-airline/vim-airline' | ||||||
| Plug 'vim-airline/vim-airline-themes' | Plug 'vim-airline/vim-airline-themes' | ||||||
| @ -52,11 +52,11 @@ call plug#end() | |||||||
| filetype plugin indent on | filetype plugin indent on | ||||||
| 
 | 
 | ||||||
| " Magical color setup | " Magical color setup | ||||||
| set t_Co=256 |  | ||||||
| set background=dark |  | ||||||
| syntax on | syntax on | ||||||
|  | set t_Co=256 | ||||||
|  | set background=light | ||||||
| let base16colorspace=256 | let base16colorspace=256 | ||||||
| colorscheme base16-default-dark | colorscheme base16-solarized-light | ||||||
| 
 | 
 | ||||||
| " Other | " Other | ||||||
| set encoding=utf-8 | set encoding=utf-8 | ||||||
| @ -64,6 +64,8 @@ set autoindent " Automatically indent | |||||||
| set cindent " Indentation for c | set cindent " Indentation for c | ||||||
| set number " Add line numbers | set number " Add line numbers | ||||||
| set hlsearch " Highlight search | set hlsearch " Highlight search | ||||||
|  | set modeline | ||||||
|  | set modelines=5 | ||||||
| "set sessionoptions=blank,buffers,curdir,folds,globals,help,localoptions,options,resize,tabpages,winsize,winpos | "set sessionoptions=blank,buffers,curdir,folds,globals,help,localoptions,options,resize,tabpages,winsize,winpos | ||||||
| set autochdir " Change directory automatically | set autochdir " Change directory automatically | ||||||
| "set backupdir=~/.vim/temp/ " Save temporary backups to temp dir | "set backupdir=~/.vim/temp/ " Save temporary backups to temp dir | ||||||
| @ -81,7 +83,7 @@ if has("gui_running") | |||||||
| 	set guioptions-=T  " remove toolbar | 	set guioptions-=T  " remove toolbar | ||||||
| 	set guioptions-=r  " remove right-hand scroll bar | 	set guioptions-=r  " remove right-hand scroll bar | ||||||
| 	set guioptions-=L  " remove left-hand scroll bar | 	set guioptions-=L  " remove left-hand scroll bar | ||||||
| 	set guifont=Fura\ Code\ Nerd\ Font\ 10 | 	set guifont=Fura\ Code\ Nerd\ Font\ 11 | ||||||
| 	set guiheadroom=0 | 	set guiheadroom=0 | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
| @ -149,8 +151,16 @@ augroup lexical | |||||||
| augroup END | augroup END | ||||||
| 
 | 
 | ||||||
| let g:ale_linters = { | let g:ale_linters = { | ||||||
| \   'javascript': ['standard'], | 			\'javascript': ['standard'], | ||||||
| \   'vue': ['standard --plugin html "**/*.{js,vue}"'] | 			\'vue': ['standard --plugin html "**/*.{js,vue}"'], | ||||||
| \} | 			\'jsx': ['standard --plugin html "**/*.{js,jsx}"'], | ||||||
| let g:racer_experimental_completer = 1 | 			\'rust': ['cargo'] | ||||||
|  | 			\} | ||||||
|  | let b:ale_fixers = { | ||||||
|  | 			\'*': ['remove_trailing_lines', 'trim_whitespace'], | ||||||
|  | 			\'rust': ['rustfmt'] | ||||||
|  | 			\} | ||||||
|  | let g:ale_fix_on_save = 1 | ||||||
|  | let g:ale_completion_enabled = 1 | ||||||
|  | 
 | ||||||
| set completeopt+=preview | set completeopt+=preview | ||||||
|  | |||||||
							
								
								
									
										12
									
								
								.zprofile
									
									
									
									
									
								
							
							
						
						| @ -54,3 +54,15 @@ export PATH="${HOME}/.dotnet:$PATH" | |||||||
| 
 | 
 | ||||||
| # Rust | # Rust | ||||||
| export PATH="${HOME}/.cargo/bin:$PATH" | export PATH="${HOME}/.cargo/bin:$PATH" | ||||||
|  | 
 | ||||||
|  | # Caffe | ||||||
|  | export CAFFE_DIR="${HOME}/Koodit/github/caffe/build/install" | ||||||
|  | 
 | ||||||
|  | # Terminal | ||||||
|  | export TERMINAL=kitty | ||||||
|  | #export TERMINAL=alacritty | ||||||
|  | export TERMCMD=$TERMINAL | ||||||
|  | # Start X on tty1 automatically | ||||||
|  | if systemctl -q is-active graphical.target && [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then | ||||||
|  |   exec startx | ||||||
|  | fi | ||||||
|  | |||||||
							
								
								
									
										47
									
								
								.zshrc
									
									
									
									
									
								
							
							
						
						| @ -36,15 +36,16 @@ fi | |||||||
| 
 | 
 | ||||||
| # Syntax highlighting | # Syntax highlighting | ||||||
| source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh | source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh | ||||||
|  | source ~/.zplugins | ||||||
| 
 | 
 | ||||||
| alias top=htop | alias top=htop | ||||||
| alias ll="ls -lh" | alias ll="ls -lh" | ||||||
| alias la="ls -a" | alias la="ls -a" | ||||||
| alias lp="lastpass.sh" | alias lp="lastpass.sh" | ||||||
| alias ranger="TERMCMD=termite ranger" | alias ranger="ranger" | ||||||
| alias search="search.sh" | alias search="search.sh" | ||||||
| #alias ls="ls -N --time-style=long-iso --color=auto" | #alias ls="ls -N --time-style=long-iso --color=auto" | ||||||
| alias ls="ls --time-style=long-iso --color=auto" | alias ls="ls --time-style=long-iso --color=auto --human-readable --group-directories-first --classify" | ||||||
| alias rhc='RUBYOPT="-W0" rhc' | alias rhc='RUBYOPT="-W0" rhc' | ||||||
| # Other | # Other | ||||||
| alias fixsteam='find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete' | alias fixsteam='find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete' | ||||||
| @ -52,15 +53,49 @@ alias runsteam="LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /us | |||||||
| alias steamgamesdir='cd ~/.local/share/Steam/SteamApps/common' | alias steamgamesdir='cd ~/.local/share/Steam/SteamApps/common' | ||||||
| alias emsdksetup='source $EMSDK/emsdk_env.sh' | alias emsdksetup='source $EMSDK/emsdk_env.sh' | ||||||
| alias runwinesteam="MESA_GL_VERSION_OVERRIDE=3.3COMPAT PULSE_LATENCY_MSEC=60 run-desktop.py ~/.local/share/applications/wine/Programs/Steam/Steam.desktop" | alias runwinesteam="MESA_GL_VERSION_OVERRIDE=3.3COMPAT PULSE_LATENCY_MSEC=60 run-desktop.py ~/.local/share/applications/wine/Programs/Steam/Steam.desktop" | ||||||
| alias rbackup="restic -r rclone:hubic:default/Backups/ChimeraLinux" | alias rbackup="restic -r rclone:hubic:ChimeraLinux" | ||||||
|  | alias bat="bat --theme base16" | ||||||
| # https://github.com/chriskempson/base16-shell | # https://github.com/chriskempson/base16-shell | ||||||
| # git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell | # git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell | ||||||
| source $HOME/.config/base16-shell/scripts/base16-default-dark.sh | #source $HOME/.config/base16-shell/scripts/base16-default-dark.sh | ||||||
|  | source $HOME/.config/base16-shell/scripts/base16-solarized-light.sh | ||||||
| 
 | 
 | ||||||
| # Emscripten | # Emscripten | ||||||
| #source /home/lanxu/Koodit/github/emsdk/emsdk_env.sh | #source /home/lanxu/Koodit/github/emsdk/emsdk_env.sh | ||||||
| 
 | 
 | ||||||
| # TERM=xterm-256color | #TERM=xterm-256color | ||||||
| #bindkey "${terminfo[khome]}" beginning-of-line | #bindkey "${terminfo[khome]}" beginning-of-line | ||||||
| #bindkey "${terminfo[kend]}" end-of-line | #bindkey "${terminfo[kend]}" end-of-line | ||||||
| export TERMCMD=termite | 
 | ||||||
|  | 
 | ||||||
|  | function auradd { | ||||||
|  | 	pkg=$1 | ||||||
|  | 	aur sync --no-view --no-confirm --database custom "$pkg" >&2 | ||||||
|  | 	sudo pacman -Sy "$pkg" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | function aurrm { | ||||||
|  | 	pkg=$1 | ||||||
|  | 	rm_out=$(repo-remove /var/cache/pacman/custom/custom.db.tar "$pkg" 2>&1) | ||||||
|  | 	if [[ $rm_out = *"ERROR"* ]]; then | ||||||
|  | 		echo "not found" >&2 | ||||||
|  | 	else | ||||||
|  | 		rm -rf /var/cache/pacman/custom/"$pkg"*.pkg.* || true | ||||||
|  | 		echo "$pkg removed" | ||||||
|  | 	fi | ||||||
|  | 	sudo pacman -Sy | ||||||
|  | 	sudo pacman -Rnc "$pkg" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | function aurupdate { | ||||||
|  | 	aur sync --no-view --no-confirm --database custom -u | ||||||
|  | 	sudo pacman -Syu | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | function c { | ||||||
|  | 	echo "scale=2; $@" | bc | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | function aurls { | ||||||
|  | 	sudo pacman -Sl custom | ||||||
|  | } | ||||||
|  | |||||||
							
								
								
									
										7
									
								
								backup/backup.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,7 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | 
 | ||||||
|  | while read line | ||||||
|  | do | ||||||
|  | 	echo $line | ||||||
|  | 	restic -r rclone:hubic:ChimeraLinux backup $line --exclude-file restic-exclude.txt --password-file /home/lanxu/restic-pass.txt | ||||||
|  | done < restic-include.txt | ||||||
							
								
								
									
										23
									
								
								backup/restic-exclude.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,23 @@ | |||||||
|  | *.DS_Store | ||||||
|  | *.swp | ||||||
|  | *.pyc | ||||||
|  | .Trash | ||||||
|  | .Xauthority | ||||||
|  | .bash_sessions | ||||||
|  | .cache | ||||||
|  | **/.tmp | ||||||
|  | **/temp/ | ||||||
|  | **/tmp/ | ||||||
|  | 
 | ||||||
|  | # Linux | ||||||
|  | *.part | ||||||
|  | .config/itch | ||||||
|  | .config/itch/* | ||||||
|  | .steam/* | ||||||
|  | *.tmp | ||||||
|  | *.bak | ||||||
|  | *.a | ||||||
|  | *.o | ||||||
|  | node_modules/* | ||||||
|  | *.cache | ||||||
|  | *.local/share/Trash | ||||||
							
								
								
									
										6
									
								
								backup/restic-include.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,6 @@ | |||||||
|  | /home/lanxu/Asiakirjat/ | ||||||
|  | /home/lanxu/Documents/ | ||||||
|  | /home/lanxu/Kuvat/ | ||||||
|  | /home/lanxu/Koodit/ | ||||||
|  | /home/lanxu/Musiikki/ | ||||||
|  | /home/lanxu/.config/ | ||||||
							
								
								
									
										9
									
								
								setup.sh
									
									
									
									
									
								
							
							
						
						| @ -1,3 +1,10 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | # Vim | ||||||
| mkdir .vim | mkdir .vim | ||||||
| curl -fLo .vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim | curl -fLo .vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim | ||||||
| git clone https://github.com/copycat-killer/lain.git $(pwd)/.config/awesome/lain | 
 | ||||||
|  | # Awesome | ||||||
|  | # git clone https://github.com/copycat-killer/lain.git $(pwd)/.config/awesome/lain | ||||||
|  | 
 | ||||||
|  | # i3blocks | ||||||
|  | git clone https://github.com/vivien/i3blocks-contrib $(pwd)/.config/i3blocks/ | ||||||
|  | |||||||