Fotos von unserem Besuch im Tiergarten Schönbrunn am 5. Jänner 2020.
Fotos von unserem Besuch im Tiergarten Schönbrunn am 5. Jänner 2020.
Zum Sortieren einer Tabelle nach Datum muss dieses von Excel als „echtes“ (numerisches) Datum erkannt werden. Wenn die betreffende Spalte in einem im deutschen Sprachraum herkömmlichen Format vorliegt, z.B. dd.mm.jjjj
, ist das recht einfach mit der Funktion DATWERT
zu machen (siehe Office Support).
Wenn das Datum allerdings im US-Format m/d/y
vorliegt, ist die Umwandlung nicht so einfach. Funktioniert hat für mich letztlich folgende Formel, wenn die Zelle A1
das Datum im US-Format enthält:
=DATUM(GLÄTTEN(TEIL(WECHSELN(A1;"/";" ");21;10));GLÄTTEN(TEIL(WECHSELN(A1;"/";" ");1;10));GLÄTTEN(TEIL(WECHSELN(A1;"/";" ");11;10)))
Wenn sich der Receiver („Verstärker“) nicht mehr bedienen lässt und nur das HDMI-Lämpchen blau blinkt, deutet das darauf hin, dass sich das Gerät im „Protection Mode“ befindet. Das kommt z.B. vor, wenn der Receiver in kurzem Abstand eingeschaltet und wieder ausgeschaltet wird.
Um den Receiver aus dem Protection Mode zu holen und wieder verwendbar zu machen, muss die Auto Surround/Stream Direct-Taste ganz links unter dem Display auf dem Front Panel 5 Sekunden lang gedrückt werden und dann gleichzeitig die DVD-Taste auf der Fernbedienung gedrückt werden.
Bei mir hat’s heute jedenfalls funktioniert.
In order to use the proprietary NVIDIA driver on a MacBook Air 3,1 (11-inch, late 2010) with the NVIDIA GeForce 320M chipset booting openSUSE Leap 42.1 in EFI mode, create the file /etc/grub.d/01_enable_vga.conf
with the following content:
#!/bin/sh set -e # Initialize the PCI-E registers of MBA 3,1 for the nvidia driver cat << EOF btrfs-mount-subvol /dev/sda3 /boot/grub2/x86_64-efi /@/boot/grub2/x86_64-efi insmod setpci setpci -s "00:17.0" 3e.b=8 setpci -s "02:00.0" 04.b=7 EOF
and run grub2-mkconfig -o /boot/grub2/grub.cfg
to update the bootloader configuration. Be aware that you might need to determine the PCI bus ids for your machine first by running lshw -businfo -class bridge -class display
as described in this post on askubuntu. (Please note that using only the setpci
command as suggested in that post for Ubuntu systems does not suffice on openSUSE systems, because on this system the setpci functionality is provided as a separate GRUB module and must be loaded explicitly with the insmod
command; since the GRUB modules are not installed on the boot partition, their location has to be mounted first using the btrfs-mount-subvol
command.)
Reboot and verify that the settings have actually been applied by running the setpci command on the command line as root without the part after the equal sign (e.g. setpci -s "00:17.0" 3e.b
). This should return the values assigned before, i.e. 8 or 7 respectively.
Then proceed installing the nvidia driver by choosing the appropriate package on the openSUSE Community website. In my case (NVIDIA GeForce 320M), that means choosing the „Geforce 8 series and later“ option.
Using the i3 tiling window manager on two screens („outputs“) can be challenging. The number of workspaces grows twice as fast than with a single screen setup and it is easy to lose track of the numbers and contents of workspaces. For me personally it is more intuitive to remember a certain sequence of workspaces on each screen, which seemingly extends above and below the workspace presently displayed. (It may be that this intuition has been coined by using the GNOME Shell over extended periods.)
In order to achieve a comparable user experience within i3, I use the following Python script with the keybindings presented below. The script is inspired by an article on the i3 homepage by user captnfab. It has one dependency: ziberna/i3-py, which can be installed with pip3 install i3-py
. As is apparent from the keybindings, Ctrl+Alt+Up/Down are used to switch the present workspace on the focused output. With the same keys together with +Shift you can take the focused window with you.
#!/usr/bin/python3 # # i3-switch-workspace.py # by Fabian Stanke # # Sequentially switch workspaces on present output import i3 import argparse parser = argparse.ArgumentParser( description='i3 workspace switcher.') parser.add_argument( '--move', action='store_true', help='take the focused container with you when moving.') parser.add_argument( 'direction', choices=['next', 'prev'], help='defines in which direction to switch.') args = parser.parse_args() workspaces = i3.get_workspaces() # Determine focused workspace (and thus the focused output) focused_ws = next((w for w in workspaces if w['focused'])) # Collect all workspaces of the focused output ws_names = list(w['name'] for w in workspaces if w['output'] == focused_ws['output']) # Determine position of focused worspace in that collection idx = ws_names.index(focused_ws['name']) target = focused_ws['name'] if args.direction == 'next': # Determine next workspace if (idx + 1 < len(ws_names)): target = ws_names[idx + 1] else: # Determine last number used on this output maxidx = 1 # Determine unused numbers used = {} for w in workspaces: try: widx = int(w['name']) used[widx] = True if w['output'] == focused_ws['output']: maxidx = max(widx, maxidx) except: continue # Increment to create new name while used.get(maxidx, False): print(maxidx) maxidx += 1 target = str(maxidx) elif args.direction == 'prev': # Determine previous workspace if (idx - 1 >= 0): target = ws_names[idx - 1] #else remain at first workspace if args.move: # Move the focused container to the target workspace first i3.command('move', 'container to workspace ' + target) # Switch #print("switch to " + target) i3.workspace(target)
My preferred keybindings to actually use the above script are:
bindsym Ctrl+Mod1+Down exec i3-switch-workspace.py next bindsym Ctrl+Mod1+Up exec i3-switch-workspace.py prev bindsym Ctrl+Mod1+Shift+Down exec i3-switch-workspace.py --move next bindsym Ctrl+Mod1+Shift+Up exec i3-switch-workspace.py --move prev