├── README.md
├── dunst
└── dunstrc
├── firefox conf
├── userChrome.css
└── userContent.css
├── hypr
└── hyprland.conf
├── kitty
└── kitty.conf
├── neofetch
└── config.conf
├── nvim
├── init.vim
└── weq.vim
├── ranger
├── commands.py
├── commands_full.py
├── rc.conf
├── rifle.conf
└── scope.sh
├── rofi
├── bk.rasi
├── config.rasi
└── ww.rasi
├── swaync
├── config.json
└── style.css
├── wal
├── dunst.sh
└── templates
│ ├── colors-hyprland.conf
│ ├── colors-wlogout.css
│ ├── dunstrc
│ └── rofi.rasi
├── wallpapers
├── 5q4nvrkg3rm71.jpg
├── 8.jpg
├── 82lucx00d25c1.jpg
├── WhatsApp Image 2023-12-27 at 10.45.34.jpeg
├── audio-bunny.png
├── hk.jpg
├── k.jpg
├── nxyjhyrdqfx41.jpg
├── ok2.jpg
├── roses-dylan.png
├── simon stalenhag
│ ├── by_burned_2560.jpg
│ ├── by_gathering2_2560.jpg
│ ├── by_home_2560.jpg
│ ├── by_housevisit_2560.jpg
│ ├── l_fb_06_big.jpg
│ └── l_int06_big.jpg
├── swww_randomize.sh
└── wallpapers
│ ├── 88.jpg
│ ├── 9.jpg
│ ├── ay.jpg
│ ├── ayy.jpg
│ ├── cs.jpg
│ ├── evening-sky.png
│ ├── f.jpg
│ ├── hk.jpg
│ ├── ij.jpg
│ ├── k.jpg
│ ├── m.jpg
│ ├── new.jpg
│ ├── new_script.sh
│ ├── nmm.jpg
│ ├── ok.jpg
│ ├── ok3.jpg
│ ├── okkk.jpg
│ ├── rr.jpg
│ └── wall.jpg
├── waybar
├── config.jsonc
├── icons
│ ├── brightness-100.png
│ ├── brightness-20.png
│ ├── brightness-40.png
│ ├── brightness-60.png
│ ├── brightness-80.png
│ ├── microphone-mute.png
│ ├── microphone.png
│ ├── volume-high.png
│ ├── volume-low.png
│ ├── volume-mid.png
│ └── volume-mute.png
├── oldd
│ ├── config
│ ├── scripts
│ │ ├── mediaplayer.py
│ │ ├── rofinetwork
│ │ │ ├── colors.rasi
│ │ │ ├── rofi-network-manager.conf
│ │ │ ├── rofi-network-manager.rasi
│ │ │ └── rofi-network-manager.sh
│ │ └── spotify.sh
│ └── style.css
├── scripts
│ ├── bluetooth
│ ├── brightness
│ ├── mediaplayer.py
│ ├── spotify.sh
│ └── volume
└── style.css
└── wlogout
├── icons
├── hibernate.png
├── lock.png
├── logout.png
├── reboot.png
├── shutdown.png
└── suspend.png
├── layout
├── noise.png
├── old.css
├── oldlay
└── style.css
/README.md:
--------------------------------------------------------------------------------
1 | # new-dots
2 |
3 | these are my personal stuff so if you want to use make changes accordingly (e.g username)
4 |
5 | DE/WM: Hyprland
6 |
7 | Bar: waybar
8 |
9 | Terminal: Kitty
10 |
11 | shell: zsh
12 |
13 | Theme: pywal
14 |
15 | wallpapers: swww
16 |
17 |
18 | updated screenshot:
19 | 
20 | 
21 |
22 |
23 | old images:
24 | 
25 | 
26 | 
27 | 
28 | 
29 | 
30 | 
31 | 
32 | 
33 | 
34 | 
35 | 
36 |
37 |
38 |
39 |
40 | firefox: [penguinFox](https://github.com/p3nguin-kun/penguinFox)
41 |
42 | 
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 | 
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/dunst/dunstrc:
--------------------------------------------------------------------------------
1 | #do not edit here, edit the template on .config/wal
2 | [global]
3 | ### Display ###
4 |
5 | # Which monitor should the notifications be displayed on.
6 | monitor = 0
7 |
8 | # Display notification on focused monitor. Possible modes are:
9 | # mouse: follow mouse pointer
10 | # keyboard: follow window with keyboard focus
11 | # none: don't follow anything
12 | #
13 | # "keyboard" needs a window manager that exports the
14 | # _NET_ACTIVE_WINDOW property.
15 | # This should be the case for almost all modern window managers.
16 | #
17 | # If this option is set to mouse or keyboard, the monitor option
18 | # will be ignored.
19 | follow = none
20 |
21 | ### Geometry ###
22 |
23 | # dynamic width from 0 to 300
24 | # width = (0, 300)
25 | # constant width of 300
26 | width = 300
27 |
28 | # The maximum height of a single notification, excluding the frame.
29 | height = (0,300)
30 |
31 | # Position the notification in the top right corner
32 | origin = top-center
33 |
34 | # Offset from the origin
35 | offset = 0x30
36 |
37 | # Scale factor. It is auto-detected if value is 0.
38 | scale = 0
39 |
40 | # Maximum number of notification (0 means no limit)
41 | notification_limit = 20
42 |
43 | ### Progress bar ###
44 |
45 | # Turn on the progess bar. It appears when a progress hint is passed with
46 | # for example dunstify -h int:value:12
47 | progress_bar = true
48 |
49 | # Set the progress bar height. This includes the frame, so make sure
50 | # it's at least twice as big as the frame width.
51 | progress_bar_height = 10
52 |
53 | # Set the frame width of the progress bar
54 | progress_bar_frame_width = 1
55 |
56 | # Set the minimum width for the progress bar
57 | progress_bar_min_width = 150
58 |
59 | # Set the maximum width for the progress bar
60 | progress_bar_max_width = 300
61 |
62 | # Corner radius for the progress bar. 0 disables rounded corners.
63 | progress_bar_corner_radius = 10
64 |
65 | # Corner radius for the icon image.
66 | icon_corner_radius = 0
67 |
68 | # Show how many messages are currently hidden (because of
69 | # notification_limit).
70 | indicate_hidden = yes
71 |
72 | # The transparency of the window. Range: [0; 100].
73 | # This option will only work if a compositing window manager is
74 | # present (e.g. xcompmgr, compiz, etc.). (X11 only)
75 | transparency = 5
76 |
77 | # Draw a line of "separator_height" pixel height between two
78 | # notifications.
79 | # Set to 0 to disable.
80 | # If gap_size is greater than 0, this setting will be ignored.
81 | separator_height = 2
82 |
83 | # Padding between text and separator.
84 | padding = 8
85 |
86 | # Horizontal padding.
87 | horizontal_padding = 8
88 |
89 | # Padding between text and icon.
90 | text_icon_padding = 0
91 |
92 | # Defines width in pixels of frame around the notification window.
93 | # Set to 0 to disable.
94 | frame_width = 3
95 |
96 | # Defines color of the frame around the notification window.
97 | frame_color = "#0191EA"
98 |
99 | # Size of gap to display between notifications - requires a compositor.
100 | # If value is greater than 0, separator_height will be ignored and a border
101 | # of size frame_width will be drawn around each notification instead.
102 | # Click events on gaps do not currently propagate to applications below.
103 | gap_size = 0
104 |
105 | # Define a color for the separator.
106 | # possible values are:
107 | # * auto: dunst tries to find a color fitting to the background;
108 | # * foreground: use the same color as the foreground;
109 | # * frame: use the same color as the frame;
110 | # * anything else will be interpreted as a X color.
111 | separator_color = frame
112 |
113 | # Sort messages by urgency.
114 | sort = yes
115 |
116 | # Don't remove messages, if the user is idle (no mouse or keyboard input)
117 | # for longer than idle_threshold seconds.
118 | # Set to 0 to disable.
119 | # A client can set the 'transient' hint to bypass this. See the rules
120 | # section for how to disable this if necessary
121 | # idle_threshold = 120
122 |
123 | ### Text ###
124 |
125 | font = "JetBrainsMono Nerd Font" 11
126 |
127 | # The spacing between lines. If the height is smaller than the
128 | # font height, it will get raised to the font height.
129 | line_height = 3
130 |
131 | # Possible values are:
132 | # full: Allow a small subset of html markup in notifications:
133 | # bold
134 | # italic
135 | # strikethrough
136 | # underline
137 | #
138 | # For a complete reference see
139 | # .
140 | #
141 | # strip: This setting is provided for compatibility with some broken
142 | # clients that send markup even though it's not enabled on the
143 | # server. Dunst will try to strip the markup but the parsing is
144 | # simplistic so using this option outside of matching rules for
145 | # specific applications *IS GREATLY DISCOURAGED*.
146 | #
147 | # no: Disable markup parsing, incoming notifications will be treated as
148 | # plain text. Dunst will not advertise that it has the body-markup
149 | # capability if this is set as a global setting.
150 | #
151 | # It's important to note that markup inside the format option will be parsed
152 | # regardless of what this is set to.
153 | markup = full
154 |
155 | # The format of the message. Possible variables are:
156 | # %a appname
157 | # %s summary
158 | # %b body
159 | # %i iconname (including its path)
160 | # %I iconname (without its path)
161 | # %p progress value if set ([ 0%] to [100%]) or nothing
162 | # %n progress value if set without any extra characters
163 | # %% Literal %
164 | # Markup is allowed
165 | format = "%s\n%b"
166 |
167 | # Alignment of message text.
168 | # Possible values are "left", "center" and "right".
169 | alignment = left
170 |
171 | # Vertical alignment of message text and icon.
172 | # Possible values are "top", "center" and "bottom".
173 | vertical_alignment = center
174 |
175 | # Show age of message if message is older than show_age_threshold
176 | # seconds.
177 | # Set to -1 to disable.
178 | show_age_threshold = 60
179 |
180 | # Specify where to make an ellipsis in long lines.
181 | # Possible values are "start", "middle" and "end".
182 | ellipsize = middle
183 |
184 | # Ignore newlines '\n' in notifications.
185 | ignore_newline = no
186 |
187 | # Stack together notifications with the same content
188 | stack_duplicates = true
189 |
190 | # Hide the count of stacked notifications with the same content
191 | hide_duplicate_count = false
192 |
193 | # Display indicators for URLs (U) and actions (A).
194 | show_indicators = yes
195 |
196 | ### Icons ###
197 |
198 | # Recursive icon lookup. You can set a single theme, instead of having to
199 | # define all lookup paths.
200 | enable_recursive_icon_lookup = true
201 |
202 | # Set icon theme (only used for recursive icon lookup)
203 | icon_theme = Adwaita
204 | # You can also set multiple icon themes, with the leftmost one being used first.
205 | # icon_theme = "Adwaita, breeze"
206 |
207 | # Align icons left/right/top/off
208 | icon_position = left
209 |
210 | # Scale small icons up to this size, set to 0 to disable. Helpful
211 | # for e.g. small files or high-dpi screens. In case of conflict,
212 | # max_icon_size takes precedence over this.
213 | min_icon_size = 32
214 |
215 | # Scale larger icons down to this size, set to 0 to disable
216 | max_icon_size = 128
217 |
218 | # Paths to default icons (only neccesary when not using recursive icon lookup)
219 | icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
220 |
221 | ### History ###
222 |
223 | # Should a notification popped up from history be sticky or timeout
224 | # as if it would normally do.
225 | sticky_history = yes
226 |
227 | # Maximum amount of notifications kept in history
228 | history_length = 20
229 |
230 | ### Misc/Advanced ###
231 |
232 | # dmenu path.
233 | dmenu = /usr/bin/dmenu -p dunst:
234 |
235 | # Browser for opening urls in context menu.
236 | browser = /usr/bin/xdg-open
237 |
238 | # Always run rule-defined scripts, even if the notification is suppressed
239 | always_run_script = true
240 |
241 | # Define the title of the windows spawned by dunst
242 | title = Dunst
243 |
244 | # Define the class of the windows spawned by dunst
245 | class = Dunst
246 |
247 | # Define the corner radius of the notification window
248 | # in pixel size. If the radius is 0, you have no rounded
249 | # corners.
250 | # The radius will be automatically lowered if it exceeds half of the
251 | # notification height to avoid clipping text and/or icons.
252 | corner_radius = 10
253 |
254 | # Ignore the dbus closeNotification message.
255 | # Useful to enforce the timeout set by dunst configuration. Without this
256 | # parameter, an application may close the notification sent before the
257 | # user defined timeout.
258 | ignore_dbusclose = false
259 |
260 | ### Wayland ###
261 | # These settings are Wayland-specific. They have no effect when using X11
262 |
263 | # Uncomment this if you want to let notications appear under fullscreen
264 | # applications (default: overlay)
265 | # layer = top
266 |
267 | # Set this to true to use X11 output on Wayland.
268 | force_xwayland = false
269 |
270 | ### Legacy
271 |
272 | # Use the Xinerama extension instead of RandR for multi-monitor support.
273 | # This setting is provided for compatibility with older nVidia drivers that
274 | # do not support RandR and using it on systems that support RandR is highly
275 | # discouraged.
276 | #
277 | # By enabling this setting dunst will not be able to detect when a monitor
278 | # is connected or disconnected which might break follow mode if the screen
279 | # layout changes.
280 | force_xinerama = false
281 |
282 | ### mouse
283 |
284 | # Defines list of actions for each mouse event
285 | # Possible values are:
286 | # * none: Don't do anything.
287 | # * do_action: Invoke the action determined by the action_name rule. If there is no
288 | # such action, open the context menu.
289 | # * open_url: If the notification has exactly one url, open it. If there are multiple
290 | # ones, open the context menu.
291 | # * close_current: Close current notification.
292 | # * close_all: Close all notifications.
293 | # * context: Open context menu for the notification.
294 | # * context_all: Open context menu for all notifications.
295 | # These values can be strung together for each mouse event, and
296 | # will be executed in sequence.
297 | mouse_left_click = close_current
298 | mouse_middle_click = do_action, close_current
299 | mouse_right_click = close_all
300 |
301 | # Experimental features that may or may not work correctly. Do not expect them
302 | # to have a consistent behaviour across releases.
303 | [experimental]
304 | # Calculate the dpi to use on a per-monitor basis.
305 | # If this setting is enabled the Xft.dpi value will be ignored and instead
306 | # dunst will attempt to calculate an appropriate dpi value for each monitor
307 | # using the resolution and physical size. This might be useful in setups
308 | # where there are multiple screens with very different dpi values.
309 | per_monitor_dpi = false
310 |
311 |
312 | [urgency_low]
313 | # IMPORTANT: colors have to be defined in quotation marks.
314 | # Otherwise the "#" and following would be interpreted as a comment.
315 | background = "#020132"
316 | foreground = "#c5ebf5"
317 | timeout = 6
318 | # Icon for notifications with low urgency, uncomment to enable
319 | #default_icon = /path/to/icon
320 |
321 | [urgency_normal]
322 | background = "#020132"
323 | foreground = "#c5ebf5"
324 | timeout = 6
325 | # Icon for notifications with normal urgency, uncomment to enable
326 | #default_icon = /path/to/icon
327 |
328 | [urgency_critical]
329 | background = "#90000070"
330 | foreground = "#ffffff"
331 | frame_color = "#ffffff"
332 | timeout = 6
333 | # Icon for notifications with critical urgency, uncomment to enable
334 | #default_icon = /path/to/icon
335 |
336 | # Every section that isn't one of the above is interpreted as a rules to
337 | # override settings for certain messages.
338 | #
339 | # Messages can be matched by
340 | # appname (discouraged, see desktop_entry)
341 | # body
342 | # category
343 | # desktop_entry
344 | # icon
345 | # match_transient
346 | # msg_urgency
347 | # stack_tag
348 | # summary
349 | #
350 | # and you can override the
351 | # background
352 | # foreground
353 | # format
354 | # frame_color
355 | # fullscreen
356 | # new_icon
357 | # set_stack_tag
358 | # set_transient
359 | # set_category
360 | # timeout
361 | # urgency
362 | # icon_position
363 | # skip_display
364 | # history_ignore
365 | # action_name
366 | # word_wrap
367 | # ellipsize
368 | # alignment
369 | # hide_text
370 | #
371 | # Shell-like globbing will get expanded.
372 | #
373 | # Instead of the appname filter, it's recommended to use the desktop_entry filter.
374 | # GLib based applications export their desktop-entry name. In comparison to the appname,
375 | # the desktop-entry won't get localized.
376 | #
377 | # SCRIPTING
378 | # You can specify a script that gets run when the rule matches by
379 | # setting the "script" option.
380 | # The script will be called as follows:
381 | # script appname summary body icon urgency
382 | # where urgency can be "LOW", "NORMAL" or "CRITICAL".
383 | #
384 | # NOTE: It might be helpful to run dunst -print in a terminal in order
385 | # to find fitting options for rules.
386 |
387 | # Disable the transient hint so that idle_threshold cannot be bypassed from the
388 | # client
389 | #[transient_disable]
390 | # match_transient = yes
391 | # set_transient = no
392 | #
393 | # Make the handling of transient notifications more strict by making them not
394 | # be placed in history.
395 | #[transient_history_ignore]
396 | # match_transient = yes
397 | # history_ignore = yes
398 |
399 | # fullscreen values
400 | # show: show the notifications, regardless if there is a fullscreen window opened
401 | # delay: displays the new notification, if there is no fullscreen window active
402 | # If the notification is already drawn, it won't get undrawn.
403 | # pushback: same as delay, but when switching into fullscreen, the notification will get
404 | # withdrawn from screen again and will get delayed like a new notification
405 | #[fullscreen_delay_everything]
406 | # fullscreen = delay
407 | #[fullscreen_show_critical]
408 | # msg_urgency = critical
409 | # fullscreen = show
410 |
411 | #[espeak]
412 | # summary = "*"
413 | # script = dunst_espeak.sh
414 |
415 | #[script-test]
416 | # summary = "*script*"
417 | # script = dunst_test.sh
418 |
419 | #[ignore]
420 | # # This notification will not be displayed
421 | # summary = "foobar"
422 | # skip_display = true
423 |
424 | #[history-ignore]
425 | # # This notification will not be saved in history
426 | # summary = "foobar"
427 | # history_ignore = yes
428 |
429 | #[skip-display]
430 | # # This notification will not be displayed, but will be included in the history
431 | # summary = "foobar"
432 | # skip_display = yes
433 |
434 | #[signed_on]
435 | # appname = Pidgin
436 | # summary = "*signed on*"
437 | # urgency = low
438 | #
439 | #[signed_off]
440 | # appname = Pidgin
441 | # summary = *signed off*
442 | # urgency = low
443 | #
444 | #[says]
445 | # appname = Pidgin
446 | # summary = *says*
447 | # urgency = critical
448 | #
449 | #[twitter]
450 | # appname = Pidgin
451 | # summary = *twitter.com*
452 | # urgency = normal
453 | #
454 | #[stack-volumes]
455 | # appname = "some_volume_notifiers"
456 | # set_stack_tag = "volume"
457 | #
458 | # vim: ft=cfg
459 |
--------------------------------------------------------------------------------
/firefox conf/userChrome.css:
--------------------------------------------------------------------------------
1 | /*
2 | * penguinFox
3 | * by p3nguin-kun
4 | */
5 |
6 | /* config */
7 |
8 | * {
9 | --animation-speed: 0.2s;
10 | --button-corner-rounding: 30px;
11 | --urlbar-container-height: 40px !important;
12 | --urlbar-min-height: 30px !important;
13 | --urlbar-height: 30px !important;
14 | --urlbar-toolbar-height: 38px !important;
15 | --moz-hidden-unscrollable: scroll !important;
16 | --toolbarbutton-border-radius: 3px !important;
17 | --tabs-border-color: transparent;
18 | }
19 |
20 | :root {
21 | --window: -moz-Dialog !important;
22 | --secondary: color-mix(in srgb, currentColor 5%, -moz-Dialog) !important;
23 | --uc-border-radius: 0px;
24 | --uc-status-panel-spacing: 0px;
25 | --uc-page-action-margin: 7px;
26 | }
27 |
28 | /* animation and effect */
29 | #nav-bar:not([customizing]) {
30 | visibility: visible;
31 | margin-top: -40px;
32 | transition-delay: 0.1s;
33 | filter: alpha(opacity=0);
34 | opacity: 0;
35 | transition: visibility, ease 0.1s, margin-top, ease 0.1s, opacity, ease 0.1s,
36 | rotate, ease 0.1s !important;
37 | }
38 |
39 | #nav-bar:hover,
40 | #nav-bar:focus-within,
41 | #urlbar[focused='true'],
42 | #identity-box[open='true'],
43 | #titlebar:hover + #nav-bar:not([customizing]),
44 | #toolbar-menubar:not([inactive='true']) ~ #nav-bar:not([customizing]) {
45 | visibility: visible;
46 |
47 | margin-top: 0px;
48 | filter: alpha(opacity=100);
49 | opacity: 100;
50 | margin-bottom: -0.2px;
51 | }
52 | #PersonalToolbar {
53 | margin-top: 0px;
54 | }
55 | #nav-bar .toolbarbutton-1[open='true'] {
56 | visibility: visible;
57 | opacity: 100;
58 | }
59 |
60 | :root:not([customizing]) :hover > .tabbrowser-tab:not(:hover) {
61 | transition: blur, ease 0.1s !important;
62 | }
63 |
64 | :root:not([customizing]) :not(:hover) > .tabbrowser-tab {
65 | transition: blur, ease 0.1s !important;
66 | }
67 |
68 | #tabbrowser-tabs .tab-label-container[customizing] {
69 | color: transparent;
70 | transition: ease 0.1s;
71 | transition-delay: 0.2s;
72 | }
73 |
74 | .tabbrowser-tab:not([pinned]) .tab-icon-image ,.bookmark-item .toolbarbutton-icon{opacity: 0!important; transition: .15s !important; width: 0!important; padding-left: 16px!important}
75 | .tabbrowser-tab:not([pinned]):hover .tab-icon-image,.bookmark-item:hover .toolbarbutton-icon{opacity: 100!important; transition: .15s !important; display: inline-block!important; width: 16px!important; padding-left: 0!important}
76 | .tabbrowser-tab:not([hover]) .tab-icon-image,.bookmark-item:not([hover]) .toolbarbutton-icon{padding-left: 0!important}
77 |
78 | /* Removes annoying buttons and spaces */
79 | .titlebar-spacer[type="pre-tabs"], .titlebar-spacer[type="post-tabs"]{display: none !important}
80 | #tabbrowser-tabs{border-inline-start-width: 0!important}
81 |
82 | /* Makes some buttons nicer */
83 | #PanelUI-menu-button, #unified-extensions-button, #reload-button, #stop-button {padding: 2px !important}
84 | #reload-button, #stop-button{margin: 1px !important;}
85 |
86 | /* X-button */
87 | :root {
88 | --show-tab-close-button: none;
89 | --show-tab-close-button-hover: -moz-inline-block;
90 | }
91 | .tabbrowser-tab:not([pinned]) .tab-close-button { display: var(--show-tab-close-button) !important; }
92 | .tabbrowser-tab:not([pinned]):hover .tab-close-button { display: var(--show-tab-close-button-hover) !important }
93 |
94 | /* tabbar */
95 |
96 | /* Hide the secondary Tab Label
97 | * e.g. playing indicator (the text, not the icon) */
98 | .tab-secondary-label { display: none !important; }
99 |
100 | :root {
101 | --toolbarbutton-border-radius: 0 !important;
102 | --tab-border-radius: 0 !important;
103 | --tab-block-margin: 0 !important;
104 | }
105 |
106 | .tabbrowser-tab:is([visuallyselected='true'], [multiselected])
107 | > .tab-stack
108 | > .tab-background {
109 | box-shadow: none !important;
110 | }
111 |
112 | .tabbrowser-tab[last-visible-tab='true'] {
113 | padding-inline-end: 0 !important;
114 | }
115 |
116 | #tabs-newtab-button {
117 | padding-left: 0 !important;
118 | }
119 |
120 | /* multi tab selection */
121 | #tabbrowser-tabs:not([noshadowfortests]) .tabbrowser-tab:is([multiselected])
122 | > .tab-stack
123 | > .tab-background:-moz-lwtheme { outline-color: var(--toolbarseparator-color) !important; }
124 |
125 | /* remove gap after pinned tabs */
126 | #tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs])
127 | > #tabbrowser-arrowscrollbox
128 | > .tabbrowser-tab:nth-child(1 of :not([pinned], [hidden])) { margin-inline-start: 0 !important; }
129 |
130 | /* Removes annoying border */
131 | #navigator-toolbox{border:none !important;}
132 |
133 | /* Removes the annoying rainbow thing from the hamburger */
134 | #appMenu-fxa-separator{border-image:none !important;}
135 |
--------------------------------------------------------------------------------
/firefox conf/userContent.css:
--------------------------------------------------------------------------------
1 | @-moz-document url-prefix(about:){
2 |
3 | /* Removes the scrollbar on some places */
4 | body,html{overflow-y: auto}
5 |
6 | /* Devtools */
7 | @-moz-document url-prefix(about:devtools){
8 | #toolbox-container{margin-top: 10px !important}
9 | .devtools-tabbar{background: transparent !important}
10 | .devtools-tab-line{border-radius: 0 0 5px 5px}
11 | .customize-animate-enter-done,.customize-menu,.top-site-outer:hover,button{background-color: transparent!important}}
12 |
13 | /* Newtab */
14 | @-moz-document url("about:home"), url("about:newtab"){
15 | .search-wrapper .search-handoff-button .fake-caret {top: 13px !important; inset-inline-start: 48px !important}
16 | .search-wrapper .logo-and-wordmark{opacity: 0.9 !important; order: 1 !important; margin-bottom: 0 !important; flex: 1 !important; flex-basis: 20% !important}
17 | .search-wrapper .search-handoff-button .fake-caret{top: 13px !important; inset-inline-start: 48px !important}
18 | .search-wrapper .logo-and-wordmark{opacity: 0.9 !important; order: 1 !important; margin-bottom: 0 !important; flex: 1 !important; flex-basis: 20% !important}
19 | .outer-wrapper .search-wrapper{padding: 0px !important; display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important; align-content: space-around !important; gap: 20px 10px !important}
20 | .search-wrapper .logo-and-wordmark .logo{background-size: 60px !important; height: 60px !important; width: 60px !important}
21 | .search-wrapper .search-inner-wrapper{min-height: 42px !important; order: 2 !important; flex: 3 !important; flex-basis: 60% !important; top: 4px !important}
22 | .search-wrapper .search-inner-wrapper{min-height: 42px !important; order: 2 !important; flex: 3 !important; flex-basis: 60% !important; top: 4px !important}
23 | .outer-wrapper.ds-outer-wrapper-breakpoint-override.only-search.visible-logo{display: flex !important; padding-top: 0px !important;vertical-align: middle}
24 | .customize-menu{border-radius: 10px 0 0 10px !important}
25 | #root > div{align-items: center; display: flex}}}
26 |
27 |
--------------------------------------------------------------------------------
/hypr/hyprland.conf:
--------------------------------------------------------------------------------
1 | source = ~/.cache/wal/colors-hyprland.conf
2 | ########################################################################################
3 | AUTOGENERATED HYPR CONFIG.
4 | PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
5 | OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
6 | ########################################################################################
7 |
8 | #
9 | # Please note not all available settings / options are set here.
10 | # For a full list, see the wiki
11 | #
12 |
13 | # autogenerated = 1 # remove this line to remove the warning
14 |
15 | # See https://wiki.hyprland.org/Configuring/Monitors/
16 | monitor=eDP-1, 1366x768@60, 0x0, 1
17 |
18 |
19 | # See https://wiki.hyprland.org/Configuring/Keywords/ for more
20 |
21 | # Execute your favorite apps at launch
22 | exec-once = waybar
23 | exec-once = swww init
24 | exec-once = swaync
25 | exec-once = blueman-applet
26 | exec-once = nm-applet
27 | misc {
28 | disable_hyprland_logo = true
29 | }
30 | # Source a file (multi-file configs)
31 | # source = ~/.config/hypr/mocha.conf
32 |
33 | # Some default env vars.
34 | env = XCURSOR_SIZE,20
35 | env = MOZ_ENABLE_WAYLAND,1
36 |
37 | # For all categories, see https://wiki.hyprland.org/Configuring/Variables/
38 | input {
39 | kb_layout = us
40 | kb_variant =
41 | kb_model =
42 | kb_options =
43 | kb_rules =
44 |
45 | follow_mouse = 1
46 |
47 | touchpad {
48 | natural_scroll = no
49 | }
50 |
51 | sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
52 | }
53 |
54 | general {
55 | # See https://wiki.hyprland.org/Configuring/Variables/ for more
56 |
57 | gaps_in = 3
58 | gaps_out = 10
59 | border_size = 4
60 | col.active_border = $color11
61 | col.inactive_border = $color0
62 |
63 | layout = dwindle
64 | }
65 |
66 | decoration {
67 | # See https://wiki.hyprland.org/Configuring/Variables/ for more
68 |
69 | blurls=gtk-layer-shell
70 | rounding = 0
71 |
72 | blur {
73 | enabled = true
74 | size = 3
75 | passes = 2
76 | new_optimizations = on
77 | ignore_opacity = true
78 | xray = true
79 |
80 |
81 | }
82 | active_opacity = 1.0
83 | inactive_opacity = 1.0
84 | fullscreen_opacity = 1.0
85 |
86 | drop_shadow = yes
87 | shadow_range = 5
88 | shadow_render_power = 4
89 | col.shadow = rgba(1a1a1aee)
90 | }
91 |
92 | animations {
93 | enabled = yes
94 |
95 | # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
96 |
97 | bezier = myBezier, 0.05, 0.9, 0.1, 1.05
98 |
99 | animation = windows, 1, 7, myBezier
100 | animation = windowsOut, 1, 7, default, popin 80%
101 | animation = border, 1, 10, default
102 | animation = borderangle, 1, 8, default
103 | animation = fade, 1, 7, default
104 | animation = workspaces, 1, 6, default
105 | }
106 |
107 | dwindle {
108 | # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
109 | pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
110 | preserve_split = yes # you probably want this
111 | }
112 |
113 | master {
114 | # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
115 | new_is_master = true
116 | }
117 |
118 | gestures {
119 | # See https://wiki.hyprland.org/Configuring/Variables/ for more
120 | workspace_swipe = off
121 | }
122 |
123 | # Example per-device config
124 | # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
125 | device:epic-mouse-v1 {
126 | sensitivity = -0.5
127 | }
128 |
129 | # Example windowrule v1
130 | # windowrule = float, ^(kitty)$
131 | # Example windowrule v2
132 | # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
133 | # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
134 |
135 |
136 | # See https://wiki.hyprland.org/Configuring/Keywords/ for more
137 | $mainMod = SUPER
138 |
139 | # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
140 | bind = $mainMod, Q, exec, kitty
141 | bind = $mainMod, C, killactive,
142 | bind = $mainMod, M, exit,
143 | bind = $mainMod, E, exec, Thunar
144 | bind = $mainMod, V, togglefloating,
145 | bind = $mainMod, R, exec, rofi -show run
146 | bind = $mainMod, P, pseudo, # dwindle
147 | bind = $mainMod, J, togglesplit, # dwindle
148 | bind = , Print, exec, grim -g "$(slurp)" - | wl-copy
149 | bind = $mainMod, B, exec, /home/samething/.config/brightness.sh
150 | bind = $mainMod, N, exec, swaync-client -t
151 |
152 | # Move focus with mainMod + arrow keys
153 | bind = $mainMod, left, movefocus, l
154 | bind = $mainMod, right, movefocus, r
155 | bind = $mainMod, up, movefocus, u
156 | bind = $mainMod, down, movefocus, d
157 |
158 | # Switch workspaces with mainMod + [0-9]
159 | bind = $mainMod, 1, workspace, 1
160 | bind = $mainMod, 2, workspace, 2
161 | bind = $mainMod, 3, workspace, 3
162 | bind = $mainMod, 4, workspace, 4
163 | bind = $mainMod, 5, workspace, 5
164 | bind = $mainMod, 6, workspace, 6
165 | bind = $mainMod, 7, workspace, 7
166 | bind = $mainMod, 8, workspace, 8
167 | bind = $mainMod, 9, workspace, 9
168 | bind = $mainMod, 0, workspace, 10
169 |
170 | # Move active window to a workspace with mainMod + SHIFT + [0-9]
171 | bind = $mainMod SHIFT, 1, movetoworkspace, 1
172 | bind = $mainMod SHIFT, 2, movetoworkspace, 2
173 | bind = $mainMod SHIFT, 3, movetoworkspace, 3
174 | bind = $mainMod SHIFT, 4, movetoworkspace, 4
175 | bind = $mainMod SHIFT, 5, movetoworkspace, 5
176 | bind = $mainMod SHIFT, 6, movetoworkspace, 6
177 | bind = $mainMod SHIFT, 7, movetoworkspace, 7
178 | bind = $mainMod SHIFT, 8, movetoworkspace, 8
179 | bind = $mainMod SHIFT, 9, movetoworkspace, 9
180 | bind = $mainMod SHIFT, 0, movetoworkspace, 10
181 |
182 | # Scroll through existing workspaces with mainMod + scroll
183 | bind = $mainMod, mouse_down, workspace, e+1
184 | bind = $mainMod, mouse_up, workspace, e-1
185 |
186 | # Move/resize windows with mainMod + LMB/RMB and dragging
187 | bindm = $mainMod, mouse:272, movewindow
188 | bindm = $mainMod, mouse:273, resizewindow
189 |
190 | layerrule = blur, ^(waybar)$
191 | layerrule = blur, ^(swaync)$
192 | layerrule = ignorezero, gtk-layer-shell
193 | layerrule = ignorezero, rofi
194 | layerrule = ignorezero, nautilus
195 | layerrule = ignorezero, eww
196 |
197 |
--------------------------------------------------------------------------------
/kitty/kitty.conf:
--------------------------------------------------------------------------------
1 |
2 | include ~/.cache/wal/colors-kitty.conf
3 |
4 | #cursor
5 | #cursor #8fee96
6 | cursor_shape underline
7 |
8 | term xterm-kitty
9 | background_opacity 1
10 |
11 |
12 | allow_remote_control yes
13 |
--------------------------------------------------------------------------------
/neofetch/config.conf:
--------------------------------------------------------------------------------
1 | # Source: https://github.com/Chick2D/neofetch-themes/
2 | # Do consider checking out the repository, it has a ton of great configs like this.
3 |
4 | # Made by Chick (BlockFetch)
5 |
6 | # Customization Wiki https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
7 |
8 | print_info() {
9 |
10 | info " ${cl5}██ CPU" cpu
11 | info " ${cl2}██ GPU" gpu
12 | info " ${cl6}██ Distro" distro
13 | info " ${cl4}██ Kernel" kernel
14 | info " ${cl1}██ WM" de
15 | info " ${cl7}██ Shell" shell
16 | info " ${cl3}██ Packages" packages
17 | info " ${cl5}██ Memory" memory
18 |
19 | info cols
20 | }
21 |
22 | kernel_shorthand="on"
23 | distro_shorthand="off"
24 | os_arch="off"
25 | uptime_shorthand="on"
26 | memory_percent="on"
27 | package_managers="on"
28 | shell_path="off"
29 | shell_version="on"
30 | speed_type="bios_limit"
31 | speed_shorthand="on"
32 | cpu_brand="off"
33 | cpu_speed="off"
34 | cpu_cores="logical"
35 | cpu_temp="off"
36 | gpu_brand="off"
37 | gpu_type="all"
38 | refresh_rate="on"
39 | gtk_shorthand="on"
40 | gtk2="on"
41 | gtk3="on"
42 | public_ip_host="http://ident.me"
43 | public_ip_timeout=2
44 | disk_show=('/')
45 | music_player="vlc"
46 | song_format="%artist% - %title%"
47 | song_shorthand="off"
48 | colors=(distro)
49 | bold="on"
50 | underline_enabled="on"
51 | underline_char="-"
52 | separator=""
53 | color_blocks="off"
54 | block_range=(0 15) # Colorblocks
55 |
56 | # Colors for custom colorblocks
57 | magenta="\033[1;35m"
58 | green="\033[1;32m"
59 | white="\033[1;37m"
60 | blue="\033[1;34m"
61 | red="\033[1;31m"
62 | black="\033[1;40;30m"
63 | yellow="\033[1;33m"
64 | cyan="\033[1;36m"
65 | reset="\033[0m"
66 | bgyellow="\033[1;43;33m"
67 | bgwhite="\033[1;47;37m"
68 | cl0="${reset}"
69 | cl1="${magenta}"
70 | cl2="${green}"
71 | cl3="${white}"
72 | cl4="${blue}"
73 | cl5="${red}"
74 | cl6="${yellow}"
75 | cl7="${cyan}"
76 | cl8="${black}"
77 | cl9="${bgyellow}"
78 | cl10="${bgwhite}"
79 |
80 | block_width=4
81 | block_height=1
82 |
83 | bar_char_elapsed="-"
84 | bar_char_total="="
85 | bar_border="on"
86 | bar_length=15
87 | bar_color_elapsed="distro"
88 | bar_color_total="distro"
89 |
90 | cpu_display="on"
91 | memory_display="on"
92 | battery_display="on"
93 | disk_display="on"
94 |
95 | image_backend="ascii"
96 | #image_source="$HOME/"
97 | image_size="auto"
98 | image_loop="off"
99 |
100 | ascii_distro="arch_small"
101 | ascii_colors=(distro)
102 | ascii_bold="on"
103 |
104 | thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
105 | crop_mode="normal"
106 | crop_offset="center"
107 |
108 | gap=2
109 |
110 | yoffset=0
111 | xoffset=0
112 |
113 | stdout="off"
114 |
--------------------------------------------------------------------------------
/nvim/init.vim:
--------------------------------------------------------------------------------
1 | call plug#begin()
2 |
3 | Plug 'catppuccin/nvim', { 'as': 'catppuccin' }
4 | Plug 'ryanoasis/vim-devicons'
5 | Plug 'SirVer/ultisnips'
6 | Plug 'honza/vim-snippets'
7 | Plug 'scrooloose/nerdtree'
8 | Plug 'preservim/nerdcommenter'
9 | Plug 'mhinz/vim-startify'
10 | Plug 'neoclide/coc.nvim', {'branch': 'release'}
11 | Plug 'nvim-lualine/lualine.nvim'
12 | " If you want to have icons in your statusline choose one of these
13 | Plug 'nvim-tree/nvim-web-devicons'
14 | Plug 'AlphaTechnolog/pywal.nvim', { 'as': 'pywal' }
15 | call plug#end()
16 | " Start NERDTree and put the cursor back in the other window.
17 | autocmd VimEnter * NERDTree | wincmd p
18 | lua << END
19 | local lualine = require('lualine')
20 |
21 | lualine.setup {
22 | options = {
23 | theme = 'pywal-nvim',
24 | },
25 | }
26 |
27 | END
28 |
--------------------------------------------------------------------------------
/nvim/weq.vim:
--------------------------------------------------------------------------------
1 | call plug#begin()
2 |
3 | Plug 'catppuccin/nvim', { 'as': 'catppuccin' }
4 | Plug 'ryanoasis/vim-devicons'
5 | Plug 'SirVer/ultisnips'
6 | Plug 'honza/vim-snippets'
7 | Plug 'scrooloose/nerdtree'
8 | Plug 'preservim/nerdcommenter'
9 | Plug 'mhinz/vim-startify'
10 | Plug 'neoclide/coc.nvim', {'branch': 'release'}
11 | Plug 'nvim-lualine/lualine.nvim'
12 | " If you want to have icons in your statusline choose one of these
13 | Plug 'nvim-tree/nvim-web-devicons'
14 | Plug 'AlphaTechnolog/pywal.nvim', { 'as': 'pywal' }
15 | call plug#end()
16 | lua << END
17 | -- Eviline config for lualine
18 | -- Author: shadmansaleh
19 | -- Credit: glepnir
20 | local lualine = require('lualine')
21 |
22 | -- Color table for highlights
23 | -- stylua: ignore
24 | local colors = {
25 | bg = '#202328',
26 | fg = '#bbc2cf',
27 | yellow = '#ECBE7B',
28 | cyan = '#008080',
29 | darkblue = '#081633',
30 | green = '#98be65',
31 | orange = '#FF8800',
32 | violet = '#a9a1e1',
33 | magenta = '#c678dd',
34 | blue = '#51afef',
35 | red = '#ec5f67',
36 | }
37 |
38 | local conditions = {
39 | buffer_not_empty = function()
40 | return vim.fn.empty(vim.fn.expand('%:t')) ~= 1
41 | end,
42 | hide_in_width = function()
43 | return vim.fn.winwidth(0) > 80
44 | end,
45 | check_git_workspace = function()
46 | local filepath = vim.fn.expand('%:p:h')
47 | local gitdir = vim.fn.finddir('.git', filepath .. ';')
48 | return gitdir and #gitdir > 0 and #gitdir < #filepath
49 | end,
50 | }
51 |
52 | -- Config
53 | local config = {
54 | options = {
55 | -- Disable sections and component separators
56 | component_separators = '',
57 | section_separators = '',
58 | theme = {
59 | -- We are going to use lualine_c an lualine_x as left and
60 | -- right section. Both are highlighted by c theme . So we
61 | -- are just setting default looks o statusline
62 | normal = { c = { fg = colors.fg, bg = colors.bg } },
63 | inactive = { c = { fg = colors.fg, bg = colors.bg } },
64 | },
65 | },
66 | sections = {
67 | -- these are to remove the defaults
68 | lualine_a = {},
69 | lualine_b = {},
70 | lualine_y = {},
71 | lualine_z = {},
72 | -- These will be filled later
73 | lualine_c = {},
74 | lualine_x = {},
75 | },
76 | inactive_sections = {
77 | -- these are to remove the defaults
78 | lualine_a = {},
79 | lualine_b = {},
80 | lualine_y = {},
81 | lualine_z = {},
82 | lualine_c = {},
83 | lualine_x = {},
84 | },
85 | }
86 |
87 | -- Inserts a component in lualine_c at left section
88 | local function ins_left(component)
89 | table.insert(config.sections.lualine_c, component)
90 | end
91 |
92 | -- Inserts a component in lualine_x at right section
93 | local function ins_right(component)
94 | table.insert(config.sections.lualine_x, component)
95 | end
96 |
97 | ins_left {
98 | function()
99 | return '▊'
100 | end,
101 | color = { fg = colors.blue }, -- Sets highlighting of component
102 | padding = { left = 0, right = 1 }, -- We don't need space before this
103 | }
104 |
105 | ins_left {
106 | -- mode component
107 | function()
108 | return ''
109 | end,
110 | color = function()
111 | -- auto change color according to neovims mode
112 | local mode_color = {
113 | n = colors.red,
114 | i = colors.green,
115 | v = colors.blue,
116 | [''] = colors.blue,
117 | V = colors.blue,
118 | c = colors.magenta,
119 | no = colors.red,
120 | s = colors.orange,
121 | S = colors.orange,
122 | [''] = colors.orange,
123 | ic = colors.yellow,
124 | R = colors.violet,
125 | Rv = colors.violet,
126 | cv = colors.red,
127 | ce = colors.red,
128 | r = colors.cyan,
129 | rm = colors.cyan,
130 | ['r?'] = colors.cyan,
131 | ['!'] = colors.red,
132 | t = colors.red,
133 | }
134 | return { fg = mode_color[vim.fn.mode()] }
135 | end,
136 | padding = { right = 1 },
137 | }
138 |
139 | ins_left {
140 | -- filesize component
141 | 'filesize',
142 | cond = conditions.buffer_not_empty,
143 | }
144 |
145 | ins_left {
146 | 'filename',
147 | cond = conditions.buffer_not_empty,
148 | color = { fg = colors.magenta, gui = 'bold' },
149 | }
150 |
151 | ins_left { 'location' }
152 |
153 | ins_left { 'progress', color = { fg = colors.fg, gui = 'bold' } }
154 |
155 | ins_left {
156 | 'diagnostics',
157 | sources = { 'nvim_diagnostic' },
158 | symbols = { error = ' ', warn = ' ', info = ' ' },
159 | diagnostics_color = {
160 | color_error = { fg = colors.red },
161 | color_warn = { fg = colors.yellow },
162 | color_info = { fg = colors.cyan },
163 | },
164 | }
165 |
166 | -- Insert mid section. You can make any number of sections in neovim :)
167 | -- for lualine it's any number greater then 2
168 | ins_left {
169 | function()
170 | return '%='
171 | end,
172 | }
173 |
174 | ins_left {
175 | -- Lsp server name .
176 | function()
177 | local msg = 'No Active Lsp'
178 | local buf_ft = vim.api.nvim_buf_get_option(0, 'filetype')
179 | local clients = vim.lsp.get_active_clients()
180 | if next(clients) == nil then
181 | return msg
182 | end
183 | for _, client in ipairs(clients) do
184 | local filetypes = client.config.filetypes
185 | if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
186 | return client.name
187 | end
188 | end
189 | return msg
190 | end,
191 | icon = ' LSP:',
192 | color = { fg = '#ffffff', gui = 'bold' },
193 | }
194 |
195 | -- Add components to right sections
196 | ins_right {
197 | 'o:encoding', -- option component same as &encoding in viml
198 | fmt = string.upper, -- I'm not sure why it's upper case either ;)
199 | cond = conditions.hide_in_width,
200 | color = { fg = colors.green, gui = 'bold' },
201 | }
202 |
203 | ins_right {
204 | 'fileformat',
205 | fmt = string.upper,
206 | icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh
207 | color = { fg = colors.green, gui = 'bold' },
208 | }
209 |
210 | ins_right {
211 | 'branch',
212 | icon = '',
213 | color = { fg = colors.violet, gui = 'bold' },
214 | }
215 |
216 | ins_right {
217 | 'diff',
218 | -- Is it me or the symbol for modified us really weird
219 | symbols = { added = ' ', modified = ' ', removed = ' ' },
220 | diff_color = {
221 | added = { fg = colors.green },
222 | modified = { fg = colors.orange },
223 | removed = { fg = colors.red },
224 | },
225 | cond = conditions.hide_in_width,
226 | }
227 |
228 | ins_right {
229 | function()
230 | return '▊'
231 | end,
232 | color = { fg = colors.blue },
233 | padding = { left = 1 },
234 | }
235 |
236 | -- Now don't forget to initialize lualine
237 | lualine.setup(config)
238 | END
239 |
240 |
--------------------------------------------------------------------------------
/ranger/commands.py:
--------------------------------------------------------------------------------
1 | # This is a sample commands.py. You can add your own commands here.
2 | #
3 | # Please refer to commands_full.py for all the default commands and a complete
4 | # documentation. Do NOT add them all here, or you may end up with defunct
5 | # commands when upgrading ranger.
6 |
7 | # A simple command for demonstration purposes follows.
8 | # -----------------------------------------------------------------------------
9 |
10 | from __future__ import (absolute_import, division, print_function)
11 |
12 | # You can import any python module as needed.
13 | import os
14 |
15 | # You always need to import ranger.api.commands here to get the Command class:
16 | from ranger.api.commands import Command
17 |
18 |
19 | # Any class that is a subclass of "Command" will be integrated into ranger as a
20 | # command. Try typing ":my_edit" in ranger!
21 | class my_edit(Command):
22 | # The so-called doc-string of the class will be visible in the built-in
23 | # help that is accessible by typing "?c" inside ranger.
24 | """:my_edit
25 |
26 | A sample command for demonstration purposes that opens a file in an editor.
27 | """
28 |
29 | # The execute method is called when you run this command in ranger.
30 | def execute(self):
31 | # self.arg(1) is the first (space-separated) argument to the function.
32 | # This way you can write ":my_edit somefilename".
33 | if self.arg(1):
34 | # self.rest(1) contains self.arg(1) and everything that follows
35 | target_filename = self.rest(1)
36 | else:
37 | # self.fm is a ranger.core.filemanager.FileManager object and gives
38 | # you access to internals of ranger.
39 | # self.fm.thisfile is a ranger.container.file.File object and is a
40 | # reference to the currently selected file.
41 | target_filename = self.fm.thisfile.path
42 |
43 | # This is a generic function to print text in ranger.
44 | self.fm.notify("Let's edit the file " + target_filename + "!")
45 |
46 | # Using bad=True in fm.notify allows you to print error messages:
47 | if not os.path.exists(target_filename):
48 | self.fm.notify("The given file does not exist!", bad=True)
49 | return
50 |
51 | # This executes a function from ranger.core.acitons, a module with a
52 | # variety of subroutines that can help you construct commands.
53 | # Check out the source, or run "pydoc ranger.core.actions" for a list.
54 | self.fm.edit_file(target_filename)
55 |
56 | # The tab method is called when you press tab, and should return a list of
57 | # suggestions that the user will tab through.
58 | # tabnum is 1 for and -1 for by default
59 | def tab(self, tabnum):
60 | # This is a generic tab-completion function that iterates through the
61 | # content of the current directory.
62 | return self._tab_directory_content()
63 |
--------------------------------------------------------------------------------
/ranger/rc.conf:
--------------------------------------------------------------------------------
1 | # ===================================================================
2 | # This file contains the default startup commands for ranger.
3 | # To change them, it is recommended to create either /etc/ranger/rc.conf
4 | # (system-wide) or ~/.config/ranger/rc.conf (per user) and add your custom
5 | # commands there.
6 | #
7 | # If you copy this whole file there, you may want to set the environment
8 | # variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice.
9 | #
10 | # The purpose of this file is mainly to define keybindings and settings.
11 | # For running more complex python code, please create a plugin in "plugins/" or
12 | # a command in "commands.py".
13 | #
14 | # Each line is a command that will be run before the user interface
15 | # is initialized. As a result, you can not use commands which rely
16 | # on the UI such as :delete or :mark.
17 | # ===================================================================
18 |
19 | # ===================================================================
20 | # == Options
21 | # ===================================================================
22 |
23 | # Which viewmode should be used? Possible values are:
24 | # miller: Use miller columns which show multiple levels of the hierarchy
25 | # multipane: Midnight-commander like multipane view showing all tabs next
26 | # to each other
27 | set viewmode miller
28 | #set viewmode multipane
29 |
30 | # How many columns are there, and what are their relative widths?
31 | set column_ratios 1,3,4
32 |
33 | # Which files should be hidden? (regular expression)
34 | set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
35 |
36 | # Show hidden files? You can toggle this by typing 'zh'
37 | set show_hidden false
38 |
39 | # Ask for a confirmation when running the "delete" command?
40 | # Valid values are "always", "never", "multiple" (default)
41 | # With "multiple", ranger will ask only if you delete multiple files at once.
42 | set confirm_on_delete multiple
43 |
44 | # Use non-default path for file preview script?
45 | # ranger ships with scope.sh, a script that calls external programs (see
46 | # README.md for dependencies) to preview images, archives, etc.
47 | #set preview_script ~/.config/ranger/scope.sh
48 |
49 | # Use the external preview script or display simple plain text or image previews?
50 | set use_preview_script true
51 |
52 | # Automatically count files in the directory, even before entering them?
53 | set automatically_count_files true
54 |
55 | # Open all images in this directory when running certain image viewers
56 | # like feh or sxiv? You can still open selected files by marking them.
57 | set open_all_images true
58 |
59 | # Be aware of version control systems and display information.
60 | set vcs_aware false
61 |
62 | # State of the four backends git, hg, bzr, svn. The possible states are
63 | # disabled, local (only show local info), enabled (show local and remote
64 | # information).
65 | set vcs_backend_git enabled
66 | set vcs_backend_hg disabled
67 | set vcs_backend_bzr disabled
68 | set vcs_backend_svn disabled
69 |
70 | # Truncate the long commit messages to this length when shown in the statusbar.
71 | set vcs_msg_length 50
72 |
73 | # Use one of the supported image preview protocols
74 | set preview_images true
75 |
76 | # Set the preview image method. Supported methods:
77 | #
78 | # * w3m (default):
79 | # Preview images in full color with the external command "w3mimgpreview"?
80 | # This requires the console web browser "w3m" and a supported terminal.
81 | # It has been successfully tested with "xterm" and "urxvt" without tmux.
82 | #
83 | # * iterm2:
84 | # Preview images in full color using iTerm2 image previews
85 | # (http://iterm2.com/images.html). This requires using iTerm2 compiled
86 | # with image preview support.
87 | #
88 | # This feature relies on the dimensions of the terminal's font. By default, a
89 | # width of 8 and height of 11 are used. To use other values, set the options
90 | # iterm2_font_width and iterm2_font_height to the desired values.
91 | #
92 | # * terminology:
93 | # Previews images in full color in the terminology terminal emulator.
94 | # Supports a wide variety of formats, even vector graphics like svg.
95 | #
96 | # * urxvt:
97 | # Preview images in full color using urxvt image backgrounds. This
98 | # requires using urxvt compiled with pixbuf support.
99 | #
100 | # * urxvt-full:
101 | # The same as urxvt but utilizing not only the preview pane but the
102 | # whole terminal window.
103 | #
104 | # * kitty:
105 | # Preview images in full color using kitty image protocol.
106 | # Requires python PIL or pillow library.
107 | # If ranger does not share the local filesystem with kitty
108 | # the transfer method is changed to encode the whole image;
109 | # while slower, this allows remote previews,
110 | # for example during an ssh session.
111 | # Tmux is unsupported.
112 | #
113 | # * ueberzug:
114 | # Preview images in full color with the external command "ueberzug".
115 | # Images are shown by using a child window.
116 | # Only for users who run X11 in GNU/Linux.
117 | set preview_images_method kitty
118 |
119 | # Delay in seconds before displaying an image with the w3m method.
120 | # Increase it in case of experiencing display corruption.
121 | set w3m_delay 0.02
122 |
123 | # Manually adjust the w3mimg offset when using a terminal which needs this
124 | set w3m_offset 0
125 |
126 | # Default iTerm2 font size (see: preview_images_method: iterm2)
127 | set iterm2_font_width 8
128 | set iterm2_font_height 11
129 |
130 | # Use a unicode "..." character to mark cut-off filenames?
131 | set unicode_ellipsis false
132 |
133 | # BIDI support - try to properly display file names in RTL languages (Hebrew, Arabic).
134 | # Requires the python-bidi pip package
135 | set bidi_support false
136 |
137 | # Show dotfiles in the bookmark preview box?
138 | set show_hidden_bookmarks true
139 |
140 | # Which colorscheme to use? These colorschemes are available by default:
141 | # default, jungle, snow, solarized
142 | set colorscheme default
143 |
144 | # Preview files on the rightmost column?
145 | # And collapse (shrink) the last column if there is nothing to preview?
146 | set preview_files true
147 | set preview_directories true
148 | set collapse_preview true
149 |
150 | # Wrap long lines in plain text previews?
151 | set wrap_plaintext_previews false
152 |
153 | # Save the console history on exit?
154 | set save_console_history true
155 |
156 | # Draw the status bar on top of the browser window (default: bottom)
157 | set status_bar_on_top false
158 |
159 | # Draw a progress bar in the status bar which displays the average state of all
160 | # currently running tasks which support progress bars?
161 | set draw_progress_bar_in_status_bar true
162 |
163 | # Draw borders around columns? (separators, outline, both, or none)
164 | # Separators are vertical lines between columns.
165 | # Outline draws a box around all the columns.
166 | # Both combines the two.
167 | set draw_borders none
168 |
169 | # Display the directory name in tabs?
170 | set dirname_in_tabs false
171 |
172 | # Enable the mouse support?
173 | set mouse_enabled true
174 |
175 | # Display the file size in the main column or status bar?
176 | set display_size_in_main_column true
177 | set display_size_in_status_bar true
178 |
179 | # Display the free disk space in the status bar?
180 | set display_free_space_in_status_bar true
181 |
182 | # Display files tags in all columns or only in main column?
183 | set display_tags_in_all_columns true
184 |
185 | # Set a title for the window? Updates both `WM_NAME` and `WM_ICON_NAME`
186 | set update_title false
187 |
188 | # Set the tmux/screen window-name to "ranger"?
189 | set update_tmux_title true
190 |
191 | # Shorten the title if it gets long? The number defines how many
192 | # directories are displayed at once, 0 turns off this feature.
193 | set shorten_title 3
194 |
195 | # Show hostname in titlebar?
196 | set hostname_in_titlebar true
197 |
198 | # Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
199 | set tilde_in_titlebar false
200 |
201 | # How many directory-changes or console-commands should be kept in history?
202 | set max_history_size 20
203 | set max_console_history_size 50
204 |
205 | # Try to keep so much space between the top/bottom border when scrolling:
206 | set scroll_offset 8
207 |
208 | # Flush the input after each key hit? (Noticeable when ranger lags)
209 | set flushinput true
210 |
211 | # Padding on the right when there's no preview?
212 | # This allows you to click into the space to run the file.
213 | set padding_right true
214 |
215 | # Save bookmarks (used with mX and `X) instantly?
216 | # This helps to synchronize bookmarks between multiple ranger
217 | # instances but leads to *slight* performance loss.
218 | # When false, bookmarks are saved when ranger is exited.
219 | set autosave_bookmarks true
220 |
221 | # Save the "`" bookmark to disk. This can be used to switch to the last
222 | # directory by typing "``".
223 | set save_backtick_bookmark true
224 |
225 | # You can display the "real" cumulative size of directories by using the
226 | # command :get_cumulative_size or typing "dc". The size is expensive to
227 | # calculate and will not be updated automatically. You can choose
228 | # to update it automatically though by turning on this option:
229 | set autoupdate_cumulative_size false
230 |
231 | # Turning this on makes sense for screen readers:
232 | set show_cursor false
233 |
234 | # One of: size, natural, basename, atime, ctime, mtime, type, random
235 | set sort natural
236 |
237 | # Additional sorting options
238 | set sort_reverse false
239 | set sort_case_insensitive true
240 | set sort_directories_first true
241 | set sort_unicode false
242 |
243 | # Enable this if key combinations with the Alt Key don't work for you.
244 | # (Especially on xterm)
245 | set xterm_alt_key false
246 |
247 | # Whether to include bookmarks in cd command
248 | set cd_bookmarks true
249 |
250 | # Changes case sensitivity for the cd command tab completion
251 | set cd_tab_case sensitive
252 |
253 | # Use fuzzy tab completion with the "cd" command. For example,
254 | # ":cd /u/lo/b" expands to ":cd /usr/local/bin".
255 | set cd_tab_fuzzy false
256 |
257 | # Avoid previewing files larger than this size, in bytes. Use a value of 0 to
258 | # disable this feature.
259 | set preview_max_size 0
260 |
261 | # The key hint lists up to this size have their sublists expanded.
262 | # Otherwise the submaps are replaced with "...".
263 | set hint_collapse_threshold 10
264 |
265 | # Add the highlighted file to the path in the titlebar
266 | set show_selection_in_titlebar true
267 |
268 | # The delay that ranger idly waits for user input, in milliseconds, with a
269 | # resolution of 100ms. Lower delay reduces lag between directory updates but
270 | # increases CPU load.
271 | set idle_delay 2000
272 |
273 | # When the metadata manager module looks for metadata, should it only look for
274 | # a ".metadata.json" file in the current directory, or do a deep search and
275 | # check all directories above the current one as well?
276 | set metadata_deep_search false
277 |
278 | # Clear all existing filters when leaving a directory
279 | set clear_filters_on_dir_change false
280 |
281 | # Disable displaying line numbers in main column.
282 | # Possible values: false, absolute, relative.
283 | set line_numbers false
284 |
285 | # When line_numbers=relative show the absolute line number in the
286 | # current line.
287 | set relative_current_zero false
288 |
289 | # Start line numbers from 1 instead of 0
290 | set one_indexed false
291 |
292 | # Save tabs on exit
293 | set save_tabs_on_exit false
294 |
295 | # Enable scroll wrapping - moving down while on the last item will wrap around to
296 | # the top and vice versa.
297 | set wrap_scroll false
298 |
299 | # Set the global_inode_type_filter to nothing. Possible options: d, f and l for
300 | # directories, files and symlinks respectively.
301 | set global_inode_type_filter
302 |
303 | # This setting allows to freeze the list of files to save I/O bandwidth. It
304 | # should be 'false' during start-up, but you can toggle it by pressing F.
305 | set freeze_files false
306 |
307 | # Print file sizes in bytes instead of the default human-readable format.
308 | set size_in_bytes false
309 |
310 | # Warn at startup if RANGER_LEVEL env var is greater than 0, in other words
311 | # give a warning when you nest ranger in a subshell started by ranger.
312 | # Special value "error" makes the warning more visible.
313 | set nested_ranger_warning true
314 |
315 | # ===================================================================
316 | # == Local Options
317 | # ===================================================================
318 | # You can set local options that only affect a single directory.
319 |
320 | # Examples:
321 | # setlocal path=~/downloads sort mtime
322 |
323 | # ===================================================================
324 | # == Command Aliases in the Console
325 | # ===================================================================
326 |
327 | alias e edit
328 | alias q quit
329 | alias q! quit!
330 | alias qa quitall
331 | alias qa! quitall!
332 | alias qall quitall
333 | alias qall! quitall!
334 | alias setl setlocal
335 |
336 | alias filter scout -prts
337 | alias find scout -aets
338 | alias mark scout -mr
339 | alias unmark scout -Mr
340 | alias search scout -rs
341 | alias search_inc scout -rts
342 | alias travel scout -aefklst
343 |
344 | # ===================================================================
345 | # == Define keys for the browser
346 | # ===================================================================
347 |
348 | # Basic
349 | map Q quitall
350 | map q quit
351 | copymap q ZZ ZQ
352 |
353 | map R reload_cwd
354 | map F set freeze_files!
355 | map reset
356 | map redraw_window
357 | map abort
358 | map change_mode normal
359 | map ~ set viewmode!
360 |
361 | map i display_file
362 | map scroll_preview 1
363 | map scroll_preview -1
364 | map ? help
365 | map W display_log
366 | map w taskview_open
367 | map S shell $SHELL
368 |
369 | map : console
370 | map ; console
371 | map ! console shell%space
372 | map @ console -p6 shell %%s
373 | map # console shell -p%space
374 | map s console shell%space
375 | map r chain draw_possible_programs; console open_with%space
376 | map f console find%space
377 | map cd console cd%space
378 |
379 | map chain console; eval fm.ui.console.history_move(-1)
380 |
381 | # Change the line mode
382 | map Mf linemode filename
383 | map Mi linemode fileinfo
384 | map Mm linemode mtime
385 | map Mh linemode humanreadablemtime
386 | map Mp linemode permissions
387 | map Ms linemode sizemtime
388 | map MH linemode sizehumanreadablemtime
389 | map Mt linemode metatitle
390 |
391 | # Tagging / Marking
392 | map t tag_toggle
393 | map ut tag_remove
394 | map " tag_toggle tag=%any
395 | map mark_files toggle=True
396 | map v mark_files all=True toggle=True
397 | map uv mark_files all=True val=False
398 | map V toggle_visual_mode
399 | map uV toggle_visual_mode reverse=True
400 |
401 | # For the nostalgics: Midnight Commander bindings
402 | map help
403 | map rename_append
404 | map display_file
405 | map edit
406 | map copy
407 | map cut
408 | map console mkdir%space
409 | map console delete
410 | #map console trash
411 | map exit
412 |
413 | # In case you work on a keyboard with dvorak layout
414 | map move up=1
415 | map move down=1
416 | map move left=1
417 | map move right=1
418 | map move to=0
419 | map move to=-1
420 | map move down=1 pages=True
421 | map move up=1 pages=True
422 | map move right=1
423 | #map console delete
424 | map console touch%space
425 |
426 | # VIM-like
427 | copymap k
428 | copymap j
429 | copymap h
430 | copymap l
431 | copymap gg
432 | copymap G
433 | copymap
434 | copymap
435 |
436 | map J move down=0.5 pages=True
437 | map K move up=0.5 pages=True
438 | copymap J
439 | copymap K
440 |
441 | # Jumping around
442 | map H history_go -1
443 | map L history_go 1
444 | map ] move_parent 1
445 | map [ move_parent -1
446 | map } traverse
447 | map { traverse_backwards
448 | map ) jump_non
449 |
450 | map gh cd ~
451 | map ge cd /etc
452 | map gu cd /usr
453 | map gd cd /dev
454 | map gl cd -r .
455 | map gL cd -r %f
456 | map go cd /opt
457 | map gv cd /var
458 | map gm cd /media
459 | map gi eval fm.cd('/run/media/' + os.getenv('USER'))
460 | map gM cd /mnt
461 | map gs cd /srv
462 | map gp cd /tmp
463 | map gr cd /
464 | map gR eval fm.cd(ranger.RANGERDIR)
465 | map g/ cd /
466 | map g? cd /usr/share/doc/ranger
467 |
468 | # External Programs
469 | map E edit
470 | map du shell -p du --max-depth=1 -h --apparent-size
471 | map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
472 | map yp yank path
473 | map yd yank dir
474 | map yn yank name
475 | map y. yank name_without_extension
476 |
477 | # Filesystem Operations
478 | map = chmod
479 |
480 | map cw console rename%space
481 | map a rename_append
482 | map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"))
483 | map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
484 |
485 | map pp paste
486 | map po paste overwrite=True
487 | map pP paste append=True
488 | map pO paste overwrite=True append=True
489 | map pl paste_symlink relative=False
490 | map pL paste_symlink relative=True
491 | map phl paste_hardlink
492 | map pht paste_hardlinked_subtree
493 | map pd console paste dest=
494 | map p` paste dest=%any_path
495 | map p' paste dest=%any_path
496 |
497 | map dD console delete
498 | map dT console trash
499 |
500 | map dd cut
501 | map ud uncut
502 | map da cut mode=add
503 | map dr cut mode=remove
504 | map dt cut mode=toggle
505 |
506 | map yy copy
507 | map uy uncut
508 | map ya copy mode=add
509 | map yr copy mode=remove
510 | map yt copy mode=toggle
511 |
512 | # Temporary workarounds
513 | map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
514 | map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
515 | map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
516 | map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
517 | map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
518 | map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
519 | map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
520 | map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
521 |
522 | # Searching
523 | map / console search%space
524 | map n search_next
525 | map N search_next forward=False
526 | map ct search_next order=tag
527 | map cs search_next order=size
528 | map ci search_next order=mimetype
529 | map cc search_next order=ctime
530 | map cm search_next order=mtime
531 | map ca search_next order=atime
532 |
533 | # Tabs
534 | map tab_new
535 | map tab_close
536 | map tab_move 1
537 | map tab_move -1
538 | map tab_move 1
539 | map tab_move -1
540 | map gt tab_move 1
541 | map gT tab_move -1
542 | map gn tab_new
543 | map gc tab_close
544 | map uq tab_restore
545 | map tab_open 1
546 | map tab_open 2
547 | map tab_open 3
548 | map tab_open 4
549 | map tab_open 5
550 | map tab_open 6
551 | map tab_open 7
552 | map tab_open 8
553 | map tab_open 9
554 | map tab_shift 1
555 | map tab_shift -1
556 |
557 | # Sorting
558 | map or set sort_reverse!
559 | map oz set sort=random
560 | map os chain set sort=size; set sort_reverse=False
561 | map ob chain set sort=basename; set sort_reverse=False
562 | map on chain set sort=natural; set sort_reverse=False
563 | map om chain set sort=mtime; set sort_reverse=False
564 | map oc chain set sort=ctime; set sort_reverse=False
565 | map oa chain set sort=atime; set sort_reverse=False
566 | map ot chain set sort=type; set sort_reverse=False
567 | map oe chain set sort=extension; set sort_reverse=False
568 |
569 | map oS chain set sort=size; set sort_reverse=True
570 | map oB chain set sort=basename; set sort_reverse=True
571 | map oN chain set sort=natural; set sort_reverse=True
572 | map oM chain set sort=mtime; set sort_reverse=True
573 | map oC chain set sort=ctime; set sort_reverse=True
574 | map oA chain set sort=atime; set sort_reverse=True
575 | map oT chain set sort=type; set sort_reverse=True
576 | map oE chain set sort=extension; set sort_reverse=True
577 |
578 | map dc get_cumulative_size
579 |
580 | # Settings
581 | map zc set collapse_preview!
582 | map zd set sort_directories_first!
583 | map zh set show_hidden!
584 | map set show_hidden!
585 | copymap
586 | copymap
587 | map zI set flushinput!
588 | map zi set preview_images!
589 | map zm set mouse_enabled!
590 | map zp set preview_files!
591 | map zP set preview_directories!
592 | map zs set sort_case_insensitive!
593 | map zu set autoupdate_cumulative_size!
594 | map zv set use_preview_script!
595 | map zf console filter%space
596 | copymap zf zz
597 |
598 | # Filter stack
599 | map .d filter_stack add type d
600 | map .f filter_stack add type f
601 | map .l filter_stack add type l
602 | map .m console filter_stack add mime%space
603 | map .n console filter_stack add name%space
604 | map .# console filter_stack add hash%space
605 | map ." filter_stack add duplicate
606 | map .' filter_stack add unique
607 | map .| filter_stack add or
608 | map .& filter_stack add and
609 | map .! filter_stack add not
610 | map .r filter_stack rotate
611 | map .c filter_stack clear
612 | map .* filter_stack decompose
613 | map .p filter_stack pop
614 | map .. filter_stack show
615 |
616 | # Bookmarks
617 | map ` enter_bookmark %any
618 | map ' enter_bookmark %any
619 | map m set_bookmark %any
620 | map um unset_bookmark %any
621 |
622 | map m draw_bookmarks
623 | copymap m um ` '
624 |
625 | # Generate all the chmod bindings with some python help:
626 | eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
627 | eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
628 | eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
629 | eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
630 | eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
631 |
632 | eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
633 | eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
634 | eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
635 | eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
636 | eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
637 |
638 | # ===================================================================
639 | # == Define keys for the console
640 | # ===================================================================
641 | # Note: Unmapped keys are passed directly to the console.
642 |
643 | # Basic
644 | cmap eval fm.ui.console.tab()
645 | cmap eval fm.ui.console.tab(-1)
646 | cmap eval fm.ui.console.close()
647 | cmap eval fm.ui.console.execute()
648 | cmap redraw_window
649 |
650 | copycmap
651 | copycmap
652 |
653 | # Move around
654 | cmap eval fm.ui.console.history_move(-1)
655 | cmap eval fm.ui.console.history_move(1)
656 | cmap eval fm.ui.console.move(left=1)
657 | cmap eval fm.ui.console.move(right=1)
658 | cmap eval fm.ui.console.move(right=0, absolute=True)
659 | cmap eval fm.ui.console.move(right=-1, absolute=True)
660 | cmap eval fm.ui.console.move_word(left=1)
661 | cmap eval fm.ui.console.move_word(right=1)
662 |
663 | copycmap
664 | copycmap
665 |
666 | # Line Editing
667 | cmap eval fm.ui.console.delete(-1)
668 | cmap eval fm.ui.console.delete(0)
669 | cmap eval fm.ui.console.delete_word()
670 | cmap eval fm.ui.console.delete_word(backward=False)
671 | cmap eval fm.ui.console.delete_rest(1)
672 | cmap eval fm.ui.console.delete_rest(-1)
673 | cmap eval fm.ui.console.paste()
674 |
675 | # And of course the emacs way
676 | copycmap
677 | copycmap
678 | copycmap
679 | copycmap
680 | copycmap
681 | copycmap
682 | copycmap
683 | copycmap
684 | copycmap
685 |
686 | # Note: There are multiple ways to express backspaces. (code 263)
687 | # and (code 127). To be sure, use both.
688 | copycmap
689 |
690 | # This special expression allows typing in numerals:
691 | cmap false
692 |
693 | # ===================================================================
694 | # == Pager Keybindings
695 | # ===================================================================
696 |
697 | # Movement
698 | pmap pager_move down=1
699 | pmap pager_move up=1
700 | pmap pager_move left=4
701 | pmap pager_move right=4
702 | pmap pager_move to=0
703 | pmap pager_move to=-1
704 | pmap pager_move down=1.0 pages=True
705 | pmap pager_move up=1.0 pages=True
706 | pmap pager_move down=0.5 pages=True
707 | pmap pager_move up=0.5 pages=True
708 |
709 | copypmap k
710 | copypmap j
711 | copypmap h
712 | copypmap l
713 | copypmap g
714 | copypmap G
715 | copypmap d
716 | copypmap u
717 | copypmap n f
718 | copypmap p b
719 |
720 | # Basic
721 | pmap redraw_window
722 | pmap pager_close
723 | copypmap q Q i
724 | pmap E edit_file
725 |
726 | # ===================================================================
727 | # == Taskview Keybindings
728 | # ===================================================================
729 |
730 | # Movement
731 | tmap taskview_move up=1
732 | tmap taskview_move down=1
733 | tmap taskview_move to=0
734 | tmap taskview_move to=-1
735 | tmap taskview_move down=1.0 pages=True
736 | tmap taskview_move up=1.0 pages=True
737 | tmap taskview_move down=0.5 pages=True
738 | tmap taskview_move up=0.5 pages=True
739 |
740 | copytmap k
741 | copytmap j
742 | copytmap g
743 | copytmap G
744 | copytmap u
745 | copytmap n f
746 | copytmap p b
747 |
748 | # Changing priority and deleting tasks
749 | tmap J eval -q fm.ui.taskview.task_move(-1)
750 | tmap K eval -q fm.ui.taskview.task_move(0)
751 | tmap dd eval -q fm.ui.taskview.task_remove()
752 | tmap eval -q fm.ui.taskview.task_move(-1)
753 | tmap eval -q fm.ui.taskview.task_move(0)
754 | tmap eval -q fm.ui.taskview.task_remove()
755 |
756 | # Basic
757 | tmap redraw_window
758 | tmap taskview_close
759 | copytmap q Q w
760 |
--------------------------------------------------------------------------------
/ranger/rifle.conf:
--------------------------------------------------------------------------------
1 | # vim: ft=cfg
2 | #
3 | # This is the configuration file of "rifle", ranger's file executor/opener.
4 | # Each line consists of conditions and a command. For each line the conditions
5 | # are checked and if they are met, the respective command is run.
6 | #
7 | # Syntax:
8 | # , , ... = command
9 | #
10 | # The command can contain these environment variables:
11 | # $1-$9 | The n-th selected file
12 | # $@ | All selected files
13 | #
14 | # If you use the special command "ask", rifle will ask you what program to run.
15 | #
16 | # Prefixing a condition with "!" will negate its result.
17 | # These conditions are currently supported:
18 | # match | The regexp matches $1
19 | # ext | The regexp matches the extension of $1
20 | # mime | The regexp matches the mime type of $1
21 | # name | The regexp matches the basename of $1
22 | # path | The regexp matches the absolute path of $1
23 | # has | The program is installed (i.e. located in $PATH)
24 | # env | The environment variable "variable" is non-empty
25 | # file | $1 is a file
26 | # directory | $1 is a directory
27 | # number | change the number of this command to n
28 | # terminal | stdin, stderr and stdout are connected to a terminal
29 | # X | A graphical environment is available (darwin, Xorg, or Wayland)
30 | #
31 | # There are also pseudo-conditions which have a "side effect":
32 | # flag | Change how the program is run. See below.
33 | # label